swiotlb: check alloc_size before the allocation of a new memory pool
The allocation request for swiotlb contiguous memory greater than 128*2KB cannot be fulfilled because it exceeds the maximum contiguous memory limit. If the swiotlb memory we allocate is larger than 128*2KB, swiotlb_find_slots() will still schedule the allocation of a new memory pool, which will increase memory overhead. Fix it by adding a check with alloc_size no more than 128*2KB before scheduling the allocation of a new memory pool in swiotlb_find_slots(). Signed-off-by:ZhangPeng <zhangpeng362@huawei.com> Reviewed-by:
Petr Tesarik <petr.tesarik1@huawei-partners.com> Signed-off-by:
Christoph Hellwig <hch@lst.de>
Loading
Please sign in to comment