DragonFly BSD

CVS log for src/sys/net/netisr.h

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

Request diff between arbitrary revisions


Keyword substitution: kv
Default branch: MAIN


Revision 1.38: download - view: text, markup, annotated - select for diffs
Mon Oct 27 02:56:30 2008 UTC (5 years, 8 months ago) by sephe
Branches: MAIN
CVS tags: HEAD
Diff to: previous 1.37: preferred, unified
Changes since revision 1.37: +1 -0 lines
pr_ctlinput is usually called when certains types of ICMP packets are received.
However, the processing of ICMP packets happens in netisr0, which means the
thread context, in which pr_ctlinput is called, is not correct.  To handle this
following two fixes are applied:
- Add pr_ctlport to protosw and ip6protosw, which could be used to locate
  correct msgport to call pr_ctlinput for specific protocol
- All necessary information needed by pr_ctlinput are gather into one netmsg,
  and this netmsg is delivered synchronously (some information is on the stack)

Note for new protocol implementation:
pr_ctlinput and pr_ctlport should be both NULL or both non-NULL.

Obtained-from: dillon@
Tested-by: pavalos@

Revision 1.37: download - view: text, markup, annotated - select for diffs
Wed Sep 24 14:26:38 2008 UTC (5 years, 9 months ago) by sephe
Branches: MAIN
Diff to: previous 1.36: preferred, unified
Changes since revision 1.36: +2 -1 lines
Add NETISR_FLAG_NOTMPSAFE, which could be used as the last parameter to
netisr_register(), more expressive and less error-prone than 0.

Suggested-by: hsu@

Revision 1.36: download - view: text, markup, annotated - select for diffs
Tue Sep 23 11:28:49 2008 UTC (5 years, 10 months ago) by sephe
Branches: MAIN
Diff to: previous 1.35: preferred, unified
Changes since revision 1.35: +8 -2 lines
Add following three network protocol threads running mode:
1) BGL (default)
2) Adaptive BGL.  Protocol threads run without BGL by default.  BGL will be
   held if the received msg does not have MSGF_MPSAFE turned on the ms_flags
   field
3) No BGL (experimental)

The code on the main path is done by dillon@

Following three sysctls and tunables are added to adjust the "mode":
net.netisr.mpsafe_thread
net.inet.tcp.mpsafe_thread
net.inet.udp.mpsafe_thread

They have same set of values,
0 (default) -- BGL
1 	    -- Adaptive BGL
2 	    -- No BGL



NETISR_FLAG_MPSAFE is added (netisr.ni_flags), so that:
- netisr_queue() and schednetisr() could set MSGF_MPSAFE during msg
  initialization
- netisr_run() (called by ether_input_oncpu()) could hold BGL based on this flag
  before calling netisr's handler



PR_MPSAFE is added (protosw.pr_flags), so that tranport_processing_oncpu() could
hold BGL before calling protocol's input handler



Kernel API changes:
- The thread parameter to netmsg_service_loop() must be supplied (running mode)
  and it must have the type of "int *"
- netisr_register() takes additional flags parameter to indicate whether its
  handler is MPSAFE (NETISR_FLAG_MPSAFE) or not

Reviewed-by: dillon@

Revision 1.35: download - view: text, markup, annotated - select for diffs
Wed Sep 17 07:24:18 2008 UTC (5 years, 10 months ago) by sephe
Branches: MAIN
Diff to: previous 1.34: preferred, unified
Changes since revision 1.34: +0 -1 lines
Nuke unused function

Revision 1.34: download - view: text, markup, annotated - select for diffs
Mon Jul 7 22:02:10 2008 UTC (6 years ago) by nant
Branches: MAIN
CVS tags: DragonFly_RELEASE_2_0_Slip, DragonFly_RELEASE_2_0, DragonFly_Preview
Diff to: previous 1.33: preferred, unified
Changes since revision 1.33: +1 -0 lines
Introduce experimental MPLS over ethernet support. Add 'options MPLS'
to the kernel config file to enable it. This modification increases
the footprint of each route in the FIB by 12 bytes, used to hold up
to 3 label operations per route.

