From: Eilon Greenstein Date: Wed, 12 Aug 2009 08:23:20 +0000 (+0000) Subject: bnx2x: Prefetch the page containing the BD descriptor X-Git-Tag: v2.6.32-rc1~703^2~403 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=619e7a66b515f5f6b1cbe6f378f6a4ca3a65ac52;p=karo-tx-linux.git bnx2x: Prefetch the page containing the BD descriptor Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller --- diff --git a/drivers/net/bnx2x_main.c b/drivers/net/bnx2x_main.c index 88f30d254095..bdc2e71f491c 100644 --- a/drivers/net/bnx2x_main.c +++ b/drivers/net/bnx2x_main.c @@ -1498,6 +1498,13 @@ static int bnx2x_rx_int(struct bnx2x_fastpath *fp, int budget) bd_prod = RX_BD(bd_prod); bd_cons = RX_BD(bd_cons); + /* Prefetch the page containing the BD descriptor + at producer's index. It will be needed when new skb is + allocated */ + prefetch((void *)(PAGE_ALIGN((unsigned long) + (&fp->rx_desc_ring[bd_prod])) - + PAGE_SIZE + 1)); + cqe = &fp->rx_comp_ring[comp_ring_cons]; cqe_fp_flags = cqe->fast_path_cqe.type_error_flags;