I think we should first try to replace the first tipc_buf_acquire() call 
in msg.c::msg_build() with a call where we explicitly use GFP_KERNEL 
instead of GFP_ATOMIC. Or maybe better, add this a an argument to 
tipc_buf_acquire().

///jon



On 12/29/2016 08:31 AM, Parthasarathy Bhuvaragan wrote:
> On 12/28/2016 09:46 PM, Rune Torgersen wrote:
>> What will cause a sendto() call to a Tipc RDM socket to return a ENOMEM?
>> I am sending a roughly 30K message, and occasionally get that error.
>> (Ubuntu 16.04 LTS kernel)
> If your message receiver is the same local node, then tipc will try
> avoid fragmentation/reassembly by allocating an skb large enough to fix
> the message.
>
> The memory (if not cached) will be allocated from the buddy pool. The
> current memory situation for the buddypool can be listed using:
> cat /proc/buddyinfo
>
> When the system runs out of buffers of size >= 32K (2^3 => 8 * 4K page
> size) in buddypool, the memory allocation will fail for intranode.
>
> To fix this, we need to send this message chaining several smaller
> buffers without inserting the fragment header only for intranode.
>
> This will surely impact the latency and throughputs for intra-node
> communication for sizes > MTU.
>
> /Partha
>
>> ------------------------------------------------------------------------------
>> Check out the vibrant tech community on one of the world's most
>> engaging tech sites, SlashDot.org! http://sdm.link/slashdot
>> _______________________________________________
>> tipc-discussion mailing list
>> tipc-discussion@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/tipc-discussion
>>
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, SlashDot.org! http://sdm.link/slashdot
> _______________________________________________
> tipc-discussion mailing list
> tipc-discussion@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/tipc-discussion


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most 
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
tipc-discussion mailing list
tipc-discussion@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tipc-discussion

Reply via email to