netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Harini Katakam <harinik@xilinx.com>
To: Paul Thomas <pthomas8589@gmail.com>
Cc: Richard Cochran <richardcochran@gmail.com>,
	"linuxptp-devel@lists.sourceforge.net" 
	<linuxptp-devel@lists.sourceforge.net>,
	netdev@vger.kernel.org
Subject: Re: [Linuxptp-devel] strangeness
Date: Fri, 8 Mar 2019 11:38:10 +0530	[thread overview]
Message-ID: <CAFcVECLKxeX-1SxszUZaWPp1u0gaYL2as6ZNa-2xzvrq83yTSg@mail.gmail.com> (raw)
In-Reply-To: <CAD56B7dQcSX6h+eHiiMHp3caJcd0t3RKTr8LFG9BaHAEdZd6gg@mail.gmail.com>

Hi Paul,
On Fri, Mar 8, 2019 at 12:33 AM Paul Thomas <pthomas8589@gmail.com> wrote:
>
> On Thu, Mar 7, 2019 at 12:32 AM Harini Katakam <harinik@xilinx.com> wrote:
> >
> > Hi Paul,
> > On Thu, Mar 7, 2019 at 4:38 AM Paul Thomas <pthomas8589@gmail.com> wrote:
> > >
> > > On Fri, Mar 1, 2019 at 1:24 AM Harini Katakam <harinik@xilinx.com> wrote:
> > > >
> > > > +netdev
> > > >
> > > > Hi Paul,
> > > > On Fri, Mar 1, 2019 at 12:29 AM Richard Cochran
> > > > <richardcochran@gmail.com> wrote:
> > > > >
> > > > > On Thu, Feb 28, 2019 at 12:33:26PM -0500, Paul Thomas wrote:
> > > > > > Yes changing it to TSTAMP_ALL_PTP_FRAMES instead of TSTAMP_ALL_FRAMES
> > > > > > does seem to fix the ssh issue. My worry is that there is still a bug
> > > > > > somewhere in the network stack that this is just masking.
> > > >
> > > > Ok thanks.
> > > > One place to check in the driver will be:
> > > > if (gem_ptp_do_txstamp(queue, skb, desc) == 0) {
> > > > /* skb now belongs to timestamp buffer
> > > > * and will be removed later
> > > > */
> > > > tx_skb->skb = NULL;
> > > > }
> > > > When all TX packets are timestamped, the skb always belongs to the
> > > > timestamp buffer.
> > > >
> > > > >
> > > > > Or the HW isn't sending the frames in the first place.
> > > > >
> > > > > Check that first!
> > > >
> > > > To check this, the statistics registers in MAC will be one way.
> > > > But if there is no TX completion interrupt, then I wouldn't expect
> > > > these statistics to increase either. The used bit status in BD dump
> > > > might be of more use.
> > > >
> > > > I will also try to reproduce (with TX timestamp ALL) and see if any of
> > > > the above gives some clue.
> > > >
> > > > Regards,
> > > > Harini
> > >
> > > Hi Harini, any luck looking at this?
> >
> > I'm sorry, I was not able to debug this further.
> >
> > >
> > > I didn't get very far, even in the "broken" state I see plenty of tx_frames:
> > > root@xu5:/opt/linuxptp# ethtool -S eth0
> > > NIC statistics:
> > >      ...
> > >      tx_frames: 39763
> > >      ...
> > >
> > > When you said "registers in the MAC" is ethtool -S displaying that?
> >
> > Yes, ethtool does display these statistics.
> > I was referring to the registers starting offset 0xFF0B0108 (for GEM0) here:
> > https://www.xilinx.com/html_docs/registers/ug1087/ug1087-zynq-ultrascale-registers.html
> > If you see this value increasing, then the MAC is transmitting successfully.
> > Although, I realize it could be other traffic. To see if specific
> > packets (for the
> > failed SSH connection) are not being queued, a BD dump might help.
> >
> > Regards,
> > Harini
>
> OK, I think things are becoming more clear. After just doing ioctl(fd,
> SIOCSHWTSTAMP, &ifreq) from userspace (tx_bd_control =
> TSTAMP_ALL_FRAMES in macb_ptp.c) then with the nc experiment some udp
> transmits do not make it to macb_start_xmit() until receive traffic on
> the nc connection comes in (one-to-one, one new rx packet means one
> old tx packet goes out).

