History log of /dflybsd-src/sys/dev/netif/ic/if_ic.c (Results 1 – 25 of 29)
Revision Date Author Comments
# 592c4420 28-Dec-2018 Sascha Wildner <saw@online.de>

kernel/ic: Remove an unneeded #ifdef _KERNEL and two duplicate includes.


# afd2da4d 03-Aug-2016 Matthew Dillon <dillon@apollo.backplane.com>

kernel - Remove PG_ZERO and zeroidle (page-zeroing) entirely

* Remove the PG_ZERO flag and remove all page-zeroing optimizations,
entirely. Aftering doing a substantial amount of testing, these

kernel - Remove PG_ZERO and zeroidle (page-zeroing) entirely

* Remove the PG_ZERO flag and remove all page-zeroing optimizations,
entirely. Aftering doing a substantial amount of testing, these
optimizations, which existed all the way back to CSRG BSD, no longer
provide any benefit on a modern system.

- Pre-zeroing a page only takes 80ns on a modern cpu. vm_fault overhead
in general is ~at least 1 microscond.

- Pre-zeroing a page leads to a cold-cache case on-use, forcing the fault
source (e.g. a userland program) to actually get the data from main
memory in its likely immediate use of the faulted page, reducing
performance.

- Zeroing the page at fault-time is actually more optimal because it does
not require any reading of dynamic ram and leaves the cache hot.

- Multiple synth and build tests show that active idle-time zeroing of
pages actually reduces performance somewhat and incidental allocations
of already-zerod pages (from page-table tear-downs) do not affect
performance in any meaningful way.

* Remove bcopyi() and obbcopy() -> collapse into bcopy(). These other
versions existed because bcopy() used to be specially-optimized and
could not be used in all situations. That is no longer true.

* Remove bcopy function pointer argument to m_devget(). It is no longer
used. This function existed to help support ancient drivers which might
have needed a special memory copy to read and write mapped data. It has
long been supplanted by BUSDMA.

show more ...


# 9d92d2f7 04-Jul-2013 Sascha Wildner <saw@online.de>

kernel/dev: Remove some #include duplicates.


# df2b5882 01-Mar-2013 Sascha Wildner <saw@online.de>

kernel/ic: Fix allocation of the output buffer.


# d3c9c58e 20-Feb-2013 Sascha Wildner <saw@online.de>

kernel: Use DEVMETHOD_END in the drivers.


# d40991ef 13-Feb-2013 Sepherosa Ziehau <sephe@dragonflybsd.org>

if: Per-cpu ifnet/ifaddr statistics, step 1/3

Wrap ifnet/ifaddr stats updating, setting and extraction into macros;
ease upcoming changes.


# fda7d388 29-Nov-2012 Sepherosa Ziehau <sephe@dragonflybsd.org>

bpf: Use bpf global token instead mplock to protect bpf stuffs

Submitted-by: tuxillo@ w/ modification


# 4090d6ff 03-Jan-2012 Sascha Wildner <saw@online.de>

kernel: Use NULL for pointers.


# aa2b9d05 24-Jun-2011 Sascha Wildner <saw@online.de>

kernel: Use NULL for DRIVER_MODULE()'s evh & arg (which are pointers).

This is just cosmetics for easier reading.


# c3c96e44 09-Sep-2010 Matthew Dillon <dillon@apollo.backplane.com>

network - Completely revamp the netisr / dispatch code

* All netisrs are dispatched MPSAFE (followup in later commits)

* Centralize the protocol threads. There is now just one thread
per cpu man

network - Completely revamp the netisr / dispatch code

* All netisrs are dispatched MPSAFE (followup in later commits)

* Centralize the protocol threads. There is now just one thread
per cpu managed by the netisr code. No more separate tcp/udp threads
on each cpu.

* Make the mbuf M_HASH/m_pkthdr.hash mechanic the central routing
mechanic for netmsgs.

* Remove the netisr ip_mport and pktinfo_portfn stuff and replace with a
cpufn function which handles M_HASH/m_pkthdr.hash when M_HASH is not
already set.

* Seriously clean up the packet input paths. Adjust ether_input_chain() and
friends to not have to adjust the mbuf forwards and backwards, instead
pass a header offset to the ni_cpufn function. The ip pullup and other
related code will use the offset to determine where the ip header is
within the packet.

show more ...


# a9656fbc 16-Aug-2010 Sascha Wildner <saw@online.de>

iicbus: Bring us closer to FreeBSD.

This is work in progress and I commit it so Dave Shao's Summer of Code
project can proceed.

Further commits will follow.

Taken-from: FreeBSD


# 978400d3 06-Jan-2008 Sascha Wildner <swildner@dragonflybsd.org>

Remove bogus checks after kmalloc(M_WAITOK) which never returns NULL.

Reviewed-by: hasso


# e3869ec7 22-Dec-2006 Sascha Wildner <swildner@dragonflybsd.org>

Rename printf -> kprintf in sys/ and add some defines where necessary
(files which are used in userland, too).


# 77652cad 05-Sep-2006 Matthew Dillon <dillon@dragonflybsd.org>

Rename malloc->kmalloc, free->kfree, and realloc->krealloc. Pass 2


# efda3bd0 05-Sep-2006 Matthew Dillon <dillon@dragonflybsd.org>

Rename malloc->kmalloc, free->kfree, and realloc->krealloc. Pass 1


# 78195a76 28-Nov-2005 Matthew Dillon <dillon@dragonflybsd.org>

