Messages in this thread | | | Date | Wed, 31 May 2006 08:13:41 -0700 (PDT) | From | Linus Torvalds <> | Subject | Re: [rfc][patch] remove racy sync_page? |
| |
On Thu, 1 Jun 2006, Nick Piggin wrote: > > > And yes, we used to have explicit unplugging (a long long long time ago), > > and IT SUCKED. People would forget, but even more importantly, people would > > do it even when not > > I don't see what the problem is. Locks also suck if you forget to unlock > them.
Locks are simple, and in fact are _made_ simple on purpose. We try very hard to unlock in the same function that we lock, for example. Because if we don't, bugs happen.
That's simply not _practical_ for IO. Think about it. Quite often, the waiting is done somewhere else than the actual submission.
> > needed because they didn't have a good place to do it because the waiter was > > in a totally different path. > > Example?
Pretty much all of them.
Where do you wait for IO?
Would you perhaps say "wait_on_page()"?
In other words, we really _do_ exactly what you think we should do.
> I don't know why you think this way of doing plugging is fundamentally > right and anything else must be wrong... it is always heuristic, isn't > it?
A _particular_ way of doing plugging is not "fundamentally right". I'm perfectly happy with chaning the place we unplug, if people want that. We've done it several times.
But plugging as a _concept_ is definitely fundamentally right, exactly because it allows us to have the notion of "plug + n*<random submit by different paths> + unplug".
And you were not suggesting moving unplugging around. You were suggesting removing the feature. Which is when I said "no f*cking way!".
Linus - 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/
| |