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

From: Andrew Morton
Date: Thu Nov 18 2004 - 16:05:32 EST


Linus Torvalds <torvalds@xxxxxxxx> 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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/