On Wed, 21 May 2008 09:19:42 +1000 David Chinner <dgc@sgi.com> wrote:It's more than efficiency. There are lots and lots of things we cannot do in direct-reclaim context. a) Can't lock pages (well we kinda sorta could, but generally code will just trylock) b) Cannot rely on the inode or the address_space being present in memory after we have unlocked the page. c) Cannot run iput(). Or at least, we couldn't five or six years ago. afaik nobody has investigated whether the situation is now better or worse. d) lots of deadlock scenarios - need to test __GFP_FS basically everywhere in which you share code with normal writeback paths. Plus e), f), g) and h). Direct-reclaim is a hostile environment. Things like b) are a real killer - nasty, subtle, rare, memory-pressure-dependent crashes. --
| Greg Kroah-Hartman | [PATCH 001/196] Chinese: Add the known_regression URI to the HOWTO |
| Linus Torvalds | Linux 2.6.21-rc1 |
| Tarkan Erimer | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| pageexec | Re: [stable] Linux 2.6.25.10 |
| Linus Torvalds | Re: [GIT]: Networking |
| Gerrit Renker | [PATCH 15/37] dccp: Set per-connection CCIDs via socket options |
| Natalie Protasevich | [BUG] New Kernel Bugs |
| Jarek Poplawski | [PATCH take 2] pkt_sched: Protect gen estimators under est_lock. |
git: | |
