Re: sysvshm: replace Giant with a local sx lock

From: Konstantin Belousov <kostikbel_at_gmail.com>
Date: Tue, 23 Apr 2013 23:55:32 +0300
On Tue, Apr 23, 2013 at 10:38:23PM +0200, Mateusz Guzik wrote:
> Hello,
> 
> I would like to replace Giant with a local sx lock in sysvshm code.
> Looked really straightforward so maybe I missed something.

At very least, the shmget_existing() is no longer functional.
The sx is owned around tsleep(), and thus a progress cannot be made
by other thread, which needs the same sx lock.

Use of the SHMSEG_REMOVED in the shmget_allocate_segment() does
not make any sense in your patch, since sleeping malloc allocation
owns sx and prevent other threads from finding the segment.

I did not looked further.

Received on Tue Apr 23 2013 - 18:55:40 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:36 UTC