lkml.org 
[lkml]   [2014]   [Nov]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRE: [PATCH net-next 2/2] r8152: adjust rtl_start_rx
Date
David Miller [mailto:davem@davemloft.net] 
> Sent: Thursday, November 13, 2014 3:50 AM
[...]
> > According to the usbnet.c, it would make sure to submit the
> > number of min(10, RX_QLEN(dev)) rx buffers. If there are
> > not enough rx buffers, it schedule a tasklet for next try.
> >
> > The brief flow is as following.
> > 1. Call open().
> > - schedule a tasklet.
> > 2. Tasklet is called.
> > if (dev->rxq.qlen < RX_QLEN(dev)) {
> > - submit rx buffers util the number of
> > min(10, RX_QLEN(dev)). If the error
> > occurs, break the loop.
> > - If the dev->rxq.qlen < RX_QLEN(dev),
> > schedule the tasklet.
> > }
>
> That sounds like a better recovery model, why don't you mimick it?

My last method which I mentioned yesterday is similar to
this one. The difference is that I would re-use the rx
buffers, so I have to add them to the list for re-submitting,
not alwayes allocate new one.

Although one rx buffer could contain many packets, I don't
think the whole size of the rx buffer is alwayes used.
Therefore, I re-use the rx buffers to avoid allocating
the 16K bytes rx buffer alwayes. This also makes sure that
I always have the buffers to submit without allocating new
one.

If you could accept this, I would modify this patch by
this way.

Best Regards,
Hayes


\
 
 \ /
  Last update: 2014-11-13 04:01    [W:0.067 / U:2.776 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site