Re: [2.6.37-rc1, OOM] virtblk: OOM in do_virtblk_request()

From: Michael S. Tsirkin
Date: Thu Nov 11 2010 - 08:16:08 EST


On Thu, Nov 11, 2010 at 07:52:54AM -0500, Christoph Hellwig wrote:
> On Thu, Nov 11, 2010 at 11:16:48AM +1030, Rusty Russell wrote:
> > On Thu, 11 Nov 2010 12:01:51 am Christoph Hellwig wrote:
> > > Rusty, Michael,
> > >
> > > any comments? I think Dave's observation is correct, and the lack of
> > > a mempool for allocations in the virtio stack is a no-go for virtio_blk.
> >
> > Interesting. virtio will try to fall back to using direct ring entries
> > if it can, but if course if your request is too large it can never do that.
> >
> > So, we could add a memory pool, or restrict the request size in virtio_blk.

IMO size restriction is required anyway as host might not support
indirect buffers. So let's do that, and then add mempool if someone has
the time to profile and show the benefit.

> The mempool looks like the more generic solution. Especially as people
> are still talking about swap over nfs, at which point virtio-net will
> show the same issue (just even harder to reproduce)

I don't think so - virtio-net does it correctly: it won't let you send
more packets than can fit in the ring.


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