Thread (3 messages) 3 messages, 2 authors, 2011-07-29

Regarding connector netlink running out of buffer space.

From: mindentropy <hidden>
Date: 2011-07-29 21:02:14

On Saturday 30 Jul 2011 2:23:58 AM Jeff Haran wrote:
quoted
-----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
quoted
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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help