HEADSUP: About to link ALTQ to the build (ABI break)

From: Max Laier <max_at_love2party.net>
Date: Sun, 13 Jun 2004 06:53:30 +0200
All,

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

Received on Sun Jun 13 2004 - 09:26:15 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:57 UTC