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