Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 24 Nov 2007 20:05:55 +0100
From:      Max Laier <max@love2party.net>
To:        Robert Watson <rwatson@freebsd.org>
Cc:        freebsd-net@freebsd.org, freebsd-current@freebsd.org
Subject:   Re: Switch pfil(9) to rmlocks
Message-ID:  <200711242006.04753.max@love2party.net>
In-Reply-To: <20071123132453.W98338@fledge.watson.org>
References:  <200711231232.04447.max@love2party.net> <20071123132453.W98338@fledge.watson.org>

next in thread | previous in thread | raw e-mail | index | archive | help
--nextPart2551595.pF8jQdSoQI
Content-Type: multipart/mixed;
  boundary="Boundary-01=_VYHSH3/ckykvJ7C"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

--Boundary-01=_VYHSH3/ckykvJ7C
Content-Type: text/plain;
  charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

On Friday 23 November 2007, Robert Watson wrote:
> On Fri, 23 Nov 2007, Max Laier wrote:
> > attached is a diff to switch the pfil(9) subsystem to rmlocks, which
> > are more suited for the task.  I'd like some exposure before doing
> > the switch, but I don't expect any fallout.  This email is going
> > through the patched pfil already - twice.
>
> Max,
>
> Have you done performance measurements that show rmlocks to be a win in
> this scenario?  I did some patchs for UNIX domain sockets to replace
> the rwlock there but it appeared not to have a measurable impact on SQL
> benchmarks, presumbaly because the read/write blend wasn't right and/or
> that wasnt a significant source of overhead in the benchmark.  I'd
> anticipate a much more measurable improvement for pfil, but would be
> interested in learning how much is seen?

I had to roll an artificial benchmark in order to see a significant change=
=20
(attached - it's a hack!).

Using 3 threads on a 4 CPU machine I get the following results:
null hook: ~13% +/- 2
mtx hook: up to 40% [*]
rw hook: ~5% +/- 1
rm hook: ~35% +/- 5

[*] The mtx hook is inconclusive as my measurements vary a lot.  If one=20
thread gets lucky and keeps running the overall time obviously goes down=20
by a magnitude.  It seems however, that rmlocks greatly increase the=20
chance of that happening - not sure if that's a good thing, though.  If=20
all threads receive approximately equal runtime (which is almost always=20
the case for rwlocks) the difference is somewhere around 10%.

=2D-=20
/"\  Best regards,                      | mlaier@freebsd.org
\ /  Max Laier                          | ICQ #67774661
 X   http://pf4freebsd.love2party.net/  | mlaier@EFnet
/ \  ASCII Ribbon Campaign              | Against HTML Mail and News

--Boundary-01=_VYHSH3/ckykvJ7C--

--nextPart2551595.pF8jQdSoQI
Content-Type: application/pgp-signature; name=signature.asc 
Content-Description: This is a digitally signed message part.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.4 (FreeBSD)

iD8DBQBHSHYcXyyEoT62BG0RAty0AJ9O9jhwX/vhmb0AKyJ9D+C7lb6neQCdHP3F
RIgPL0xZnNMVnmRDtwHckrA=
=RdcO
-----END PGP SIGNATURE-----

--nextPart2551595.pF8jQdSoQI--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200711242006.04753.max>