All of lore.kernel.org
 help / color / mirror / Atom feed
* Regarding connector netlink running out of buffer space.
@ 2011-07-29 20:35 mindentropy
  2011-07-29 20:53 ` Jeff Haran
  0 siblings, 1 reply; 3+ messages in thread
From: mindentropy @ 2011-07-29 20:35 UTC (permalink / raw)
  To: kernelnewbies

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.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Regarding connector netlink running out of buffer space.
  2011-07-29 20:35 Regarding connector netlink running out of buffer space mindentropy
@ 2011-07-29 20:53 ` Jeff Haran
  2011-07-29 21:02   ` mindentropy
  0 siblings, 1 reply; 3+ messages in thread
From: Jeff Haran @ 2011-07-29 20:53 UTC (permalink / raw)
  To: kernelnewbies

> -----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.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Regarding connector netlink running out of buffer space.
  2011-07-29 20:53 ` Jeff Haran
@ 2011-07-29 21:02   ` mindentropy
  0 siblings, 0 replies; 3+ messages in thread
From: mindentropy @ 2011-07-29 21:02 UTC (permalink / raw)
  To: kernelnewbies

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.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2011-07-29 21:02 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-07-29 20:35 Regarding connector netlink running out of buffer space mindentropy
2011-07-29 20:53 ` Jeff Haran
2011-07-29 21:02   ` mindentropy

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.