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

From: Miklos Szeredi
Date: Thu Nov 18 2004 - 14:58:32 EST


> 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
-
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/