[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-rdma
Subject:    Re: [PATCH for-next 01/13] RDMA/rxe: Decouple rxe_pkt_info from sk_buff
From:       Jason Gunthorpe <jgg () nvidia ! com>
Date:       2021-08-27 13:01:18
Message-ID: 20210827130118.GA1354480 () nvidia ! com
[Download RAW message or body]

On Thu, Jul 29, 2021 at 05:49:04PM -0500, Bob Pearson wrote:
>  	return sizeof(struct rxe_recv_wqe) +
> diff --git a/drivers/infiniband/sw/rxe/rxe_net.c b/drivers/infiniband/sw/rxe/rxe_net.c
> index 4f96437a2a8e..6212e61d267b 100644
> +++ b/drivers/infiniband/sw/rxe/rxe_net.c
> @@ -155,7 +155,7 @@ static int rxe_udp_encap_recv(struct sock *sk, struct sk_buff *skb)
>  	struct udphdr *udph;
>  	struct rxe_dev *rxe;
>  	struct net_device *ndev = skb->dev;
> -	struct rxe_pkt_info *pkt = SKB_TO_PKT(skb);
> +	struct rxe_pkt_info *pkt;
>  
>  	/* takes a reference on rxe->ib_dev
>  	 * drop when skb is freed
> @@ -172,6 +172,10 @@ static int rxe_udp_encap_recv(struct sock *sk, struct sk_buff *skb)
>  		goto drop;
>  	}
>  
> +	pkt = kzalloc(sizeof(*pkt), GFP_ATOMIC);
> +	RXE_CB(skb)->pkt = pkt;
> +	pkt->skb = skb;
> +

Isn't this a huge performance cost? Not even a kmem cache or something?

Jason
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic