OpenBSD CVS

CVS log for src/sys/net/Attic/netisr.c


[BACK] Up to [local] / src / sys / net

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.10.2.1 / (download) - annotate - [select for diffs], Thu Jul 14 11:13:13 2016 UTC (7 years, 10 months ago) by mpi
Branch: OPENBSD_5_9
Changes since 1.10: +5 -0 lines
Diff to previous 1.10 (colored) next main 1.11 (colored)

Backport ARP race fix:

Move ARP processing back to the KERNEL_LOCK()ed task until the race
triggered by updating a cached, but removed from the table, entry is
properly fixed.

Diff from dlg@, prodding deraadt@

Revision 1.11, Tue May 3 14:52:39 2016 UTC (8 years, 1 month ago) by mpi
Branch: MAIN
CVS Tags: HEAD
Changes since 1.10: +0 -0 lines
FILE REMOVED

Stop using a soft-interrupt context to process incoming network packets.

Use a new task that runs holding the KERNEL_LOCK to execute mp-unsafe
code.  Our current goal is to progressively move input functions to the
unlocked task.

This gives a small performance boost confirmed by Hrvoje Popovski's
IPv4 forwarding measurement:

before:					after:

send           receive			send           receive
400kpps        400kpps                  400kpps        400kpps
500kpps        500kpps                  500kpps        500kpps
600kpps        600kpps                  600kpps        600kpps
650kpps        650kpps                  650kpps        640kpps
700kpps        700kpps                  700kpps        700kpps
720kpps        640kpps                  720kpps        710kpps
800kpps        640kpps                  800kpps        650kpps
1.4Mpps        570kpps                  1.4Mpps        590kpps
14Mpps         570kpps                  14Mpps         590kpps


ok kettenis@, bluhm@, dlg@

Revision 1.10 / (download) - annotate - [select for diffs], Fri Jan 8 13:53:24 2016 UTC (8 years, 5 months ago) by mpi
Branch: MAIN
CVS Tags: OPENBSD_5_9_BASE
Branch point for: OPENBSD_5_9
Changes since 1.9: +0 -5 lines
Diff to previous 1.9 (colored)

Get rid of the arp and revarp input queues.

Packets of types ARP and REVARP are now processed in the softnet task,
directly from ether_input() and without holding the KERNEL_LOCK.

Tested by many, ok dlg@

Revision 1.9 / (download) - annotate - [select for diffs], Sat Dec 5 10:07:55 2015 UTC (8 years, 6 months ago) by tedu
Branch: MAIN
Changes since 1.8: +1 -1 lines
Diff to previous 1.8 (colored)

remove old lint annotations

Revision 1.8 / (download) - annotate - [select for diffs], Thu Dec 3 12:22:51 2015 UTC (8 years, 6 months ago) by dlg
Branch: MAIN
Changes since 1.7: +0 -2 lines
Diff to previous 1.7 (colored)

rework if_start to allow nics to provide an mpsafe start routine.

existing start routines will still be called under the kernel lock
and at IPL_NET.

mpsafe start routines will be serialised so only one instance of
each interfaces function will be running in the kernel at any point
in time. this guarantees packets will be dequeued in order, and the
start routines dont have to lock against themselves because if_start
does it for them.

the code to do that is based on the scsi runqueue code.

this also provides an if_start_barrier() function that should wait
until any currently running instances of if_start have finished.

a driver can opt in to the mpsafe if_start call by doing the following:

1. setting ifp->if_xflags = IFXF_MPSAFE
2. only calling if_start() instead of its own start routine
3. clearing IFF_RUNNING before calling if_start_barrier() on its way down
4. only using IFQ_DEQUEUE (not ifq_deq_begin/commit/rollback)

to simplify the implementation the tx mitigation code has been removed.

tested by several
ok mpi@ jmatthew@

Revision 1.7 / (download) - annotate - [select for diffs], Mon Jul 20 21:16:39 2015 UTC (8 years, 10 months ago) by rzalamena
Branch: MAIN
CVS Tags: OPENBSD_5_8_BASE, OPENBSD_5_8
Changes since 1.6: +0 -4 lines
Diff to previous 1.6 (colored)

Kill NETISR_MPLS, from now on we will use interface input handlers to deal
with MPLS packets.

ok mpi@, claudio@

Revision 1.6 / (download) - annotate - [select for diffs], Fri Dec 19 17:14:40 2014 UTC (9 years, 5 months ago) by tedu
Branch: MAIN
CVS Tags: OPENBSD_5_7_BASE, OPENBSD_5_7
Changes since 1.5: +0 -2 lines
Diff to previous 1.5 (colored)

unifdef INET in net code as a precursor to removing the pretend option.
long live the one true internet.
ok henning mikeb

Revision 1.5 / (download) - annotate - [select for diffs], Fri Jul 11 21:54:38 2014 UTC (9 years, 11 months ago) by tedu
Branch: MAIN
CVS Tags: OPENBSD_5_6_BASE, OPENBSD_5_6
Changes since 1.4: +0 -6 lines
Diff to previous 1.4 (colored)

"It's not the years, honey; it's the mileage."

bluetooth support doesn't work and isn't going anywhere. the current
design is a dead end, and should not be the basis for any future support.
general consensus says to whack it so as to not mislead the unwary.

Revision 1.4 / (download) - annotate - [select for diffs], Wed Jan 22 04:03:06 2014 UTC (10 years, 4 months ago) by dlg
Branch: MAIN
CVS Tags: OPENBSD_5_5_BASE, OPENBSD_5_5
Changes since 1.3: +10 -6 lines
Diff to previous 1.3 (colored)

do the tx and pfsync handlers only once on the way out of netisr
instead of in every loop.

tested for a long time on many machines at work.
ok henning@

Revision 1.3 / (download) - annotate - [select for diffs], Tue Aug 20 09:14:24 2013 UTC (10 years, 9 months ago) by mpi
Branch: MAIN
Changes since 1.2: +0 -4 lines
Diff to previous 1.2 (colored)

tedu netnatm and ueagle(4).

ok mikeb@, sthen@, tedu@ (implied), doc bits ok jmc@

Revision 1.2 / (download) - annotate - [select for diffs], Sat Jul 9 00:47:18 2011 UTC (12 years, 11 months ago) by henning
Branch: MAIN
CVS Tags: OPENBSD_5_4_BASE, OPENBSD_5_4, OPENBSD_5_3_BASE, OPENBSD_5_3, OPENBSD_5_2_BASE, OPENBSD_5_2, OPENBSD_5_1_BASE, OPENBSD_5_1, OPENBSD_5_0_BASE, OPENBSD_5_0
Changes since 1.1: +0 -4 lines
Diff to previous 1.1 (colored)

begone, fucking rotten appletalk shit. ok room

Revision 1.1 / (download) - annotate - [select for diffs], Tue Dec 21 14:56:24 2010 UTC (13 years, 5 months ago) by claudio
Branch: MAIN
CVS Tags: OPENBSD_4_9_BASE, OPENBSD_4_9

Convert netisr to a normal soft interrupt instead of hanving MD code
for it. This makes the netisr a real C function which will help further
development. No noticable performance change on i386 and amd64.
With input from kettenis@ and miod@ additional OKs mikeb@ and henning@

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.