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

Miklos Szeredi
2004-11-18T19:56:09Z

> The "allocation" is a fetch or store instruction by the FUSE process,
> which generates a page fault. To satisfy that, the kernel has to allocate
> some real memory. A fetch or store instruction doesn't fail when there's
> no real memory available. It just waits for the kernel to make some
> available. The kernel does that by picking some less deserving page and
> evicting it. That eviction may require a pageout. If the guy who's doing
> the fetch or store is the guy who's supposed to do that pageout, you have
> a deadlock.

OK. I still maintaintain, that this is an impossible situation, but
maybe I'm wrong.

> Furthermore, it's not right for the write() to fail or for any process to
> be killed by the OOM Killer. The system has the resources to complete the
> job. It just hasn't scheduled them correctly and thus backed itself into
> a corner.

Yes, but a kernel based filesystem would be in the same situation.
It's not a problem unique to userspace filesystems. And I think the
kernel is careful enough not to get into the corner. So there's no
problem.

Miklos