Hints-from: Ayame, NiSTswitch implementations.
Reviewed-by: dillon@, sephe@, hsu@, hasso@.

Revision 1.33: download - view: text, markup, annotated - select for diffs
Mon Jun 23 11:57:19 2008 UTC (6 years, 1 month ago) by sephe
Branches: MAIN
Diff to: previous 1.32: preferred, unified
Changes since revision 1.32: +2 -0 lines
Add ether_input_chain2() which could be called by ethernet NIC drivers to
deliver packets into upper layer.  Unlike ether_input_chain(), this function
only locates the msgport for the input packets, rest of the functionalities
of ether_input_chain() are performed in the protocal threads, i.e. after
packets reaches target msgports.  This function and other related functions
are put under kernel option ETHER_INPUT2, which is _not_ enabled by default.
As of this commit, vlan(4) and ipflow don't work with ether_input_chain2().

em(4) is adapted to aware ETHER_INPUT2.

Reviewed-by: dillon@, aggelos@ (early version)

# Additional comments are added to the the reviewed patch.

Revision 1.32: download - view: text, markup, annotated - select for diffs
Tue Jun 17 20:50:11 2008 UTC (6 years, 1 month ago) by aggelos
Branches: MAIN
Diff to: previous 1.31: preferred, unified
Changes since revision 1.31: +1 -8 lines
do early copyin / delayed copyout for socket options

Revision 1.31: download - view: text, markup, annotated - select for diffs
Fri May 2 07:40:32 2008 UTC (6 years, 2 months ago) by sephe
Branches: MAIN
Diff to: previous 1.30: preferred, unified
Changes since revision 1.30: +1 -0 lines
Introduce ETHER_INPUT_CHAIN option:
1) During RXEOF, we aggregate packets, which have same target CPU, instead of
   calling lwkt_sendmsg() for each input packet.
2) At the end of RXEOF, low level ipiq sending is used to dispatch mbuf chain
   to the target CPU.
3) On the target CPU, the ipi function puts mbuf to their belonging msgport.
   Note, though lwkt_sendmsg() is used in ipi function, no further ipi activity
   will happen, since we are on target CPU.

em(4) is made to aware of this option.
This option is off by default and has no effect on vlan(4) operation.

Revision 1.30: download - view: text, markup, annotated - select for diffs
Sat Mar 29 03:37:15 2008 UTC (6 years, 3 months ago) by sephe
Branches: MAIN
Diff to: previous 1.29: preferred, unified
Changes since revision 1.29: +1 -0 lines
Add MPSAFE version of netmsg_service_loop()

Revision 1.29: download - view: text, markup, annotated - select for diffs
Sun Dec 30 20:02:56 2007 UTC (6 years, 6 months ago) by hasso
Branches: MAIN
CVS tags: DragonFly_RELEASE_1_12_Slip, DragonFly_RELEASE_1_12
Diff to: previous 1.28: preferred, unified
Changes since revision 1.28: +1 -0 lines
Kernel part of bluetooth stack ported by Dmitry Komissaroff. Very much work
in progress.

Obtained-from: NetBSD via OpenBSD

Revision 1.28: download - view: text, markup, annotated - select for diffs
Sun Sep 30 04:37:27 2007 UTC (6 years, 9 months ago) by sephe
Branches: MAIN
Diff to: previous 1.27: preferred, unified
Changes since revision 1.27: +1 -2 lines
Support polling(4) on multiple CPUs, i.e. each NIC can be assigned to a
particular CPU that supports polling(4):
- Tunable kern.polling.cpumask controls which CPU can support polling(4).
- Sysctl nodes under kern.polling.X should be used to tune polling(4)
  parameters on CPU_X.
- 'pollcpu' is added to ifconfig(8), which can be used to assign an NIC
  to a particular CPU.

