Messages in this thread | | | Date | Tue, 10 Nov 2009 13:42:51 -0800 (PST) | From | Linus Torvalds <> | Subject | Re: [GIT PULL] percpu fixes for 2.6.32-rc6 |
| |
On Wed, 11 Nov 2009, Tejun Heo wrote: > > If you're talking about the three way return value, which I do agree > to be quite ugly, I think it will be a lot safer to have three patches > - one to fix the deadlock, another to fix the return value and the > final one to de-uglify the function, especially as we're pretty late > in the release cycle.
I'm certainly ok with doing it in stages if that is how you want to do it.
That said, I'm not entirely sure it's _worthwhile_, since the "return 1" case has apparently never ever actually worked. From a bisect standpoint, what's the difference between seeing
- oh, now that we made it return the documented code and actually re-try properly when dropping the lock, it turns out that the re-try code was always buggy and we just hadn't noticed before because it didn't trigger
or
- oh, now that we rewrote the function to be cleaner and do the lock dropping and retry more obviously, it turns out that the retry doesn't actually work and leads to deadlocks.
but I don't care deeply.
I want the cleanup because I think that the code sucks from a "future proofing" and readability standpoint, but I really don't mind one way or the other whether you want to finally do that one "return 1" correctly for one commit, only to then fix it to not do that three-way test of a single function in the next one.
So whatever works - as long as the end result both looks sane and doesn't have the bug we clearly have now.
Linus
| |