Date: Sat, 20 Mar 1999 11:24:31 -0500 (EST) From: Alfred Perlstein <bright@rush.net> To: hackers@freebsd.org Subject: splimp is overkill? Message-ID: <Pine.BSF.3.96.990320111437.28176D-100000@cygnus.rush.net>
next in thread | raw e-mail | index | archive | help
I was looking at some networking code recently and noticed something... it seems that splimp has to raised for individual drivers, but splimp blocks out all driver interupts correct? Why not have a function that just locks an individual network driver out of getting interupts instead of the whole slew of drivers? I noticed this looking at sys/net/if_tun.c The QUEUE macros need splimp, but we know what interface we are working on, why not just 'splimp' that ONE interface? Also has anyone given thought to individual driver mbuf pools? Yes, it's sort of evil, but it also reduces the need to lock up the whole network stack. If you can allocate on your own pool of mbufs, instead of a global pool you can avoid blocking the entire networking stack. Now you may ask, well since mbufs "travel around" who gets them when they are freed? well you can maintain high and low watermarks for attempting to distribute or take from other drivers. This isn't a solution, just an idea. This would also help SMP if done properly imo. Comments? If anything flames explaining why this is a bad idea are welcome, I just want to understand more. thank you, Alfred Perlstein - Admin, coder, and admirer of all things BSD. -- There are operating systems, and then there's FreeBSD. -- http://www.freebsd.org/ 4.0-current To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.96.990320111437.28176D-100000>