2011/5/16 Emmanuel Grumbach <egrumbach@xxxxxxxxx>: > 2011/5/16 MichaÅ MirosÅaw <mirqus@xxxxxxxxx>: >> 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. > > Sure. Thanks for the help. How it is ensured that skb manipulation won't corrupt another packet on the same page? Thanks Tomas -- 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