Messages in this thread | | | Date | Wed, 18 Nov 2009 20:15:10 +0900 | Subject | Re: [PATCH 2/7] mmc: Don't use PF_MEMALLOC | From | Minchan Kim <> |
| |
On Wed, Nov 18, 2009 at 7:54 PM, Peter Zijlstra <peterz@infradead.org> wrote: > On Wed, 2009-11-18 at 19:31 +0900, Minchan Kim wrote: >> > >> > Sure some generic blocklevel infrastructure might work, _but_ you cannot >> > take away the responsibility of determining the amount of memory needed, >> > nor does any of this have any merit if you do not limit yourself to that >> > amount. >> >> Yes. Some one have to take a responsibility. >> >> The intention was we could take away the responsibility from block driver. >> Instead of driver, VM would take the responsibility. >> >> You mean althgouth VM could take the responsiblity, it is hard to >> expect amout of pages needed by block drivers? > > Correct, its near impossible for the VM to accurately guess the amount > of memory needed for a driver, or limit the usage of the driver. > > The driver could be very simple in that it'll just start a DMA on the > page and get an interrupt when done, not consuming much (if any) memory > beyond the generic BIO structure, but it could also be some iSCSI > monstrosity which involves the full network stack and userspace.
Wow, Thanks for good example. Until now, I don't know iSCSI is such memory hog driver.
> That is why I generally prefer the user of PF_MEMALLOC to take > responsibility, because it knows its own consumption and can limit its > own consumption.
Okay. I understand your point by good explanation.
> Now, I don't think (but I could be wring here) that you need to bother > with PF_MEMALLOC unless you're swapping. File based pages should always > be able to free some memory due to the dirty-limit, whcih basically > guarantees that there are some clean file pages for every dirty file > page. > > My swap-over-nfs series used to have a block-layer hook to expose the > swap-over-block behaviour: > > http://programming.kicks-ass.net/kernel-patches/vm_deadlock/v12.99/blk_queue_swapdev.patch > > That gives block devices the power to refuse being swapped over, which > could be an alternative to using PF_MEMALLOC. >
Thanks for noticing me. I will look at your patches. Thanks again, Peter.
-- Kind regards, Minchan Kim
| |