Go to file
ozaki-r 2c16e13ff3 Implement softint-based interrupt handling in if_vioif
Softint-based interrupt handling is considered as a future direction
of the (network) device driver architecture in NetBSD. pq3etsec of
ppc is already implemented based on the architecture (unlike pq3etsec,
this change doesn't include softint-based if_start). In this
architecture, a hardware interrupt handler just schedules a softint
and the softint performs actual interrupt processing. It reduces
processing in hardware interrupt context and allows Layer 2 network
stack (e.g., bridge, vlan and even bpf) run in softint context,
which makes it easy to implement fine-grain locking in the layer.

This is an experimental implementation of the architecture in if_viof.

virtio introduces a new flag VIRTIO_F_PCI_INTR_SOFTINT. If a driver
of virtio sets it to sc_flags of virtio_softc, virtio calls
softint_schedule in virtio_intr instead of directly calling the
interrupt handler of the driver.

When VIOIF_SOFTINT_INTR is on, vioif doesn't use the existing softint
(vioif_rx_softint) that is called from vioif_rx_vq_done. Because
vioif_rx_softint already runs in softint context and another softint
isn't needed. This change actually improves performance in some cases.

The feature is disabled by default and enabled when SOFTINT_INTR is
set somewhere (normally in a kernel configuration).
2014-12-19 06:54:40 +00:00
bin Use l_wmesg if the string is not empty. Don't bother checking l_name for 2014-11-15 01:58:34 +00:00
common add a new "fo_mmap" fileops method to allow use of arbitrary uvm_objects for 2014-12-14 23:48:58 +00:00
compat Add RISC-V support 2014-09-19 17:38:46 +00:00
crypto Fix bug report from Jared - actually print the key when exporting 2014-12-17 16:50:52 +00:00
dist/pf Merge riastradh-drm2 to HEAD. 2014-03-18 18:20:35 +00:00
distrib fix sets. 2014-12-19 05:06:41 +00:00
doc switch PPC to GCC 4.8. 2014-12-18 02:28:34 +00:00
etc build ALLWINNER_A80 kernel 2014-12-14 18:12:55 +00:00
external we need to handle make includes 2014-12-19 05:21:51 +00:00
extsrc
games PR/49451 - Ben Gergely -- add missing attribution 2014-12-05 23:21:23 +00:00
gnu Array can't be null. 2014-11-15 02:01:27 +00:00
include Create the stpncpy() inline only when GCC>=4.8 || clang 2014-11-29 13:23:48 +00:00
lib include correct header for "last minute just-in-case defensive addition 2014-12-17 01:49:08 +00:00
libexec fix powerpc TLS problems by removing the hacks for PPC EABI. 2014-12-14 23:49:17 +00:00
regress Replace manual realdepend dependency with DPSRCS. 2014-09-19 21:35:42 +00:00
rescue Remove rtsol(8) and rtsold(8) as their functionality is in dhcpcd(8). 2014-09-11 13:10:03 +00:00
sbin Note that RTM_CHANGE can also change the gateway 2014-12-17 10:56:09 +00:00
share Remove redundant configuration snippet for dhclient and rtsol as dhcpcd will happily supply both needs. 2014-12-18 17:10:42 +00:00
sys Implement softint-based interrupt handling in if_vioif 2014-12-19 06:54:40 +00:00
tests Fix LDADD.t_compat 2014-12-08 07:34:31 +00:00
tools build genassym for TOOLS_BUILDRUMP 2014-12-05 01:50:47 +00:00
usr.bin Fix various security related issues: 2014-12-16 19:30:24 +00:00
usr.sbin add powerpc variants to the list of potentially obsolete modules to check 2014-12-16 05:30:40 +00:00
x11 Use ${TOOL_GZIP_N} instead of ${TOOL_GZIP} -n, and similarly 2014-08-05 15:40:58 +00:00
build.sh Add a new build make variable, CONFIGOPTS, which is passed to config(1) 2014-11-30 15:53:29 +00:00
BUILDING regen 2014-11-30 15:54:34 +00:00
Makefile iso -> images 2014-11-05 08:19:17 +00:00
Makefile.inc
UPDATING Fix typo. 2014-10-27 11:21:28 +00:00