Revision 1.27: download - view: text, markup, annotated - select for diffs
Sat Jun 16 15:27:27 2007 UTC (7 years, 1 month ago) by sephe
Branches: MAIN
CVS tags: DragonFly_RELEASE_1_10_Slip, DragonFly_RELEASE_1_10
Diff to: previous 1.26: preferred, unified
Changes since revision 1.26: +1 -0 lines
- In bridge_enqueue(), dispatch the mbuf to the current cpu's netisr, instead
  of calling member iface's handoff directly, so we don't need to release
  bridge's serializer to avoid possible bridge/member iface serializer dead
  lock.  Add bridge_handoff(), which calls member iface's handoff directly.
- Add bridge_pfil_enqueue(), which dispatches the mbuf to the current cpu's
  netisr.  Its netisr handler runs pfil on destination before calling member
  iface's handoff.  With the help of this fucntion, bridge's serializer no
  longer needs to be released during bridge_broadcast()'s member iface
  iteration.  Originally the serializer was released mainly to:
  o  Avoid possible bridge/member iface serializer dead lock
  o  Avoid possible recursion introduced by pfil
  These are no longer applicable to the new code.
- Factor out bridge_enqueue_internal(), which dispatches the mbuf to the
  current cpu's netisr and strips MT_TAG mbufs before the dispatching.  It
  is used by bridge_{enqueue,pfil_enqueue}()
- In bridge_forward(), reorganize pfil code to minimize bridge's temporary
  serializer releasing period:
  o  For broadcast or multicast packets, push bridge_pfil(bifp, src_if) down
     into bridge_broadcast().
  o  For unicast packets, delay bridge_pfil(bifp, src_if) until we have made
     sure that the destination interface is in working state.
- In bridge_input(), if the input iface is not changed, don't go through
  the upper half of ether_input() again.
- Declare netisr_apanic_port in netisr.h, since netmsg is embedded in mbuf,
  this declaration probably will become more useful than netisr_afree_port.

Reviewed-by: dillon@
Tested-by: dillon@

Revision 1.26: download - view: text, markup, annotated - select for diffs
Wed May 23 08:57:10 2007 UTC (7 years, 2 months ago) by dillon
Branches: MAIN
Diff to: previous 1.25: preferred, unified
Changes since revision 1.25: +38 -35 lines
* Greatly reduce the complexity of the LWKT messaging and port abstraction.
  Significantly reduce the overhead of the subsystem.

* The message abort algorithm has been rewritten.  It now sends a
  separate message to issue the abort instead of trying to requeue
  the original message.  This also means the TAILQ embedded in the
  lwkt_msg structure can be used by unrelated code during processing
  of the message.

* Numerous MSGF_ flags have been removed, and all the LWKT msg/port
  algorithms have been rewritten and simplified.  The message structure
  is now only touched by the current owner in all situations.

* Numerous structural fields have been removed.  In particular, the
  fields used for message abort sequencing have been simplified and
  we do not try to embed a 'command' field in the base LWKT message
  any more.

* Clean up the netmsg abstraction, which is used all over the network stack.
  Instead of trying to overload fields in lwkt_msg we now simply extend
  the base lwkt_msg into struct netmsg.  The function dispatch now takes
  a netmsg and returns void (before we had to return EASYNC), and we no
  longer need weird casts.

  Accept/connect message aborts are now greatly simplified.

Revision 1.25: download - view: text, markup, annotated - select for diffs
Sun Mar 4 18:51:59 2007 UTC (7 years, 4 months ago) by swildner
Branches: MAIN
Diff to: previous 1.24: preferred, unified
Changes since revision 1.24: +0 -17 lines
Remove weird license clause which has expired.

Revision 1.24: download - view: text, markup, annotated - select for diffs
Tue Jun 13 08:12:03 2006 UTC (8 years, 1 month ago) by dillon
Branches: MAIN
CVS tags: DragonFly_RELEASE_1_8_Slip, DragonFly_RELEASE_1_8, DragonFly_RELEASE_1_6_Slip, DragonFly_RELEASE_1_6
Diff to: previous 1.23: preferred, unified
Changes since revision 1.23: +1 -0 lines
Add kernel syscall support for explicit blocking and non-blocking I/O
regardless of the setting applied to the file pointer.

