Re: [PATCH RFC] big reader semaphore take#2

From: Tejun Heo
Date: Fri Nov 04 2005 - 20:18:21 EST


Nick Piggin wrote:
Tejun Heo wrote:

Tejun Heo wrote:

Hello guys,

This is the second take of brsem (big reader semaphore).

Nick, unfortunately, simple array of rwsem's does not work as lock
holders are not pinned down to cpus and may release locks on other
cpus.


[...]


(Nick, what do you think about the new implementation?)


As I said, I think I'd prefer to see an implementation that returns
a token from down_read to be used in up_read (ie. the slot # of the
counter which has been downed).


Oh... I read your response but thought that was only response to 'that wouldn't work' part.

This obviously no longer makes it a drop in replacement for an rwsem.
But could such a beast ever be considered so? Would that make your
VFS patches really ugly?

I think Al Viro is on that now.

The upshot of that would be that you could build the whole thing
from rwsem infrastructure and have basically zero other locking
mechanisms or complexity that you don't want in a synchronisation
primitive.


To certain extent, I do agree with you - it's safer/simpler..., but on the other hand, new brsem isn't that more complex and would perform almost identically without extra semantical baggage. So, I thought it might be worth a bit more effort.

Hmm... So, array of rwsem's, it should be.

Thanks.

--
tejun
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/