filedesc_sx patch (20070401a)
Robert Watson
rwatson at FreeBSD.org
Tue Apr 3 22:01:46 UTC 2007
On Sun, 1 Apr 2007, Robert Watson wrote:
> The attached patch moves file descriptor locks from being a custom
> mutex/sleep lock implemented using msleep() to an sx lock. With the new sx
> lock optimizations in place, this is now sensible, avoiding both a custom
> lock type and significantly improving performance. Kris has reported 2x-4x
> improvement in transactions/sec with MySQL using this patch, as it greatly
> reduces the cost of lock contention during file descriptor lookup for
> threaded applications, and also moves to shared locking to avoid exclusive
> acquisition for read-only operations (the vast majority in most workloads).
> Patch is below, but you can also download from:
>
> http://www.watson.org/~robert/freebsd/netperf/20070401a-filedesc-sx.diff
>
> I'm currently waiting for the sx lock changes to settle for a few days
> before committing, so will plan to commit this around Wednesday/Thursday of
> this week (unless serious problems arise).
Andrzej has pointed out that shortly after I posted the patch, it came into
conflict with changes in VFS. I've updated the patch and posted it at:
http://www.watson.org/~robert/freebsd/netperf/20070403-filedesc-sx.diff
Thanks,
Robert N M Watson
Computer Laboratory
University of Cambridge
More information about the freebsd-current
mailing list