Messages in this thread | | | Date | Thu, 01 Jun 2006 02:22:36 +1000 | From | Nick Piggin <> | Subject | Re: [rfc][patch] remove racy sync_page? |
| |
Nick Piggin wrote: > Linus Torvalds wrote: > >> Tell me WHERE you can unplug in that sequence. I will tell you where >> you can NOT unplug: > > > ... > >> - you can NOT just unplug in the path _after_ "readpage()", because >> the IO may have been started by SOMEBODY ELSE that just did >> read-ahead, and didn't unplug (on _purpose_ - the whole point of >> doing read-ahead is to allow concurrent IO execution, so a >> read-aheader that unplugs is broken by definition) > > > Umm, this happens with the current lock_page() after readpage. And > with per-task plugs, you do not unplug anybody else.
If this wasn't clear: I don't mean per-task plugs as in "the task explicitly plugs and unplugs the block device"[*]; I mean really per-task plugs.
[*] That would be crazy anyway because that would imply some random task can plug an filled request queue that is going full tilt.
-- SUSE Labs, Novell Inc. Send instant messages to your online friends http://au.messenger.yahoo.com
- 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/
| |