Re: Deadlock on the mm->mmap_sem

Andrea Arcangeli
2001-09-19T22:07:19Z

On Wed, Sep 19, 2001 at 05:14:04PM -0400, Benjamin LaHaise wrote:
> On Wed, Sep 19, 2001 at 08:45:46PM +0200, Andrea Arcangeli wrote:
> > To be pedantic the only idea I shared with the old code (but that's just
> > the idea, not the implementation, so AFIK only a patent on such idea
> > could protect it from its free usage usage) is to return the rwsem again
> > from rwsem_wake and friends to avoid saving it in the asm slow path, and
> > I written that:
>
> Your patch moved a bunch of code into asm-i386/rwsem_xchgadd.h. That
> code was derived from the spinlock code by me into the first rwsems,
> then David reworked bits of it, as wel as you. But there is no
> copyright on that file indicating this heritage. If you look at
> how strict commercial copyright control can be, even copying a
> single line of code mentally by retyping it can still mandate the
> copyright legacy. I'm sure it's just an oversight, but it's
> probably one we *all* need to be reminded of every now and again.

I recall I wrote such code without copying anything, I certainly copied
the way of doing things (pushl dx,cx and save ax via returning it in the
slow path) as I wrote in the comment, but not the code itself. Infact at
first i was probably also pushing eax, and even now that I use the same
logic the two versions should be slightly different. and I think mine
has a race this is why I'm not using such code and with the unfair thing
such code is scheduled for removal since it's unfixable. really it
sounds like too me too I cut and pasted the static inline void
__down_read(struct rw_semaphore *sem) declarations, since I tend to left
a space between "*" and the variable name but not always.

Andrea