> > Did you not solve this problem using right write_space?
> Sure, I can add specific checks for (atomic_read(&sk->wmem_alloc) <
> sk->sndbuf) in the RPC layer,
But it is there now.
udp_write_space(struct sock *sk)
struct rpc_xprt *xprt;
if (!(xprt = xprt_from_sock(sk)))
/* Wait until we have enough socket memory. */
So, I do not understand what you speak about.
> Sending partial messages isn't a feature
> that sounds like it would be particularly useful for any other applications
The thing, which is really useless, is that your patch preparing skbs
and dropping them in the next line. With the same success you could
trigger BUG() there. :-) Right application just should not reach
Anyway, I have to repeat:
>>Better way exists. Just use forced sock_wmalloc instead of
>>sock_alloc_send_skb on non-blocking send of all the fragments
>>but the first.
> However what if the actual call to alloc_skb() fails?
The same as if it would be lost by network.
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to email@example.com
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/