HEADSUP: About to link ALTQ to the build (ABI break)
max at love2party.net
Sun Jun 13 11:26:15 GMT 2004
as some might know, I recently imported the ALTQ framework with the
perspective to replace the existing queueing with this advanced system. While
ALTQ is designed in a fashion to be API compatible with the old "struct
ifqueue" it does break the ABI by chaning the size of ifnet.if_snd!
I am now ready to commit this change. During the first commit I will not
change the queueing at all. It will only change the if_snd member of struct
ifnet and bring in new macros and some build glue.
In a next step I will convert the various if_output routines (in if_*subr.c)
to use the new ENQUEUE/HANDOFF operations.
The final step then is to convert the network drivers to use the new DEQUEUE
operations and to flip the per-driver flag that indicates that the driver is
ready for ATLQ.
The new DEQUEUE operation also bring along some extra candy in terms of
reducing locking overhead: It will now be possible to do "bulk dequeues" i.e.
transfering more than one packet from the system to the driver with only one
lock operation. The amount of packets transfered at once is tuneable.
Enabling ALTQ on a device will disable bulk dequeue to avoid irritations with
the timing, though.
The patch is at: http://people.freebsd.org/~mlaier/altq.patch
I plan to commit this Sunday night(CEST) provided that no problems occure with
the newly merged socket locking et al.
Best regards, | mlaier at freebsd.org
Max Laier | ICQ #67774661
http://pf4freebsd.love2party.net/ | mlaier at EFnet
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 187 bytes
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20040613/d216b7d3/attachment.bin
More information about the freebsd-current