send/sendmsg/sendto/recv/recvmsg/recfrom: New MSG_ flags defined in
sys/socket.h may be passed to these functions to override the settings
applied to the file pointer on a per-I/O basis.

MSG_FBLOCKING	- Force the operation to be blocking
MSG_FNONBLOCKING- Force the operation to be non-blocking

pread/preadv/pwrite/pwritev: These system calls have been renamed and
wrappers will be added to libc.  The new system calls are prefixed with
a double underscore (like getcwd vs __getcwd) and include an additional
flags argument.  The new flags are defined in sys/fcntl.h and may be
used to override settings applied to the file pointer on a per-I/O basis.

Additionally, the internal __ versions of these functions now accept an
offset of -1 to mean 'degenerate into a read/readv/write/writev' (i.e.
use the offset in the file pointer and update it on completion).

O_FBLOCKING	- Force the operation to be blocking
O_FNONBLOCKING	- Force the operation to be non-blocking
O_FAPPEND	- Force the write operation to append (to a regular file)
O_FOFFSET	- (implied of the offset != -1) - offset is valid
O_FSYNCWRITE	- Force a synchronous write
O_FASYNCWRITE	- Force an asynchronous write
O_FUNBUFFERED	- Force an unbuffered operation (O_DIRECT)
O_FBUFFERED	- Force a buffered operation (negate O_DIRECT)

If the flags do not specify an operation (e.g. neither FBLOCKING or
FNONBLOCKING are set), then the settings in the file pointer are used.

The original system calls will become wrappers in libc, without the flags
arguments.  The new system calls will be made available to libc_r to allow
it to perform non-blocking I/O without having to mess with a descriptor's
file flags.

NOTE: the new __pread and __pwrite system calls are backwards compatible
with the originals due to a pad byte that libc always set to 0.
The new __preadv and __pwritev system calls are NOT backwards compatible,
but since they were added to HEAD just two months ago I have decided
to not renumber them either.

NOTE: The subrev has been bumped to 1.5.4 and installworld will refuse to
install if you are not running at least a 1.5.4 kernel.

Revision 1.23: download - view: text, markup, annotated - select for diffs
Sun May 21 03:43:45 2006 UTC (8 years, 2 months ago) by dillon
Branches: MAIN
Diff to: previous 1.22: preferred, unified
Changes since revision 1.22: +28 -7 lines
Clean up more #include files.  Create an internal __boolean_t so two or
three sys/ header files don't have to juggle the type.  Use
_KERNEL_STRUCTURES in variuos pieces of user code that delve into kvm.

Reported-by: Rumko <rumcic@gmail.com>, walt <wa1ter@myrealbox.com>

Revision 1.22: download - view: text, markup, annotated - select for diffs
Tue Jan 31 19:05:35 2006 UTC (8 years, 5 months ago) by dillon
Branches: MAIN
Diff to: previous 1.21: preferred, unified
Changes since revision 1.21: +1 -0 lines
Bring in the parallel route table code and clean up ARP.  The
route table is now replicated across all cpus (ncpus, not ncpus2).
Note that cloned routes are not replicated.

This removes one of the few remaining obstacles to being able
to run the network protocol stacks without the BGL.

Primary-Design-by: Jeffrey Hsu
Work-by: Jeffrey Hsu and Matthew Dillon

Revision 1.21: download - view: text, markup, annotated - select for diffs
Wed Jan 19 17:30:52 2005 UTC (9 years, 6 months ago) by dillon
Branches: MAIN
CVS tags: DragonFly_Stable, DragonFly_RELEASE_1_4_Slip, DragonFly_RELEASE_1_4, DragonFly_RELEASE_1_2_Slip, DragonFly_RELEASE_1_2
Diff to: previous 1.20: preferred, unified
Changes since revision 1.20: +2 -1 lines
When a PCMCIA networking card is removed the IF code may free() the network
interface before processing has completed on pending packets, leaving a
dangling pointer in the mbuf and causing a crash.

