Subject: [PATCH] net/xdp: use shift instead of 64 bit division

From: Pavel Machek <[email-masked]>
Date: Thu, 4 Jun 2020 23:42:59 +0200

64bit division is kind of expensive, and shift should do the job here.

Signed-off-by: Pavel Machek (CIP) <[email-masked]>

---

Now with patch. Sorry about that.

diff --git a/net/xdp/xdp_umem.c b/net/xdp/xdp_umem.c
index 3889bd9aec46..d6c91a43a1ee 100644
--- a/net/xdp/xdp_umem.c
+++ b/net/xdp/xdp_umem.c
@@ -372,7 +372,7 @@ static int xdp_umem_reg(struct xdp_umem *umem, struct xdp_umem_reg *mr)
 	if ((addr + size) < addr)
 		return -EINVAL;
 
-	npgs = div_u64(size, PAGE_SIZE);
+	npgs = size >> PAGE_SHIFT;
 	if (npgs > U32_MAX)
 		return -EINVAL;

-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html