[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20170801.160736.94696246128929572.davem@davemloft.net>
Date: Tue, 01 Aug 2017 16:07:36 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: willemdebruijn.kernel@...il.com
Cc: netdev@...r.kernel.org, willemb@...gle.com
Subject: Re: [PATCH-net-next] net: add skb_frag_foreach_page and use with
kmap_atomic
From: Willem de Bruijn <willemdebruijn.kernel@...il.com>
Date: Mon, 31 Jul 2017 08:15:47 -0400
> From: Willem de Bruijn <willemb@...gle.com>
>
> Skb frags may contain compound pages. Various operations map frags
> temporarily using kmap_atomic, but this function works on single
> pages, not whole compound pages. The distinction is only relevant
> for high mem pages that require temporary mappings.
>
> Introduce a looping mechanism that for compound highmem pages maps
> one page at a time, does not change behavior on other pages.
> Use the loop in the kmap_atomic callers in net/core/skbuff.c.
>
> Verified by triggering skb_copy_bits with
>
> tcpdump -n -c 100 -i ${DEV} -w /dev/null &
> netperf -t TCP_STREAM -H ${HOST}
>
> and by triggering __skb_checksum with
>
> ethtool -K ${DEV} tx off
>
> repeated the tests with looping on a non-highmem platform
> (x86_64) by making skb_frag_must_loop always return true.
>
> Signed-off-by: Willem de Bruijn <willemb@...gle.com>
Ok, this looks good.
Thanks for following up on this.
Applied.
Powered by blists - more mailing lists