Re: dccp send

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Dnia Thursday 03 January 2008, Arnaldo Carvalho de Melo napisał:
> Em Wed, Jan 02, 2008 at 11:34:25PM +0100, Tomasz Grobelny escreveu:
> > with speed at which packets can be transmitted over the network. Is it
> > the case for dccp as well? If so, does it mean that provided stable
> > network conditions over longer period of time and using blocking version
> > of sendmsg in a loop very few packets should be lost? (By very few I mean
> > < 10%)
>
> If the application sends many packets in rapid succession before the
> DCCP core gets permission from the CCID in use to send those packets to
> the network what will happen is that sk_write_queue will have packets
> waiting, using the memory allowed to be allocated for the socket send
> buffer, which will make sock_alloc_send_skb wait for the packets in
> sk_write_queue to be sent, freeing up send buffer space, when it will be
> possible for sock_alloc_send_skb to actually allocate memory for the
> packet and return to dccp_sendmsg, that in turn will return to the
> application after putting the newly allocated packet in sk_write_queue,
> doing the send buffer accounting and trying to send something in
> dccp_write_xmit, where it will ask the CCID if it can send some more
> packets, got it?
>
I think I almost got it. Thanks a lot for the detailed explanation. But I've 
got two more questions:
1. How can I control the amount of "memory allowed to be allocated for the 
socket send buffer"? It it somehow connected with tx_qlen or is it not?
2. If I decide that for whatever reason a given skb already in sk_write_queue 
should not be transmitted I should remove it from queue and call kfree_skb on 
it, it that right?
-- 
Regards,
Tomasz Grobelny
-
To unsubscribe from this list: send the line "unsubscribe dccp" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel]     [IETF DCCP]     [Linux Networking]     [Git]     [Security]     [Linux Assembly]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]

  Powered by Linux