On 10/08/2021 16.01, Jakub Kicinski wrote:
On Fri, 6 Aug 2021 10:46:18 +0800 Yunsheng Lin wrote:
enable skb's page frag recycling based on page pool in
hns3 drvier.
Applied, thanks!
I had hoped to see more acks / reviewed-by before this got applied.
E.g. from MM-people as this patchset changes struct page and page_pool
(that I'm marked as maintainer of). And I would have appreciated an
reviewed-by credit to/from Alexander as he did a lot of work in the RFC
patchset for the split-page tricks.
p.s. I just returned from vacation today, and have not had time to
review, sorry.
--Jesper
(relevant struct page changes for MM-people to review)
diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h
index 52bbd2b..7f8ee09 100644
--- a/include/linux/mm_types.h
+++ b/include/linux/mm_types.h
@@ -103,11 +103,19 @@ struct page {
unsigned long pp_magic;
struct page_pool *pp;
unsigned long _pp_mapping_pad;
- /**
- * @dma_addr: might require a 64-bit value on
- * 32-bit architectures.
- */
- unsigned long dma_addr[2];
+ unsigned long dma_addr;
+ union {
+ /**
+ * dma_addr_upper: might require a 64-bit
+ * value on 32-bit architectures.
+ */
+ unsigned long dma_addr_upper;
+ /**
+ * For frag page support, not supported in
+ * 32-bit architectures with 64-bit DMA.
+ */
+ atomic_long_t pp_frag_count;
+ };
};
struct { /* slab, slob and slub */