public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Duncan Hare <dh@synoia.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] TCP & Overrrun
Date: Thu, 8 Feb 2018 18:41:25 -0800	[thread overview]
Message-ID: <20180208184125.7dec219f@raspberrypi> (raw)
In-Reply-To: <820972861.1357945.1518128144239@mail.yahoo.com>

On Thu, 8 Feb 2018 22:15:44 +0000 (UTC)
Duncan Hare <dh@synoia.com> wrote:

>  Duncan Hare
> 
> 714 931 7952
> 
>      
> ----- Forwarded Message -----
>  From: Joe Hershberger <joe.hershberger@ni.com>
>  To: Duncan Hare <dh@synoia.com> 
> Cc: u-boot <u-boot@lists.denx.de>; Joe Hershberger
> <joe.hershberger@ni.com> Sent: Thursday, February 8, 2018 11:40 AM
>  Subject: Re: [U-Boot] TCP & Overrrun
>    
> Hi Duncan,
> 
> On Wed, Feb 7, 2018 at 8:40 PM, Duncan Hare <dh@synoia.com> wrote:
> > I'm gettin overrun on the raspberry pi.
> >
> > Which ethernet drived does it use?
> 
> You didn't specify which one you are talking about, but here's how to
> find out...
> 
> Assuming rpi3, find the config first...
> 
> configs/rpi_3_defconfig says:
> CONFIG_DEFAULT_DEVICE_TREE="bcm2837-rpi-3-b"
> arch/arm/dts/bcm2837-rpi-3-b.dts says: #include
> "bcm283x-rpi-smsc9514.dtsi" arch/arm/dts/bcm283x-rpi-smsc9514.dtsi
> says:                ethernet: usbether at 1 {
> compatible = "usb424,ec00"; grep -rn ec00 drivers/ says:
> drivers/usb/eth/smsc95xx.c
> 
> Cheers,
> -Joe
> 
> > I need to determine if it
> > uses CONFIG_SYS_RX_ETH_BUFFER" from net.h and the "net_rx_packets"
> > buffer pool defined in net/net.c
> >
> > grep suggests it is not using net_rx_packets.
> >
> > Thanks
> >
> > Duncan Hare
> > _______________________________________________
> > U-Boot mailing list
> > U-Boot at lists.denx.de
> > https://lists.denx.de/listinfo/u-boot
___________________________________________________
Joe

Two solutions:

Option 1.

drivers/usb/eth/smsc95xx.c pulls packet in from the device, single rx buffer, and runs the packet
rx code in net.c. Assumption is packets are polled for, thus single
rx buffer is acceptable.

net_rx_packets exists, and can be use, if looking for rx packet call
is called frequently though system. 

This would work for all existing drivers.

net.c fills net_rx_packets and calls a routine to process packets, and
and the tcp system system polls via smsc95xx_recv through the interface
structure at places in the code to process fill net_rx_packets as a
packet queue.

A TCP window limits the number of packets in process. 

Option 2.

The driver is changed to set an interrupt and the interrupt
preempts the packet processing, as interrupts do.

But, this requires driver changes to use TCP.

And good hardware documentation. 

   

  parent reply	other threads:[~2018-02-09  2:41 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-08  2:40 [U-Boot] TCP & Overrrun Duncan Hare
2018-02-08 19:39 ` Joe Hershberger
     [not found]   ` <820972861.1357945.1518128144239@mail.yahoo.com>
2018-02-08 22:41     ` dh at synoia.com
2018-02-09  2:41     ` Duncan Hare [this message]
2018-02-09 21:11       ` Joe Hershberger
     [not found]         ` <240060435.2566037.1518309545610@mail.yahoo.com>
2018-02-11  0:44           ` Duncan Hare
2018-02-12 19:35             ` Joe Hershberger
2018-02-22  0:39               ` [U-Boot] TCP Patch Set Duncan Hare
2018-02-22  1:45                 ` Joe Hershberger

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180208184125.7dec219f@raspberrypi \
    --to=dh@synoia.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox