Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 75028a22 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "iommu: do not attempt reclaim on higher order allocs"

parents 8040aedd 4133d4c6
Loading
Loading
Loading
Loading
+8 −3
Original line number Diff line number Diff line
@@ -1288,9 +1288,14 @@ static struct page **__iommu_alloc_buffer(struct device *dev, size_t size,
	while (count) {
		int j, order = __fls(count);

		pages[i] = alloc_pages(gfp, order);
		while (!pages[i] && order)
			pages[i] = alloc_pages(gfp, --order);
		pages[i] = alloc_pages(order ? (gfp | __GFP_NORETRY) &
					~__GFP_RECLAIM : gfp, order);
		while (!pages[i] && order) {
			order--;
			pages[i] = alloc_pages(order ? (gfp | __GFP_NORETRY) &
					~__GFP_RECLAIM : gfp, order);
		}

		if (!pages[i])
			goto error;

+3 −2
Original line number Diff line number Diff line
@@ -369,8 +369,9 @@ static struct page **__iommu_dma_alloc_pages(unsigned int count,
			unsigned int order = __fls(order_mask);

			order_size = 1U << order;
			page = alloc_pages((order_mask - order_size) ?
					   gfp | __GFP_NORETRY : gfp, order);
			page = alloc_pages(order ?
					   (gfp | __GFP_NORETRY) &
						~__GFP_RECLAIM : gfp, order);
			if (!page)
				continue;
			if (!order)