The two solutions are to either ref-count the network interface on a
per-packet basis or to synchronize against consumers of the packet.
ref-counting is very expensive in an MP system so we have chosen to
synchronize against consumers by sending a NOP message to all protocol
processing threads and waiting for it to be replied.  This only occurs when
an interface is being brought down and is not expected to introduce any
performance issues.

Crash-Reported-by: Jonathon McKitrick <jcm@FreeBSD-uk.eu.org>

Revision 1.20: download - view: text, markup, annotated - select for diffs
Sun Jul 18 16:26:41 2004 UTC (10 years ago) by dillon
Branches: MAIN
CVS tags: DragonFly_Snap29Sep2004, DragonFly_Snap13Sep2004
Diff to: previous 1.19: preferred, unified
Changes since revision 1.19: +2 -2 lines
Fix two serious bugs in the IP demux code.  First, if ip_mport() m_pullup()'s
an mbuf, the new/modified mbuf is not returned to the caller and the caller
may wind up using a stale/freed mbuf.  Second, ip_mport() was not consistently
freeding mbufs which could lead to both a memory leak and a double free.

Reported-by: YONETANI Tomokazu <qhwt+dragonfly-bugs@les.ath.cx> (panic: TCP header not in one mbuf).

Revision 1.19: download - view: text, markup, annotated - select for diffs
Thu Jul 8 22:07:34 2004 UTC (10 years ago) by hsu
Branches: MAIN
CVS tags: DragonFly_1_0_REL, DragonFly_1_0A_REL
Diff to: previous 1.18: preferred, unified
Changes since revision 1.18: +50 -0 lines
Add the standard DragonFly copyright notice to go along with mine.

Approved by:	Matt

Revision 1.18: download - view: text, markup, annotated - select for diffs
Sun Jun 27 19:40:14 2004 UTC (10 years ago) by dillon
Branches: MAIN
CVS tags: DragonFly_1_0_RC1
Diff to: previous 1.17: preferred, unified
Changes since revision 1.17: +2 -1 lines
The schednetisr() routine is supposed to be MP and interrupt safe, but wasn't
because it allocated its messages.  Instead of allocating a message use a
fixed message in the netisr structure.

Get rid of #ifdef SMP/#error.  DEVICE_POLLING now works on SMP builds.

Implement an emergency polling enable function to try to keep the system
operational in a degraded state if interrupt routing is blown.  NOTE: only
vr0 uses the feature at the moment, and DEVICE_POLLING must be enabled.

Revision 1.17: download - view: text, markup, annotated - select for diffs
Sat Apr 24 06:55:57 2004 UTC (10 years, 3 months ago) by hsu
Branches: MAIN
Diff to: previous 1.16: preferred, unified
Changes since revision 1.16: +1 -0 lines
The default protocol threads also need the check for
same thread synchronous execution.

Reported by:	YONETANI Tomokazu <qhwt+dragonfly-bugs@les.ath.cx>

Revision 1.16: download - view: text, markup, annotated - select for diffs
Wed Apr 21 18:13:51 2004 UTC (10 years, 3 months ago) by dillon
Branches: MAIN
Diff to: previous 1.15: preferred, unified
Changes since revision 1.15: +1 -1 lines
Fix a netmsg memory leak in the ARP code.  Adjust all ms_cmd function
dispatches to return a proper error code.

Reported-by: multiple people

Revision 1.15: download - view: text, markup, annotated - select for diffs
Tue Apr 20 01:52:26 2004 UTC (10 years, 3 months ago) by dillon
Branches: MAIN
Diff to: previous 1.14: preferred, unified
Changes since revision 1.14: +23 -36 lines
Revamp the initial lwkt_abortmsg() support to normalize the abstraction.  Now
a message's primary command is always processed by the target even if an
abort is requested before the target has retrieved the message from the
message port.  The message will then be requeued and the abort command copied
into lwkt_msg_t->ms_cmd.  Thus the target is always guarenteed to see the
original message and then a second, abort message (the same message with
ms_cmd = ms_abort) regardless of whether the abort was requested before
or after the target retrieved the original message.

