Messages in this thread | | | Date | Thu, 13 Oct 2011 13:33:45 -0700 (PDT) | From | David Rientjes <> | Subject | Re: [PATCH] mm: add a "struct page_frag" type containing a page, offset and length |
| |
On Thu, 13 Oct 2011, Ian Campbell wrote:
> A few network drivers currently use skb_frag_struct for this purpose but I have > patches which add additional fields and semantics there which these other uses > do not want. >
Is this patch a part of a larger series that actually uses struct page_frag? Probably a good idea to post them so we know it doesn't just lie there dormant.
> A structure for reference sub-page regions seems like a generally useful thing > so do so instead of adding a network subsystem specific structure. >
Agreed.
> Signed-off-by: Ian Campbell <ian.campbell@citrix.com> > Cc: Christoph Hellwig <hch@infradead.org> > Cc: Jens Axboe <jaxboe@fusionio.com> > Cc: linux-mm@kvack.org > Cc: linux-kernel@vger.kernel.org > [since v1: s/struct subpage/struct page_frag/ on advice from Christoph]
Acked-by: David Rientjes <rientjes@google.com>
> --- > include/linux/mm_types.h | 11 +++++++++++ > 1 files changed, 11 insertions(+), 0 deletions(-) > > diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h > index 774b895..575faaf 100644 > --- a/include/linux/mm_types.h > +++ b/include/linux/mm_types.h > @@ -135,6 +135,17 @@ struct page { > #endif > ; > > +struct page_frag { > + struct page *page; > +#if (BITS_PER_LONG > 32) || (PAGE_SIZE >= 65536) > + __u32 page_offset; > + __u32 size; > +#else > + __u16 page_offset; > + __u16 size; > +#endif > +}; > + > typedef unsigned long __nocast vm_flags_t; > > /*
| |