Re: Pfil and SMP
Max Laier <[email protected]> Mon, 23 Jul 2007 18:02:37 +0200
| Newsgroups | gmane.os.freebsd.devel.smp |
|---|---|
| Organization | FreeBSD |
| Message-ID | <[email protected]> |
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, | [email protected] \ / Max Laier | ICQ #67774661 X http://pf4freebsd.love2party.net/ | mlaier@EFnet / \ ASCII Ribbon Campaign | Against HTML Mail and News
signature.asc
(application/pgp-signature, 187 B)
-----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.4 (FreeBSD) iD8DBQBGpNEnXyyEoT62BG0RApITAJ9G7L2aIhjBFl09pyyAIiR+Ze7E/gCeONSt yyZZUPxyRfmUJ9uUugSl3hg= =4tzZ -----END PGP SIGNATURE-----