Return-Path: From: Martin Townsend To: linux-bluetooth@vger.kernel.org, linux-wpan@vger.kernel.org Cc: marcel@holtmann.org, alex.aring@gmail.com, jukka.rissanen@linux.intel.com, Martin Townsend Subject: [PATCH v4 bluetooth-next] 6lowpan: Use pskb_expand_head in IPHC decompression. Date: Wed, 8 Oct 2014 14:46:54 +0100 Message-Id: <1412776015-372-1-git-send-email-martin.townsend@xsilon.com> List-ID: This patch aims to reduce the amount of copying in the receive path when decompressing by checking for headroom and calling pskb_expand_head if required. Another benefit of this is that the skb pointer passed to the decompression routine will be the same skb after decompression. This will be a step towards freeing the skb within the receive function and not within all the error paths of the decompression routine. Bluetooth and 802.15.4 have been changed to ensure that the skb isn't shared before calling the decompression routine as this is a requirement of pskb_expand_head. v1 -> v2 Use const int for new headroom size. Remove blank line. Use skb_unshare instead of skb_copy_expand. Use consume_skb. v2 -> v3 Remove cases where we are trying to free a NULL skb. v3 -> v4 Now uses skb_share_check to ensure the skb isn't shared before decompressing. Martin Townsend (1): 6lowpan: Use pskb_expand_head in IPHC decompression. net/6lowpan/iphc.c | 51 +++++++++++++++++++++---------------------- net/bluetooth/6lowpan.c | 7 ++++++ net/ieee802154/6lowpan_rtnl.c | 5 +++++ 3 files changed, 37 insertions(+), 26 deletions(-) -- 1.9.1