Before & After Under The Giant Lock

Christopher Chen muffaleta at gmail.com
Sun Nov 25 12:29:42 PST 2007


On Nov 25, 2007 3:13 AM, Robert Watson <rwatson at freebsd.org> wrote:
> At this point, Giant is gradually becoming a lock around the tty, newbus, usb,
> and msdosfs code, and we're largely at diminishing returns in terms of making
> improvements in parallelism through removing Giant.  In FreeBSD 7, the focus
> was on improving parallelism rather than removing Giant, with improvements in
> locking primitives, the scheduler, and lock granularity.  For example, most of
> the improvement in MySQL performance in FreeBSD 7 can be put down to a small
> number of changes:
>
> - Conversion to 1:1 threads from M:N threads.

Dear Robert:

I enjoyed reading your overview of changes from FreeBSD 6 to 7 with
regards to MP scalability, but I am a bit confused over this
point--Doesn't the user still have the choice between libthread, which
is M:N, and libthr, which is 1:1?

At some point during the 6.x days, it was considered advantageous to
use libthr when running MySQL. Has the project decided to go with
libthread after all?

Perhaps we're talking about entirely different things.

Cheers,

Chris

-- 
Chris Chen <muffaleta at gmail.com>
"I want the kind of six pack you can't drink."
-- Micah


More information about the freebsd-hackers mailing list