Pfil and SMP
Max Laier
max at love2party.net
Mon Jul 23 16:16:34 UTC 2007
On Monday 23 July 2007, Lee Brotherston wrote:
> Apologies if this is an area which has been covered somewhere, but my
> google skills don't seem to have uncovered it.
>
> I am working with the pfil interface and use pfil_add_hook to process
> or drop a number of packets. However as my test equipment is only
> single processor I have been unable to test in an SMP environment.
> So, the crux of my query is...
>
> Does the SMP setup in FreeBSD 6.x & 7.x, leave the possibility that
> the two instances of the function named in the pfil_add_hook call, may
> be running at once? Or is there some kind of locking which prevents
> this? My reason for asking is that there is a state table which I do
> not want altering in two places at once, and so I will impliment
> internal locks.
>
> (If possible I'd appreciate being CC'd on replies as I'm not currently
> subscribed).
pfil(9) is protected by rw_locks (CURRENT) or a handrolled version of
reader/writer locks (RELENG_6) and thus does not prevent more than one
thread in the hook function at once. You have to roll your own locking
if required.
--
/"\ Best regards, | mlaier at freebsd.org
\ / Max Laier | ICQ #67774661
X http://pf4freebsd.love2party.net/ | mlaier at EFnet
/ \ ASCII Ribbon Campaign | Against HTML Mail and News
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: This is a digitally signed message part.
Url : http://lists.freebsd.org/pipermail/freebsd-smp/attachments/20070723/1367a936/attachment.pgp
More information about the freebsd-smp
mailing list