Make all network interrupt service routines MPSAFE part 1/3.

Replace the critical section that was previously used to serialize access
with the LWKT serializer. Integrate the serializer into the IF

Make all network interrupt service routines MPSAFE part 1/3.

Replace the critical section that was previously used to serialize access
with the LWKT serializer. Integrate the serializer into the IFNET structure.
Note that kern.intr_mpsafe must be set to 1 for network interrupts to actually
run MPSAFE. Also note that any interrupts shared with othre non-MP drivers
will cause all drivers on that interrupt to run with the Big Giant Lock.

Network interrupt - Each network driver then simply passes that serializer
to bus_setup_intr() so only a single serializer is required to process the
entire interrupt path. LWKT serialization support is already 100% integrated
into the interrupt subsystem so it will already be held as of when the
registered interrupt procedure is called.

Ioctl and if_* functions - All callers of if_* functions (such as if_start,
if_ioctl, etc) now obtain the IFNET serializer before making the call. Thus
all of these entry points into the driver will now be serialized.

if_input - All code that calls if_input now ensures that the serializer
is held. It will either already be held (when called from a driver), or
the serializer will be wrapped around the call. When packets are forwarded
or bridged between interfaces, the target interface serializer will be
dropped temporarily to avoid a deadlock.

Device Driver access - dev_* entry points into certain pseudo-network
devices now obtain and release the serializer. This had to be done on
a device-by-device basis (but there are only a few such devices).

Thanks to several people for helping test the patch, in particular
Sepherosa Ziehau.

show more ...


# 9c2a771a 13-Jun-2005 Joerg Sonnenberger <joerg@dragonflybsd.org>

Convert to critical sections.


# 0e23cec8 18-Feb-2005 Joerg Sonnenberger <joerg@dragonflybsd.org>

Use ifq_set_maxlen and don't change the field directly.


# 5e2195bf 17-Feb-2005 Joerg Sonnenberger <joerg@dragonflybsd.org>

GCC supports two pseudo variables to get the function name, __FUNCTION__
and __func__. The latter is C99, prefer that.


# 1f8e62c9 26-Jan-2005 Joerg Sonnenberger <joerg@dragonflybsd.org>

- Add support for attaching alternative DLTs to an interface.
The function is named bpfattach_dlt, FreeBSD used bpfattach2.
- Change bpf_mtap to take the bpf_if directly.
- Add support for BIOCSDLT

- Add support for attaching alternative DLTs to an interface.
The function is named bpfattach_dlt, FreeBSD used bpfattach2.
- Change bpf_mtap to take the bpf_if directly.
- Add support for BIOCSDLT and BIOCGDLT to recieve a list of DLTs
available on an interface.

Obtained-from: FreeBSD

- Add bpf_ptap, which takes an mbuf and a header, builds a temporary
mbuf chain and calls bpf_mtap on that.

Inspired-by: FreeBSD's bpf_mtap2

- Use the new interface for all drivers doing this by hand before.
- Include the formerly commented out support for radio headers in wi(4)
and wlan(4).
- Change if_loop, i4b_ipr, disc and ic to prepend a uint32_t, not an int.

show more ...


# 7600679e 23-Jan-2005 Joerg Sonnenberger <joerg@dragonflybsd.org>

Use BPF_TAP and BPF_MTAP instead of the expanded versions where possible.


# c5541aee 07-Apr-2004 Matthew Dillon <dillon@dragonflybsd.org>

General netif malloc() flags cleanup. Use M_INTWAIT or M_WAITOK instead
of M_NOWAIT. Generally use M_WAITOK in the attach code or ioctl code
typically called from userland, and M_INTWAIT for routin

General netif malloc() flags cleanup. Use M_INTWAIT or M_WAITOK instead
of M_NOWAIT. Generally use M_WAITOK in the attach code or ioctl code
typically called from userland, and M_INTWAIT for routines that might
be called during non-boot operations. Since M*WAIT flags guarentee a
non-NULL result, also remove now-unnecessary NULL checks.

show more ...


# 9974b71d 01-Apr-2004 Joerg Sonnenberger <joerg@dragonflybsd.org>

Add the "struct ucred *" argument to the remaining nic ioctls in LINT.


# 3e4a09e7 06-Jan-2004 Matthew Dillon <dillon@dragonflybsd.org>

if_xname support Part 2/2: Convert remaining netif devices and implement full
support for if_xname. Restructure struct ifnet in net/if_var.h, pulling in
a few minor additional changes from current i

if_xname support Part 2/2: Convert remaining netif devices and implement full
support for if_xname. Restructure struct ifnet in net/if_var.h, pulling in
a few minor additional changes from current including making if_dunit an int,
and making if_flags an int.

Submitted-by: Max Laier <max@love2party.net>

show more ...


# 32832096 20-Nov-2003 Matthew Dillon <dillon@dragonflybsd.org>

Add a DECLARE_DUMMY_MODULE() so we can get linker_set module names
for modules that normally use DRIVER_MODULE(). The problem is that
DRIVER_MODULE() will define names that do not match the module n

Add a DECLARE_DUMMY_MODULE() so we can get linker_set module names
for modules that normally use DRIVER_MODULE(). The problem is that
DRIVER_MODULE() will define names that do not match the module name,
so a DECLARE_DUMMY_MODULE() is needed for the kernel to be able to
figure out that a module has been statitically compiled in.

show more ...


12