Messages in this thread | | | Date | Thu, 18 Nov 2004 12:57:34 -0800 | From | Andrew Morton <> | Subject | Re: [PATCH] [Request for inclusion] Filesystem in Userspace |
| |
Linus Torvalds <torvalds@osdl.org> wrote: > > > > On Thu, 18 Nov 2004, Alan Cox wrote: > > > > > I really do believe that user-space filesystems have problems. There's a > > > reason we tend to do them in kernel space. > > > > > > But limiting the outstanding writes some way may at least hide the thing. > > > > Possibly dumb question. Is there a reason we can't have a prctl() that > > flips the PF_* flags for a user space daemon in the same way as we do > > for kernel threads that do I/O processing ? > > It's more than just PF_MEMALLOC. > > And PF_MEMALLOC really is to avoid _recursion_, which is the smallest > problem. It does so by allowing the process to dip into the critical > resources, but that only works if you know that the process is actually > freeing pages right then and there. If you set it willy-nilly, you'll just > run out of pages soon, and you'll be dead.
I've seen one 2.4-based project which had essentially a userspace blockdevice driver. Marking that special, trusted process PF_MEMALLOC did indeed fix low-on-memory deadlocks. Obviously it's something one does with caution, but there are times when it makes sense.
I think there are codepaths which unconditionally turn off PF_MEMALLOC, so they need to be tweaked to do a save/set/restore operation for it all to work. - 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/
| |