#
05d02a38 |
| 28-Dec-2023 |
Aaron LI <aly@aaronly.me> |
kernel: Remove unnecessary casts for updated mbuf(9) functions
|
Revision tags: v6.4.0, v6.4.0rc1, v6.5.0, v6.2.2, v6.2.1, v6.2.0, v6.3.0, v6.0.1, v6.0.0, v6.0.0rc1, v6.1.0, v5.8.3, v5.8.2 |
|
#
bb54c3a2 |
| 02-Jul-2020 |
Aaron LI <aly@aaronly.me> |
if_clone: Extend if_clone_create() by an extra parameter
Currently, if_clone_create() accepts one caddr_t parameter that is passed with the ifreq->ifr_data for the SIOCIFCREATE2 ioctl.
Extend this
if_clone: Extend if_clone_create() by an extra parameter
Currently, if_clone_create() accepts one caddr_t parameter that is passed with the ifreq->ifr_data for the SIOCIFCREATE2 ioctl.
Extend this function by another caddr_t parameter so that callers could pass extra data to the ifc->ifc_create() handler and won't conflict with the SIOCIFCREATE2 ioctl calls. This extension will be used by tun(4) and tap(4) in a following commit.
Suggested-by: dillon Reviewed-by: dillon
show more ...
|
Revision tags: v5.8.1, v5.8.0, v5.9.0, v5.8.0rc1, v5.6.3 |
|
#
805c8e8e |
| 20-Oct-2019 |
zrj <rimvydas.jasinskas@gmail.com> |
kernel: Remove explicit dependencies on <sys/malloc.h> in headers.
All except <net/if_var.h> for now, it needs decoupling in drm first. * Include <sys/malloc.h> in foo.c if they have kmalloc()/kfr
kernel: Remove explicit dependencies on <sys/malloc.h> in headers.
All except <net/if_var.h> for now, it needs decoupling in drm first. * Include <sys/malloc.h> in foo.c if they have kmalloc()/kfree() calls. * Consistently check if MALLOC_DECLARE was declared before. * <sys/mountctl.h>: include <sys/thread.h> for _KERNEL_STRUCTURES too since the "struct journal" embeds "struct thread". * <sys/tty.h>: Only two kernel sources makes use of M_TTYS. * <sys/socketvar2.h>: Make it kernel only header.
show more ...
|
#
febebf83 |
| 20-Oct-2019 |
zrj <rimvydas.jasinskas@gmail.com> |
kernel: Minor whitespace cleanup in few sources (part 2).
Separated from next.
|
#
8bdbc095 |
| 06-Sep-2019 |
Roy Marples <roy@marples.name> |
ieee80211: set link state before notifying of link state change
Unknown link state is no good for any interface. Set the state before calling out. Now dhcpcd can see that wireless links are actually
ieee80211: set link state before notifying of link state change
Unknown link state is no good for any interface. Set the state before calling out. Now dhcpcd can see that wireless links are actually up
show more ...
|
Revision tags: v5.6.2, v5.6.1, v5.6.0, v5.6.0rc1, v5.7.0, v5.4.3, v5.4.2, v5.4.1, v5.4.0, v5.5.0, v5.4.0rc1, v5.2.2, v5.2.1, v5.2.0, v5.3.0, v5.2.0rc, v5.0.2, v5.0.1, v5.0.0, v5.0.0rc2, v5.1.0, v5.0.0rc1, v4.8.1, v4.8.0, v4.6.2, v4.9.0, v4.8.0rc, v4.6.1, v4.6.0, v4.6.0rc2, v4.6.0rc, v4.7.0 |
|
#
6de344ba |
| 27-Jun-2016 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
ifnet: Add oqdrops statistics
|
#
e0d860b8 |
| 24-May-2016 |
Sascha Wildner <saw@online.de> |
kernel/ieee80211: Remove an unused malloc type.
|
#
0ebc8ce6 |
| 12-May-2016 |
Matthew Dillon <dillon@backplane.com> |
wlan - Sync netproto/802_11 from FreeBSD part 6/N
* Uncomment ieee80211_vap_xmitpkt(), we need it.
|
#
4f655ef5 |
| 12-May-2016 |
Matthew Dillon <dillon@backplane.com> |
wlan - Sync netproto/802_11 from FreeBSD part 1/N
* Sync netproto/802_11 from FreeBSD, fbsd git dd885b9a0a0e, May 11 2016.
|
#
63000c64 |
| 05-May-2016 |
Imre Vadász <imre@vdsz.com> |
80211 - Check if_clone_destroy return value.
* Otherwise ieee80211_ifdetach can end up in an infinite loop, when if_clone_destroy fails.
|
Revision tags: v4.4.3, v4.4.2 |
|
#
4f898719 |
| 04-Jan-2016 |
Imre Vadász <imre@vdsz.com> |
80211 - Update up to FreeBSD's r287029 (only skipping a few minor changes)
Taken-From: FreeBSD
|
Revision tags: v4.4.1, v4.4.0, v4.5.0, v4.4.0rc, v4.2.4, v4.3.1, v4.2.3, v4.2.1, v4.2.0, v4.0.6, v4.3.0, v4.2.0rc, v4.0.5, v4.0.4 |
|
#
b5523eac |
| 19-Feb-2015 |
Sascha Wildner <saw@online.de> |
kernel: Move us to using M_NOWAIT and M_WAITOK for mbuf functions.
The main reason is that our having to use the MB_WAIT and MB_DONTWAIT flags was a recurring issue when porting drivers from FreeBSD
kernel: Move us to using M_NOWAIT and M_WAITOK for mbuf functions.
The main reason is that our having to use the MB_WAIT and MB_DONTWAIT flags was a recurring issue when porting drivers from FreeBSD because it tended to get forgotten and the code would compile anyway with the wrong constants. And since MB_WAIT and MB_DONTWAIT ended up as ocflags for an objcache_get() or objcache_reclaimlist call (which use M_WAITOK and M_NOWAIT), it was just one big converting back and forth with some sanitization in between.
This commit allows M_* again for the mbuf functions and keeps the sanitizing as it was before: when M_WAITOK is among the passed flags, objcache functions will be called with M_WAITOK and when it is absent, they will be called with M_NOWAIT. All other flags are scrubbed by the MB_OCFLAG() macro which does the same as the former MBTOM().
Approved-by: dillon
show more ...
|
#
b4051e25 |
| 22-Jan-2015 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
ifnet: Make ifnet and ifindex2ifnet MPSAFE
- Accessing to these two global variables from non-netisr threads uses ifnet lock. This kind of accessing is from - Accessing to ifindex2ifnet from neti
ifnet: Make ifnet and ifindex2ifnet MPSAFE
- Accessing to these two global variables from non-netisr threads uses ifnet lock. This kind of accessing is from - Accessing to ifindex2ifnet from netisrs are lockless MPSAFE. - Netisrs no longer access ifnet, instead they access ifnet array as of this commit, which is lockless MPSAFE.
Rules for accessing ifnet and ifindex2ifnet is commented near the declaration of the related global variables/functions in net/if_var.h.
show more ...
|
#
cfc4faf7 |
| 05-Feb-2015 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
wlan: Destroy main ifp until all vaps are destroyed
The main ifp is referenced by ieee80211_vap_destroy(), so it must be destroyed _after_ all vaps are destroyed.
Tested-by: dillon@
|
#
a583ece6 |
| 04-Feb-2015 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
wlan: Make sure that WLAN serializer is not held for if_{detach,attach}()
Tested-by: dillon@
|
Revision tags: v4.0.3 |
|
#
09804b20 |
| 11-Jan-2015 |
Matthew Dillon <dillon@backplane.com> |
wlan - Finish ieee80211_realign()
* Finish implementing ieee80211_realign() which is now being called in more paths, particularly IWN.
* Fixes IWN.
|
#
085ff963 |
| 11-Jan-2015 |
Matthew Dillon <dillon@apollo.backplane.com> |
wlan - Update wlan from Adrian / FreeBSD
* Update the wlan infrastructure, initially working with ath.
|
Revision tags: v4.0.2, v4.0.1, v4.0.0, v4.0.0rc3, v4.0.0rc2, v4.0.0rc, v4.1.0, v3.8.2, v3.8.1, v3.6.3, v3.8.0, v3.8.0rc2, v3.9.0, v3.8.0rc, v3.6.2, v3.6.1 |
|
#
7115973e |
| 24-Nov-2013 |
Matthew Dillon <dillon@apollo.backplane.com> |
kernel - minor netproto/802_11 stuff to support iwn re-port
* Bring in some minor changes from FreeBSD which iwn needs.
|
Revision tags: v3.6.0, v3.7.1, v3.6.0rc, v3.7.0, v3.4.3 |
|
#
4cc8caef |
| 08-Jun-2013 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
altq: Implement two level "rough" priority queue for plain sub-queue
The "rough" part comes from two sources: - Hardware queue could be deep, normally 512 or more even for GigE - Round robin on the
altq: Implement two level "rough" priority queue for plain sub-queue
The "rough" part comes from two sources: - Hardware queue could be deep, normally 512 or more even for GigE - Round robin on the transmission queues is used by all of the multiple transmission queue capable hardwares supported by DragonFly as of this commit. These two sources affect the packet priority set by DragonFly.
DragonFly's "rough" prority queue has only two level, i.e. high priority and normal priority, which should be enough. Each queue has its own header. The normal priority queue will be dequeue only when there is no packets in the high priority queue. During enqueue, if the sub-queue is full and the high priority queue length is less than half of the sub- queue length (both packet count and byte count), drop-head will be applied on the normal priority queue.
M_PRIO mbuf flag is added to mark that the mbuf is destined for the high priority queue. Currently TCP uses it to prioritize SYN, SYN|ACK, and pure ACK w/o FIN and RST. This behaviour could be turn off by net.inet.tcp.prio_synack, which is on by default.
The performance improvement!
The test environment: All three boxes are using Intel i7-2600 w/ HT enabled
+-----+ | | +->- emx1 | B | TCP_MAERTS +-----+ | | | | | | +-----+ | A | bnx0 ---+ | | | +-----+ +-----+ | | | +-<- emx1 | C | TCP_STREAM/TCP_RR | | +-----+
A's kernel has this commit compiled. bnx0 has all four transmission queues enabled. For bnx0, the hardware's transmission queue round-robin is on TSO segment boundry.
Some base line measurement: B<--A TCP_MAERTS (raw stats) (128 client): 984 Mbps (tcp_stream -H A -l 15 -i 128 -r) C-->A TCP_STREAM (128 client): 942 Mbps (tcp_stream -H A -l 15 -i 128) C-->A TCP_CC (768 client): 221199 conns/s (tcp_cc -H A -l 15 -i 768)
To effectively measure the TCP_CC, the prefix route's MSL is changed to 10ms: route change 10.1.0.0/24 -msl 10
All stats gather in the following measurement are below the base line measurement (well, they should be).
C-->A TCP_CC improvement, during test B<--A TCP_MAERTS is running: TCP_MAERTS(raw) TCP_CC TSO prio_synack=1 948 Mbps 15988 conns/s TSO prio_synack=0 965 Mbps 8867 conns/s non-TSO prio_synack=1 943 Mbps 18128 conns/s non-TSO prio_synack=0 959 Mbps 11371 conns/s
* 80% TCP_CC performance improvement w/ TSO and 60% w/o TSO!
C-->A TCP_STREAM improvement, during test B<--A TCP_MAERTS is running: TCP_MAERTS(raw) TCP_STREAM TSO prio_synack=1 969 Mbps 920 Mbps TSO prio_synack=0 969 Mbps 865 Mbps non-TSO prio_synack=1 969 Mbps 920 Mbps non-TSO prio_synack=0 969 Mbps 879 Mbps
* 6% TCP_STREAM performance improvement w/ TSO and 4% w/o TSO.
show more ...
|
#
68dc1916 |
| 07-Jun-2013 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
altq: Add byte based limit and counter
- This avoids having too much mbufs sitting on the send queue for TSO capable devices. Even by default, DragonFly has already limited TSO burst to at most
altq: Add byte based limit and counter
- This avoids having too much mbufs sitting on the send queue for TSO capable devices. Even by default, DragonFly has already limited TSO burst to at most 4 TCP segments, for TSO capable devices, there still could be 4 times mbufs sitting on the send queue compared with non-TSO capable devices. - This paves way for the AQMs, which require send queue byte counter, e.g. CoDel.
For ethernet devices, the byte based limit is (1514 x max_packets).
For other devices, e.g. pseudo devices, the byte based limit is (MCLBYTES x max_packets).
show more ...
|
#
b21c2105 |
| 04-Jun-2013 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
ifsubque: Cut ties with ifqueue
|
Revision tags: v3.4.2, v3.4.0, v3.4.1, v3.4.0rc, v3.5.0 |
|
#
c332e0e8 |
| 28-Jan-2013 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
wlan: ifaltq is no longer ifqueue
|
#
fe154500 |
| 28-Jan-2013 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
wlan: Remove unused ieee80211_drain_ifq
|
Revision tags: v3.2.2, v3.2.1, v3.2.0, v3.3.0, v3.0.3, v3.0.2, v3.0.1, v3.1.0, v3.0.0 |
|
#
16fb0422 |
| 20-Jan-2012 |
Sascha Wildner <saw@online.de> |
Remove empty DragonFly CVS IDs.
|
#
86d7f5d3 |
| 26-Nov-2011 |
John Marino <draco@marino.st> |
Initial import of binutils 2.22 on the new vendor branch
Future versions of binutils will also reside on this branch rather than continuing to create new binutils branches for each new version.
|