Ed Maste wrote:

On Sat, Jul 09, 2005 at 10:18:19AM -0700, Sam Leffler wrote:
spl's lock execution threads. 5.x and later systems mostly lock data structures using mtx's (there are a very few exceptions). Thus there isn't necessarily a direct replacement, you usually need to rethink your locking/synchronization strategy.

This brings up the issue of the remaining splnet()s in 5.x and -CURRENT.
Grepping for "= splnet" in net/ and netinet/ shows more than 50 now
no-op splnet()s left in the stack.
Some code that contains splXXX is working under global GIANT lock. Some
splXXX left for reference, just in case. (As in if_spppXXX). But work in progress
and I hope that before 7.0 all code would be fixed.

rik

We've run into corruption in the multicast address lists (in_multihead)
on 5.x, and it turns out in_addmulti still has splnet() "protecting" the
list.

I'm not sure how many of the splnet()s are actually false positives
(i.e. no longer relevant, locked in another way, etc.) but they're
probably all good indicators of places that locking still needs to be
revisited.

--
Ed Maste, Sandvine Incorporated
_______________________________________________
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

_______________________________________________
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to