fcntl F_SETLKW64 failing on Solaris

Anton Blanchard anton at samba.org
Wed Jan 9 15:29:01 GMT 2002

Hi Tristan,

> On our previous release, 2.2.1a+patches, when mutex contention was high, the
> load average sky rocketed, and the box crawled. This was
> compiled --with-spinlocks, and using nanosleep rather than sched yield.
> On our current release, 2.2.3pre, again I've used --with-spinlocks, but this
> time I tried sched_yield. We had a short period yesturday when we were
> getting 4-500 blocks on kernel mutexes per second (normal is about 100 for
> us). This time the load average was stable at 3 (a little higher than normal
> for us, but not much), and the box stayed responsive. Interestingly, the
> spike occured while I had debug level =3. Reducing that to 1, and sighuping
> samba returned the machine to normal.

I am very interested in these results. When we first implemented the
spinlock code I never managed to get a high rate of contention (8 way
server, smbtorture) and so we didnt look too closely at backoff strategies.
It would be interesting to do some statistics on how bad the contention
is (and also what part of samba is responsible for it).

If you have an SMP machine its also going to make sense to busy loop for a
bit in case the lock gets dropped on another cpu.

Do you know if solaris have kernel support for userspace synchronisation?
(like post/wait or whatever SGI call it)


More information about the samba-technical mailing list