netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next] net: qualcomm: rmnet: Support recycling frames to real device
@ 2017-10-27 20:30 Subash Abhinov Kasiviswanathan
  2017-10-27 21:00 ` Alexander Duyck
  2017-11-01  2:55 ` David Miller
  0 siblings, 2 replies; 5+ messages in thread
From: Subash Abhinov Kasiviswanathan @ 2017-10-27 20:30 UTC (permalink / raw)
  To: davem, netdev; +Cc: Subash Abhinov Kasiviswanathan

For deaggregation, the real device receives a large linear skb and
passes it on to rmnet. rmnet creates new skbs from this large frame.

If the real device supports recycling, it does not need to allocate
the large skbs during packet reception and can instead reuse them.

Signed-off-by: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>
---
 drivers/net/ethernet/qualcomm/rmnet/rmnet_handlers.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/qualcomm/rmnet/rmnet_handlers.c b/drivers/net/ethernet/qualcomm/rmnet/rmnet_handlers.c
index 29842cc..7869fcf 100644
--- a/drivers/net/ethernet/qualcomm/rmnet/rmnet_handlers.c
+++ b/drivers/net/ethernet/qualcomm/rmnet/rmnet_handlers.c
@@ -108,7 +108,10 @@ static void rmnet_set_skb_proto(struct sk_buff *skb)
 		while ((skbn = rmnet_map_deaggregate(skb)) != NULL)
 			__rmnet_map_ingress_handler(skbn, port);
 
-		consume_skb(skb);
+		if (skb->destructor)
+			skb->destructor(skb);
+		else
+			consume_skb(skb);
 	} else {
 		__rmnet_map_ingress_handler(skb, port);
 	}
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2017-11-01  2:55 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-10-27 20:30 [PATCH net-next] net: qualcomm: rmnet: Support recycling frames to real device Subash Abhinov Kasiviswanathan
2017-10-27 21:00 ` Alexander Duyck
2017-10-27 22:22   ` Subash Abhinov Kasiviswanathan
2017-10-28  1:19     ` Alexander Duyck
2017-11-01  2:55 ` David Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).