From: Mika Westerberg <mika.westerb...@linux.intel.com> Date: Wed, 27 Sep 2017 20:27:02 +0300
> On Wed, Sep 27, 2017 at 09:27:09AM -0700, David Miller wrote: >> From: Mika Westerberg <mika.westerb...@linux.intel.com> >> Date: Wed, 27 Sep 2017 16:42:38 +0300 >> >> > Using build_skb() then would require to allocate larger buffer, that >> > includes NET_SKB_PAD + SKB_DATA_ALIGN(skb_shared_info) and that exceeds >> > page size. Is this something supported by build_skb()? It was not clear >> > to me based on the code and other users of build_skb() but I may be >> > missing something. >> >> You need NET_SKB_PAD before and SKB_DATA_ALIGN(skb_shared_info) afterwards. >> An order 1 page, if that's what you need, should work just fine. > > I mean in order to fit a single ThunderboltIP frame, I would need to > allocate NET_SKB_PAD+4096+SKB_DATA_ALIGN(skb_shared_info) size buffer. Which would be an order 1 page or 8192 bytes. > Is that still fine for build_skb()? Also can I use that with > skb_add_rx_frag() which seem to take single page? Again, an order 1 page should work fine.