Re: [PATCH] vhost-net: fall back to vmalloc if high-order allocation fails
From: Romain Francoise
Date: Fri Jun 28 2013 - 03:25:22 EST
"Michael S. Tsirkin" <mst@xxxxxxxxxx> writes:
> On Wed, Jan 23, 2013 at 09:46:47PM +0100, Romain Francoise wrote:
>> Creating a vhost-net device allocates an object large enough (34320 bytes
>> on x86-64) to trigger an order-4 allocation, which may fail if memory if
>> fragmented:
>>
>> libvirtd: page allocation failure: order:4, mode:0x2000d0
>> ...
>> SLAB: Unable to allocate memory on node 0 (gfp=0xd0)
>> cache: size-65536, object size: 65536, order: 4
>> node 0: slabs: 8/8, objs: 8/8, free: 0
>>
>> In that situation, rather than forcing the caller to use regular
>> virtio-net, try to allocate the descriptor with vmalloc().
>>
>> Signed-off-by: Romain Francoise <romain@xxxxxxxxxxxxx>
> Thanks for the patch.
> Hmm, I haven't seen this.
> Maybe we should try and reduce our memory usage,
> I will look into this.
Did you get a chance to investigate this? I'm still getting the same
allocation failures with v3.10-rc7 after reverting my local patch.
Thanks.
--
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/