Re: [PATCH] [Request for inclusion] Filesystem in Userspace

Bryan Henderson
2004-11-18T17:13:31Z

> 2) doing non-blocking asynchronous writepage
>
>In the second case there is no deadlock, because the memory subsystem
>doesn't wait for data to be written. If the filesystem refuses to
>write back data in a timely manner, memory will get full and OOM
>killer will go to work.

I don't see how the OOM killer can help you here. The OOM killer deals
with the system being out of virtual memory; writepage is about freeing
real memory. The real memory allocator will wait forever if it has to for
pageouts to complete so that it can evict a page and free up real memory.

If a pageout requires a user space process to run, and the user space
process requires additional real memory (e.g. in order to swap something
in from swap space) to do the pageout, you can have a deadlock.

--
Bryan Henderson IBM Almaden Research Center
San Jose CA Filesystems