ms_cmd is now an opaque union.  LWKT makes no assumptions as to its contents.
The NET code now stores nm_handler in ms_cmd as a function vector, and
nm_handler has been removed from all netmsg structures.

The ms_cmd function vector support nominally returns an integer error code
which is intended to support synchronous/asynchronous optimizations in the
future (to bypass messaging queueing and dequeueing in those situations
where they can be bypassed, without messing up the messaging abstraction).

The connect() predicate for which signal/abort support was added in the last
commit now uses the new abort mechanism.  Instead of having the handler
function check whether a message represents an abort or not, a different
handler vector is stored in ms_abort and run when an abort is processed
(making for an easy separation of function).

The large netmsg switch has been replaced by individual function vectors
using the new ms_cmd function vector support.  This will soon be removed
entirely in favor of direct assignment of LWKT-aware PRU vectors to the
messages command vector.

NOTE ADDITIONAL: eventually the SYSCALL, VFS, and DEV interfaces will use
the new message opaque ms_cmd 'function vector' support instead of a
command index.

Work by: Matthew Dillon and Jeffrey Hsu

Revision 1.14: download - view: text, markup, annotated - select for diffs
Sat Apr 10 09:35:34 2004 UTC (10 years, 3 months ago) by hsu
Branches: MAIN
Diff to: previous 1.13: preferred, unified
Changes since revision 1.13: +2 -2 lines
Make the declaration of notifymsglist visible outside #ifdef _KERNEL
for struct selinfo.

Reported by:	Donghui Wen <dhwen@eml.cc>
Diagnosed by:	YONETANI Tomokazu <qhwt+dragonfly-kernel@les.ath.cx>

Revision 1.13: download - view: text, markup, annotated - select for diffs
Sat Apr 10 00:48:06 2004 UTC (10 years, 3 months ago) by hsu
Branches: MAIN
Diff to: previous 1.12: preferred, unified
Changes since revision 1.12: +18 -0 lines
Add predicate message facility.

Revision 1.12: download - view: text, markup, annotated - select for diffs
Fri Apr 9 22:34:09 2004 UTC (10 years, 3 months ago) by hsu
Branches: MAIN
Diff to: previous 1.11: preferred, unified
Changes since revision 1.11: +2 -2 lines
Push the lwkt_replymsg() up one level from netisr_service_loop() to
the message handler so we can explicitly reply or not reply as appropriate.

Revision 1.11: download - view: text, markup, annotated - select for diffs
Sun Mar 14 08:21:53 2004 UTC (10 years, 4 months ago) by hsu
Branches: MAIN
Diff to: previous 1.10: preferred, unified
Changes since revision 1.10: +2 -0 lines
Make tcp_drain() per-cpu.

Revision 1.10: download - view: text, markup, annotated - select for diffs
Sun Mar 14 07:57:26 2004 UTC (10 years, 4 months ago) by hsu
Branches: MAIN
Diff to: previous 1.9: preferred, unified
Changes since revision 1.9: +2 -0 lines
Make tcp_drain() per-cpu.

Revision 1.9: download - view: text, markup, annotated - select for diffs
Sat Mar 6 19:40:30 2004 UTC (10 years, 4 months ago) by dillon
Branches: MAIN
Diff to: previous 1.8: preferred, unified
Changes since revision 1.8: +2 -2 lines
Simplify LWKT message initialization semantics to reduce API confusion.

Cleanup netisr messaging to provide more uniform error handling and to use
lwkt_replymsg() unconditionally for both async/auto-free and sync messages
as the abstraction intended.  This also fixes a reply/free race.

