Messages in this thread |  | | | Subject | Re: alloc skb based on a given data buffer | | From | Zhu Yi <> | | Date | Tue, 15 Sep 2009 16:57:29 +0800 |
| |
On Tue, 2009-09-15 at 16:33 +0800, David Miller wrote: > From: Zhu Yi <yi.zhu@intel.com> > Date: Tue, 15 Sep 2009 16:30:20 +0800 > > > This way, device drivers can allocate the Rx buffers with their own size > > and alignment requirement. i.e. do an order-1 page allocation directly > > with free_pages() in the iwlagn driver for a 256 bytes aligned 8K Rx > > buffer. After DMA is finished, drivers can use the above function to > > assemble an skb based on the Rx buffer. It should resolve the problem > > for requiring an order-2 allocation by alloc_skb() in the first place. > > You can create paged RX skbs just like drivers such as niu.c > and others already do, there is no need for special APIs for > this.
Thanks. So we can put the 8K buffer into 2 skb_shinfo()->frags[] slots and set nr_frags to 2, right? Is this supported allover the network code already? At a first glance, I didn't find any frags handling in mac80211 stack.
Thanks, -yi
|  |