*/intskb_copy_and_csum_datagram_iovec(struct sk_buff *skb,inthlen, struct iovec *iov){ __wsum csum;intchunk = skb->len - hlen;/* Skip filled elements. * Pretty silly, look at memcpy_toiovec, though 8) */while(!iov->iov_len) iov++;if(iov->iov_len < chunk) {if(__skb_chec...
int skb_copy_datagram_iovec(const structsk_buff *from, int offset, struct iovec *to, int size); Here,the user's data area is described by the given IOVEC. The other parameters arenearly identical to those passed in to skb_copy_bits() above. skb_reserve 一般用于alloc skb之后 /** * ...
int skb_copy_datagram_iovec(const structsk_buff *from, int offset, struct iovec *to, int size); Here,the user's data area is described by the given IOVEC. The other parameters arenearly identical to those passed in to skb_copy_bits() above. http://vger.kernel.org/~davem/skb_data....
int skb_copy_datagram_iovec(const struct sk_buff *from, int offset, struct iovec *to, int size); Here, the user's data area is described by the given IOVEC. The other parameters are nearly identical to those passed in to skb_copy_bits() above....
- On CPU 1, skb_copy_datagram_iovec is called on clone 1, is reads nr_frags and seesvalue > 1.- On CPU 2, __skb_linearize is now called on clone 2, it modified theskb so nr_frags is now 0, and does put_page for all frags > 1.- On CPU 1, skb_copy_datagram_iovec will...