Revision 1.8: download - view: text, markup, annotated - select for diffs
Sat Mar 6 01:58:54 2004 UTC (10 years, 4 months ago) by hsu
Branches: MAIN
Diff to: previous 1.7: preferred, unified
Changes since revision 1.7: +67 -3 lines
Dispatch upper-half protocol request handling.

Revision 1.7: download - view: text, markup, annotated - select for diffs
Sun Nov 23 20:22:59 2003 UTC (10 years, 8 months ago) by dillon
Branches: MAIN
Diff to: previous 1.6: preferred, unified
Changes since revision 1.6: +2 -1 lines
NETISR_POLL cannot use isr 0.  Use isr 1.

Bug reported by: TC Lewis <tfox@dimension-4.dnsalias.net>

Revision 1.6: download - view: text, markup, annotated - select for diffs
Sat Nov 8 07:57:42 2003 UTC (10 years, 8 months ago) by dillon
Branches: MAIN
Diff to: previous 1.5: preferred, unified
Changes since revision 1.5: +13 -22 lines
Network threading stage 1/3: netisrs are already software interrupts,
which means they alraedy run in their own thread.  This commit creates
multiple supporting threads for netisrs rather then just one and code
has been added to begin routing packets to particular threads based on
their content.  Eventually this will lead to us being able to isolate and
serialize PCBs in particular threads.  The tail end of the ip_input path's
protocol dispatch, the UIPC (user entry) code, and listen socket have not
been covered yet and still need to be serialized.

A new debugging sysctl, net.inet.ip.mthread_enable, has been added.  It
defaults to 1.  If you set this sysctl 0 netisr processing will revert to
the prior single-threaded behavior.

Submitted-by: Jeffrey Hsu <hsu@FreeBSD.org>
Additional-work-by: dillon

Revision 1.5: download - view: text, markup, annotated - select for diffs
Mon Sep 15 23:38:13 2003 UTC (10 years, 10 months ago) by hsu
Branches: MAIN
Diff to: previous 1.4: preferred, unified
Changes since revision 1.4: +31 -9 lines
Centralize if queue handling.

Original patch against FreeBSD submitted by Jonathan Lemon.
Reviewed by Matt Dillon.

Revision 1.4: download - view: text, markup, annotated - select for diffs
Tue Aug 26 20:49:47 2003 UTC (10 years, 10 months ago) by rob
Branches: MAIN
Diff to: previous 1.3: preferred, unified
Changes since revision 1.3: +4 -4 lines
__P() removal

Revision 1.3: download - view: text, markup, annotated - select for diffs
Sun Jun 29 03:28:45 2003 UTC (11 years ago) by dillon
Branches: MAIN
CVS tags: PRE_MP
Diff to: previous 1.2: preferred, unified
Changes since revision 1.2: +5 -4 lines
threaded interrupts 1: Rewrite the ICU interrupt code, splz, and doreti code.
The APIC code hasn't been done yet.   Consolidate many interrupt thread
related functions into MI code, especially software interrupts.  All normal
interrupts and software interrupts are now threaded, and I'm almost ready
to deal with interrupt-thread-only preemption.  At the moment I run
interrupt threads in a critical section and probably will continue to do
so until I can make them MP safe.

Revision 1.2: download - view: text, markup, annotated - select for diffs
Tue Jun 17 04:28:48 2003 UTC (11 years, 1 month ago) by dillon
Branches: MAIN
Diff to: previous 1.1: preferred, unified
Changes since revision 1.1: +1 -0 lines
Add the DragonFly cvs id and perform general cleanups on cvs/rcs/sccs ids.  Most
ids have been removed from !lint sections and moved into comment sections.

Revision 1.1: download - view: text, markup, annotated - select for diffs
Tue Jun 17 02:55:27 2003 UTC (11 years, 1 month ago) by dillon
Branches: MAIN
CVS tags: FREEBSD_4_FORK
import from FreeBSD RELENG_4 1.21.2.5

Diff request

This form allows you to request diffs 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.

Log view options