From: Alexander Stein <alexander.stein@systec-electronic.com>
To: "Koehrer Mathias (ETAS/ESW5)" <mathias.koehrer@etas.com>
Cc: Sebastian Andrzej Siewior <sebastian.siewior@linutronix.de>,
"linux-rt-users@vger.kernel.org" <linux-rt-users@vger.kernel.org>
Subject: Re: Kernel 4.6.7-rt13: Intel Ethernet driver igb causes huge latencies in cyclictest
Date: Mon, 26 Sep 2016 13:48:43 +0200 [thread overview]
Message-ID: <38815425.6GFOjqvR3a@ws-stein> (raw)
In-Reply-To: <ac1207c12ad34059956c2729ccf31e97@FE-MBX1012.de.bosch.com>
On Friday 23 September 2016 11:40:46, Koehrer Mathias wrote:
> Hi Sebastian,
>
>
> > thanks for the feedback.
> >
> > > > I run the cyclictest with the following options:
> > > > # cyclictest -a -i 100 -d 10 -m -n -t -p 80
> > >
> > >
> > >
> > > there is -S. And then 100 might be a little tight.
> > >
> > >
> > >
> > > > Of course the 2 minutes run-time of cyclictest is only a rough first
> > > > estimate.
> >
> > >
> > >
> > > and with no load…
> > >
> > >
> > >
> > > > Once I configure one of the i350 ports # ifconfig eth2 up
> > > > 192.168.100.100 the cyclictest shows directly and reproducibly
> > > > significant larger max latency values (40 microseconds, using the
> > > > same
> > >
> > > conditions).
> > >
> > > >
> > > >
> > > >
> > > > I did the very same test with kernel version 3.18.27-rt27.
> > > > With that version I did not see anything like that.
> > > >
> > > >
> > > >
> > > > Also, only the igb driver seems to cause the trouble. I have also an
> > > > e1000e based NIC in this PC and the usage of this driver does not
> > > > add any
> > >
> > > significant latency.
> > >
> > > >
> > > >
> > > > Any idea on this?
> > >
> > >
> > >
> > > Does this also happen if you have the NIC up and you plug in / out the
> > > cable? There are two things that come to mind:
> > >
> > > https://lkml.kernel.org/r/1445465268-10347-1-git-send-email-> > >
> > > jonathan.david@ni.com
> > >
> > >
> > >
> > > https://lkml.kernel.org/r/1445886895-3692-1-git-send-email-joshc@ni.co
> > > m
> >
> >
> > This happens even if I have done "ifconfig up" on the NIC without having a
> > cable
plugged in.
> > Also, it happens if I have a cable plugged in and the link is up but no
> > traffic is running
via this NIC port.
> > It looks as if solely the configured NIC port is causing the additional
> > latency, no
matter if traffic is flowing via this NIC or not and no
> > matter if the link is up or not.
> > I did the same test with the kernel/rt_preempt patch versions
> > 4.1.33-rt37 and 4.4.19-rt27, they show the very same behavior.
> > In opposite to that, the version 3.18.27-rt27 is working stable!
> >
> > As mentioned before, the "igb" driver is causing the issue. The "e1000e"
> > driver works
fine.
> >
>
> I did some further analysis.
> The code that is causing the long latencies seems to be the
> function "igb_watchdog_task" within igb_main.c (Line: 4386).
> This function will be called periodically.
> When I do a return at the beginning of this function the additional latency
> is not seen.
In particular that function calls "igb_has_link" which seems
> to be one candidate that is causing additional latency.
> Do you have any clue how this code can be executed properly without causing
> the
additional latencies?
IMHO something in igb_watchdog_task causes the latency independently from
actual link. At first glance I would suspect igb_update_stats (called with
spinlock held) as it seems to do a lot of reads. Maybe this stalls somehow.
Does the latency still occur if you comment that spinlock and call to
igb_update_stats out?
Best regards,
Alexander
next prev parent reply other threads:[~2016-09-26 11:48 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-09-22 12:44 Kernel 4.6.7-rt13: Intel Ethernet driver igb causes huge latencies in cyclictest Koehrer Mathias (ETAS/ESW5)
2016-09-22 15:12 ` Sebastian Andrzej Siewior
2016-09-23 6:38 ` AW: " Koehrer Mathias (ETAS/ESW5)
2016-09-23 11:40 ` Koehrer Mathias (ETAS/ESW5)
2016-09-23 12:32 ` Sebastian Andrzej Siewior
2016-09-23 13:23 ` Koehrer Mathias (ETAS/ESW5)
2016-09-23 14:41 ` Sebastian Andrzej Siewior
2016-09-26 11:12 ` Koehrer Mathias (ETAS/ESW5)
2016-09-28 19:45 ` Julia Cartwright
2016-10-04 14:33 ` Koehrer Mathias (ETAS/ESW5)
2016-10-04 19:34 ` Julia Cartwright
2016-10-05 7:02 ` Koehrer Mathias (ETAS/ESW5)
2016-10-05 15:59 ` [Intel-wired-lan] " Julia Cartwright
2016-10-05 15:59 ` Julia Cartwright
2016-10-06 7:01 ` [Intel-wired-lan] " Koehrer Mathias
2016-10-06 7:01 ` Koehrer Mathias (ETAS/ESW5)
2016-10-06 10:12 ` [Intel-wired-lan] " Henri Roosen
2016-10-06 10:12 ` Henri Roosen
2016-10-06 17:58 ` [Intel-wired-lan] " Williams, Mitch A
2016-10-06 17:58 ` Williams, Mitch A
2016-10-07 8:58 ` [Intel-wired-lan] " Koehrer Mathias
2016-10-07 8:58 ` Koehrer Mathias (ETAS/ESW5)
2016-10-10 19:39 ` [Intel-wired-lan] " Julia Cartwright
2016-10-10 19:39 ` Julia Cartwright
2016-10-13 6:15 ` [Intel-wired-lan] " Koehrer Mathias
2016-10-13 6:15 ` Koehrer Mathias (ETAS/ESW5)
2016-10-13 10:57 ` [Intel-wired-lan] " Koehrer Mathias
2016-10-13 10:57 ` Koehrer Mathias (ETAS/ESW5)
2016-10-13 14:02 ` [Intel-wired-lan] " David Laight
2016-10-13 14:02 ` David Laight
2016-10-13 16:18 ` [Intel-wired-lan] " Julia Cartwright
2016-10-13 16:18 ` Julia Cartwright
2016-10-14 8:58 ` [Intel-wired-lan] " Koehrer Mathias
2016-10-14 8:58 ` Koehrer Mathias (ETAS/ESW5)
2016-10-14 19:55 ` [Intel-wired-lan] " Julia Cartwright
2016-10-14 19:55 ` Julia Cartwright
2016-10-17 15:00 ` [Intel-wired-lan] " Koehrer Mathias
2016-10-17 15:00 ` Koehrer Mathias (ETAS/ESW5)
2016-10-17 15:39 ` [Intel-wired-lan] " Alexander Duyck
2016-10-17 15:39 ` Alexander Duyck
2016-10-17 18:32 ` Julia Cartwright
2016-10-17 18:32 ` Julia Cartwright
2016-10-18 8:43 ` [Intel-wired-lan] " Koehrer Mathias
2016-10-18 8:43 ` Koehrer Mathias (ETAS/ESW5)
2016-10-14 22:06 ` [Intel-wired-lan] " Richard Cochran
2016-10-14 22:06 ` Richard Cochran
2016-10-17 18:36 ` [Intel-wired-lan] " Julia Cartwright
2016-10-17 18:36 ` Julia Cartwright
2016-10-17 19:03 ` [Intel-wired-lan] " Richard Cochran
2016-10-17 19:03 ` Richard Cochran
2016-09-26 11:48 ` Alexander Stein [this message]
2016-09-27 6:29 ` Koehrer Mathias (ETAS/ESW5)
2016-09-27 7:56 ` Mathias Koehrer
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=38815425.6GFOjqvR3a@ws-stein \
--to=alexander.stein@systec-electronic.com \
--cc=linux-rt-users@vger.kernel.org \
--cc=mathias.koehrer@etas.com \
--cc=sebastian.siewior@linutronix.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 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.