Could you please share any wireshark log or dump for what is being
received here?

>
> Working setup:
> Before the tx_bd_control = TSTAMP_ALL_FRAMES.
> Every time I hit "sN Enter" from nc I see a macb_start_xmit
> print_hex_dump() and I see the packet on the nc client side:
> # nc -l -u -p 9999
> ...
> s11
> [  347.517080] macb_start_xmit data: 00000000: 20 b0 f7 04 0a 29 20 b0
> f7 04 0a 26 08 00 45 00   ....) ....&..E.
> s12
> [  348.964369] macb_start_xmit data: 00000000: 20 b0 f7 04 0a 29 20 b0
> f7 04 0a 26 08 00 45 00   ....) ....&..E.
> ...
>
> Broken setup:
> After the tx_bd_control = TSTAMP_ALL_FRAMES.
> Not the first nc packet, but many of the subsequent ones never make it
> to macb_start_xmit()
> # nc -l -u -p 9999
> ...
> s3
> s4
> s5
> ...
> Eventually after I send data from the client nc I do see the
> macb_start_xmit() lines.

Thanks for this debug. If macb_start_xmit is never called, one of
the preceeding checks (such as if skb is present or if the TX queues
are off  etc)
should fail. I'm still tracing this but I'm not sure under what
circumstances only
some UDP packets will be prevented from being transmitted.
Just to be sure, could you please confirm you are not seeing any
"buffer exhausted" messaged from TX error tasks?

Regards,
Harini

  reply	other threads:[~2019-03-08  6:09 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CAD56B7dA6jwPuTLjdRWJJhMpsbQBS8Bux3fo+e0ux5RZFGoHnQ@mail.gmail.com>
     [not found] ` <DM6PR02MB521169FFDB2902CA0AF7C27EC9750@DM6PR02MB5211.namprd02.prod.outlook.com>
     [not found]   ` <CAD56B7dOJfL9Y9sgTjDrHQXajDsjWAuF+fycvFL6ib3WX=-VDw@mail.gmail.com>
     [not found]     ` <CAD56B7eytgBherR7FNus1ZZ295c3+hMNp+KJCxBf71EVez998A@mail.gmail.com>
     [not found]       ` <20190228185758.6f37i2sfnr2mdrce@localhost>
2019-03-01  6:24         ` [Linuxptp-devel] strangeness Harini Katakam
2019-03-06 23:06           ` Paul Thomas
2019-03-07  5:32             ` Harini Katakam
2019-03-07 19:02               ` Paul Thomas
2019-03-08  6:08                 ` Harini Katakam [this message]
2019-03-08 18:07                   ` Paul Thomas
2019-03-08 21:41                     ` Paul Thomas
2019-03-09  5:38                       ` Harini Katakam
2019-03-09 21:06                         ` Paul Thomas
2019-03-12  2:55                           ` Paul Thomas
2019-03-12 10:10                             ` Harini Katakam
     [not found]                               ` <02874ECE860811409154E81DA85FBB5892324F9C@ORSMSX121.amr.corp.intel.com>
     [not found]                                 ` <CAD56B7cgf8zhBdPXV1wLQEMUaO1ZYR1iK7w5hY7zSfcty17Czg@mail.gmail.com>
     [not found]                                   ` <02874ECE860811409154E81DA85FBB5892325034@ORSMSX121.amr.corp.intel.com>
     [not found]                                     ` <CAD56B7cMYZP9vHijLQe0x=2mwnCFuromp4aAJf=np+FHEc=gZA@mail.gmail.com>
     [not found]                                       ` <02874ECE860811409154E81DA85FBB58923251BB@ORSMSX121.amr.corp.intel.com>
2019-03-12 20:00                                         ` Paul Thomas
2019-03-12 21:40                                           ` Keller, Jacob E

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=CAFcVECLKxeX-1SxszUZaWPp1u0gaYL2as6ZNa-2xzvrq83yTSg@mail.gmail.com \
    --to=harinik@xilinx.com \
    --cc=linuxptp-devel@lists.sourceforge.net \
    --cc=netdev@vger.kernel.org \
    --cc=pthomas8589@gmail.com \
    --cc=richardcochran@gmail.com \
    /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;
as well as URLs for NNTP newsgroup(s).