On Thu, Apr 11, 2019 at 8:39 AM Jesper Dangaard Brouer <brouer@xxxxxxxxxx> wrote: > > On Wed, 10 Apr 2019 16:34:29 -0700 > Song Liu <liu.song.a23@xxxxxxxxx> wrote: > > > > +struct sk_buff *build_skb_around(struct sk_buff *skb, > > > + void *data, unsigned int frag_size) > > > +{ > > > + if (unlikely(!skb)) > > > + return NULL; > > > + > > > + skb = __build_skb_around(skb, data, frag_size); > > > > > > > + > > > + if (skb && frag_size) { > > > + skb->head_frag = 1; > > > + if (page_is_pfmemalloc(virt_to_head_page(data))) > > > + skb->pfmemalloc = 1; > > > + } > > > > I didn't find any explanation of this part (head_frag, pfmemalloc). > > Shall we split it out to a separate patch? > > No, it belongs here. This is like/based on the __build_skb() and > build_skb() split, and needed such that __build_skb() can reuse the > code in __build_skb_around(). I see. Thanks for the explanation. Acked-by: Song Liu <songliubraving@xxxxxx> > > -- > Best regards, > Jesper Dangaard Brouer > MSc.CS, Principal Kernel Engineer at Red Hat > LinkedIn: http://www.linkedin.com/in/brouer