Messages in this thread |  | | Date | Thu, 20 Sep 2001 00:07:15 +0200 | From | Andrea Arcangeli <> | Subject | Re: Deadlock on the mm->mmap_sem |
| |
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 - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |