Regarding connector netlink running out of buffer space.

mindentropy mindentropy at gmail.com
Fri Jul 29 17:02:14 EDT 2011


On Saturday 30 Jul 2011 2:23:58 AM Jeff Haran wrote:
> > -----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.

My device write file operation as of now accepts 1024 byte chunks. So my 
payload size is just 1024 bytes. For simple testing I tried with just 5 bytes. 
This too fails.



More information about the Kernelnewbies mailing list