Re: [rfc][patch] remove racy sync_page?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux