strange behavior of sk_rmem_alloc

sugnan prabhu sugnan.prabhu at gmail.com
Tue Dec 28 23:04:44 EST 2010


Hello all,

       I have written a network driver, address family and a protocol
family, when i create a socket in a user space program to my PF and AF, it
receives only first 300 packets and i see that all the packets are being
received till the function sk_recieve_skb() is called.
      When i tried searching for the root of the cause, i found that
*sk_rcvqueues_full(sk,skb)
*returns true after receiving 300 packets, further observing the cause i
found that the variable *sk_rmem_alloc* which is being checked in the
function in never getting decremented.

http://www.pubbs.net/200912/kernel/700-seeing-strange-values-for-tcp-skrmemalloc.html

<http://www.pubbs.net/200912/kernel/700-seeing-strange-values-for-tcp-skrmemalloc.html>In
the above link i found that some one had similar problem, and as it says
calling *skb_copy_datagram_iovec()* should decrement the *sk_rmem_alloc*, am
even doing that. So can some suggest what can be the problem. One more
strange thing is *sk_queue_empty(&sk->receive_queue)* start returning true
after 300 packet.


---------------------------------------------------
Thanking You,
Sugnan Prabhu S
http://sugnanprabhu.blogspot.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20101229/9f3cff72/attachment.html 


More information about the Kernelnewbies mailing list