Messages in this thread | | | Subject | Re: Swap on Fuse deadlocks? | From | Miklos Szeredi <> | Date | Tue, 26 Sep 2006 19:54:39 +0200 |
| |
> > I just tried to set up an LZOlayer swap partition: > > > > http://north.one.pl/~kazik/pub/LZOlayer/ > > > > The layout was as such: > > > > /tmp/swap_base - tmpfs (run1), disk (run2) > > /tmp/swap - lzolayer swap_base > > /tmp/swap/swap0 - 200M swap file > > /dev/loop0 - /tmp/swap/swap0 loopback > > > > I turned on loop0, crept anywhere over 10 megs into swap and it seized > > up (otherwise it was fine). This happened in both run1 (swap on tmpfs) > > and run2 (swap on disk). > > > > The swap on tmpfs I can understand; it'll essentially loop trying to > > allocate new swap, swap in and out parts of the swap file to itself, and > > eventually hit a condition where it's trying to swap an area of the swap > > file into itself, creating an infinite loop. > > > > Swap on disk I don't get. A little slow perhaps due to the LZO or zlib > > compression in the middle (lzolayer lets you pick either); but a total > > freeze? What's wrong here, is lzo_fs data getting swapped out and then > > not swapped in because it's needed to decompress itself? > > Yes, possibly. Or maybe lzo_fs needs to allocate memory and kernel > decides it needs to swap for that? > > It is miracle that fuse works for normal write, do not expect it to > work for swap. (Does it even work mmap-ed writes?)
No. Though with the dirty page accounting and callback in 2.6.18 it would be possible to add writable mmap support.
This is next on my todo list once fuse-2.6.0 is out and I have a little spare time.
Miklos - 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/
| |