#
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 ...
|