W dniu 16 maja 2011 14:59 użytkownik Emmanuel Grumbach <egrumbach@xxxxxxxxx> napisał: > 2011/5/16 Michał Mirosław <mirqus@xxxxxxxxx>: >> 2011/5/16 Emmanuel Grumbach <egrumbach@xxxxxxxxx>: >>> I would like to be able to deliver the same page several times to the >>> stack without having the stack consume it before the last time I >>> deliver it. >>> Of course I would like to avoid cloning it. >> >> Just do get_page() on the page having another packet in it before >> passing skb up. >> > > I can see the path: > __kfree_skb -> skb_release_all -> skb_release_data -> put_page > put_page will free the page iff the _count variable reaches 0. Of course, > _count is incremented by get_page. > > I will give it try. > > I understand that this will work regardless the order given to > alloc_pages right ? Yes. Remember that if you put a lot of packets in a big-order page then the memory will be freed only after all packets are freed. Best Regards, Michał Mirosław -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html