Regarding connector netlink running out of buffer space.
From: Jeff Haran <hidden>
Date: 2011-07-29 20:53:58
-----Original Message----- From: kernelnewbies-bounces at kernelnewbies.org [mailto:kernelnewbies- bounces at kernelnewbies.org] On Behalf Of mindentropy Sent: Friday, July 29, 2011 1:35 PM To: kernelnewbies at kernelnewbies.org Subject: Regarding connector netlink running out of buffer space. Hi, I am trying to benchmark connector netlink and am passing a file and sending the same to listening userspace app's using connectors i.e. cat
filename >
/dev/myconnector and an app listening. When I do this I always run
into
ENOBUFS or "No buffer space available" for files greater than 2MB. Now how should I fix this? a) Increase the socket buffers? My rmem_max is 131071 and rmem_default is 126976 b) Should I check for the seq and ack and resend the packets? If yes
how
much packets should I not discard to do a resend? Are there any other ways? Also I am not sure why local loop would
cause
enobufs? I am running this on a quad core with 3G of RAM. Thanks.
Just guessing here, but it's possible the kernel is attempting to kmalloc() a single buffer for the whole file and with the file at 2MB there's no slab/slob/slub with buffers that big. You might need to write to /dev/myconnector in smaller chunks. Again, just a guess.