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 [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
- Follow-Ups:
- Re: [rfc][patch] remove racy sync_page?
- From: Linus Torvalds <[email protected]>
- Re: [rfc][patch] remove racy sync_page?
- References:
- [rfc][patch] remove racy sync_page?
- From: Nick Piggin <[email protected]>
- Re: [rfc][patch] remove racy sync_page?
- From: Andrew Morton <[email protected]>
- Re: [rfc][patch] remove racy sync_page?
- From: Nick Piggin <[email protected]>
- Re: [rfc][patch] remove racy sync_page?
- From: Andrew Morton <[email protected]>
- Re: [rfc][patch] remove racy sync_page?
- From: Nick Piggin <[email protected]>
- Re: [rfc][patch] remove racy sync_page?
- From: Linus Torvalds <[email protected]>
- Re: [rfc][patch] remove racy sync_page?
- From: Nick Piggin <[email protected]>
- Re: [rfc][patch] remove racy sync_page?
- From: Nick Piggin <[email protected]>
- Re: [rfc][patch] remove racy sync_page?
- From: Linus Torvalds <[email protected]>
- Re: [rfc][patch] remove racy sync_page?
- From: Nick Piggin <[email protected]>
- Re: [rfc][patch] remove racy sync_page?
- From: Linus Torvalds <[email protected]>
- Re: [rfc][patch] remove racy sync_page?
- From: Nick Piggin <[email protected]>
- Re: [rfc][patch] remove racy sync_page?
- From: Linus Torvalds <[email protected]>
- Re: [rfc][patch] remove racy sync_page?
- From: Nick Piggin <[email protected]>
- Re: [rfc][patch] remove racy sync_page?
- From: Linus Torvalds <[email protected]>
- Re: [rfc][patch] remove racy sync_page?
- From: Nick Piggin <[email protected]>
- Re: [rfc][patch] remove racy sync_page?
- From: Linus Torvalds <[email protected]>
- Re: [rfc][patch] remove racy sync_page?
- From: Nick Piggin <[email protected]>
- [rfc][patch] remove racy sync_page?
- Prev by Date: Re: [rfc][patch] remove racy sync_page?
- Next by Date: mem_map definition / declaration.
- Previous by thread: Re: [rfc][patch] remove racy sync_page?
- Next by thread: Re: [rfc][patch] remove racy sync_page?
- Index(es):