[etherlab-users] e1000e driver freeze on kernel 4.9.80 rtai 5.1
Wilfried Holzke
wholzke at uni-bremen.de
Thu Sep 27 17:41:54 CEST 2018
Hello,
we did a lot of testing (different kernel+rtai combinations, 32/64 bit
systems, rtai-watchdog, memtest, enabled different debugging options in
the linux kernel), but no success.
René told me that the problems occured while using the e1000e drivers
from the patch-set. Due to the fact that I created a e1000e driver a few
years ago, which worked fine for many year, we started to look at this
point. René replaced the e1000e driver from the patch-set with my
version. The result is that the systems runs for one day without any
problems, normaly the system freezes after minutes or a few hours.
The main differences are a few lines regarding e1000e_watchdog. I added
these lines to the etherlab-patch-set for kernel 4.9. We tested this
also, now for a few hours succesfully.
Here is the diff:
------------------------------------------------------------------
--- netdev-4.9-ethercat.c_orig 2018-09-26 20:34:17.916678969 +0200
+++ netdev-4.9-ethercat.c 2018-09-26 20:48:33.056631668 +0200
@@ -1046,6 +1046,7 @@
if (adapter->ecdev) {
ecdev_receive(adapter->ecdev, skb->data, length);
+ adapter->ec_watchdog_jiffies = jiffies; // ADDED
} else {
e1000_receive_skb(adapter, netdev, skb, staterr,
rx_desc->wb.upper.vlan);
@@ -1488,6 +1489,7 @@
if (adapter->ecdev) {
ecdev_receive(adapter->ecdev, skb->data, length);
+ adapter->ec_watchdog_jiffies = jiffies; // ADDED
} else {
e1000_receive_skb(adapter, netdev, skb, staterr,
rx_desc->wb.middle.vlan);
@@ -1678,6 +1680,7 @@
if (adapter->ecdev) {
ecdev_receive(adapter->ecdev, skb->data, length);
+ adapter->ec_watchdog_jiffies = jiffies; // ADDED
} else {
e1000_receive_skb(adapter, netdev, skb, staterr,
rx_desc->wb.upper.vlan);
@@ -7141,7 +7144,8 @@
if (jiffies - adapter->ec_watchdog_jiffies >= 2 * HZ) {
struct e1000_hw *hw = &adapter->hw;
hw->mac.get_link_status = true;
- e1000_watchdog((unsigned long) adapter);
+// e1000_watchdog((unsigned long) adapter);
+ e1000_watchdog_task(&adapter->watchdog_task); // REPLACED
adapter->ec_watchdog_jiffies = jiffies;
}
------------------------------------------------------------------
Please let us know if this fixes the problem on your system also.
regards
W. Holzke
Am 27.09.2018 um 09:02 schrieb René Reimann:
> Hello,
>
> we found out that the problem was in the e1000e driver, which caused the
> System to freeze under RTAI.
> My colleague will later provide the code that solved the problem.
>
> Best Regards
> René Reimann
>
>
> On 26.09.2018 09:55, René Reimann wrote:
>> We tried to use only the e1000e driver for kernel 4.9.80 and no other
>> patches. Additionaly we tried the e1000e driver
>> for kernel 3.18.22 with rtai 5.0. The problem remains the same in both
>> cases.
>>
>> There is no output to the syslog when the system freezes.
>>
>> On 26.09.2018 02:46, Gavin Lambert wrote:
>>> Email Signature
>>>
>>> One of the first things you should try is to triage the patches by
>>> rolling them back and then adding them one at a time and testing
>>> until you find which patch appears to introduce the problem (or
>>> whether it exists in the baseline without any patches). In most
>>> cases you can then try skipping that patch and applying subsequent
>>> ones until you find more problematic patches or you successfully
>>> apply the remainder.
>>>
>>> Please share your findings so that we know where to look for the culprit.
>>>
>>> (Also, if it manages to write some information to the syslog before
>>> freezing then that could be helpful.)
>>>
>>> FWIW, I’ve been using PREEMPT_RT kernel 4.9.51 with e1000e for a long
>>> while without issues.
>>>
>>> *From:*René Reimann
>>> *Sent:* Tuesday, 25 September 2018 19:28
>>> *To:* Gianluca Medini <gianluca.medini at gmail.com>;
>>> etherlab-users at etherlab.org
>>> *Subject:* Re: [etherlab-users] e1000e driver freeze on kernel 4.9.80
>>> rtai 5.1
>>>
>>> Hello,
>>>
>>> we are experiencing the same problem with rtai 5.1 kernel 4.9.80 and
>>> rtai 5.0 kernel.
>>> The system freezes randomly after several minutes with the e1000e and
>>> the unofficial patches.
>>> Does somebody have an idea how to fix this?
>>>
>>> Best Regards
>>> René Reimann
>>>
>>> On 23.09.2018 22:29, Gianluca Medini wrote:
>>>
>>> Hi all, I've tested the driver e1000e on rtai 5.1 kernel 4.9.80.
>>>
>>> I'm using Gavin Lambert unofficial patches set that includes
>>> patched drivers for 4.9.80.
>>>
>>> The system freezes randomly after some minutes.
>>>
>>> The Igb driver on same configuration works perfectly.
>>>
>>> Someone have experienced the same issue?
>>>
>>> GM
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>>
>>> etherlab-users mailing list
>>>
>>> etherlab-users at etherlab.org <mailto:etherlab-users at etherlab.org>
>>>
>>> http://lists.etherlab.org/mailman/listinfo/etherlab-users
>>> <https://emea01.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.etherlab.org%2Fmailman%2Flistinfo%2Fetherlab-users&data=02%7C01%7Cgavin.lambert%40tomra.com%7C4e061ec02fe04622d16708d622b86ca7%7C4308d118edd143008a37cfeba8ad5898%7C0%7C0%7C636734572828494098&sdata=qwxQi92RlqOAUXDeP8LWBp7c%2FASFzSt2gRtyX9Zkleo%3D&reserved=0>
>>>
>>> Logo
>>> <https://emea01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.ialb.uni-bremen.de&data=02%7C01%7Cgavin.lambert%40tomra.com%7C4e061ec02fe04622d16708d622b86ca7%7C4308d118edd143008a37cfeba8ad5898%7C0%7C0%7C636734572828494098&sdata=s9xz8CutmxeWMNAcG0Oyxj9OJtb%2FFkou1q6Im8h51dc%3D&reserved=0>
>>>
>>> René Reimann
>>> Research Assistent
>>>
>>> IALB - Institut for electrical drives, power electronics and devices
>>> Otto-Hahn-Allee 1
>>> 28359 Bremen
>>> Raum: S1390
>>> Tel.: +49 421 218 62699
>>> Fax: +49 421 218 98 62699
>>> E-Mail: rreimann at ialb.uni-bremen.de <mailto:rreimann at ialb.uni-bremen.de>
>>>
>>> www.ialb.uni-bremen.de
>>> <https://emea01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.ialb.uni-bremen.de&data=02%7C01%7Cgavin.lambert%40tomra.com%7C4e061ec02fe04622d16708d622b86ca7%7C4308d118edd143008a37cfeba8ad5898%7C0%7C0%7C636734572828494098&sdata=s9xz8CutmxeWMNAcG0Oyxj9OJtb%2FFkou1q6Im8h51dc%3D&reserved=0>
>>>
>>>
>>> <https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.avast.com%2Fsig-email%3Futm_medium%3Demail%26utm_source%3Dlink%26utm_campaign%3Dsig-email%26utm_content%3Demailclient&data=02%7C01%7Cgavin.lambert%40tomra.com%7C4e061ec02fe04622d16708d622b86ca7%7C4308d118edd143008a37cfeba8ad5898%7C0%7C0%7C636734572828494098&sdata=pxczI6vpHQb9qT7nuL5OXDCxkTqM4Y5CJ3xrXKNCiu4%3D&reserved=0>
>>>
>>>
>>>
>>> Virenfrei. www.avast.com
>>> <https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.avast.com%2Fsig-email%3Futm_medium%3Demail%26utm_source%3Dlink%26utm_campaign%3Dsig-email%26utm_content%3Demailclient&data=02%7C01%7Cgavin.lambert%40tomra.com%7C4e061ec02fe04622d16708d622b86ca7%7C4308d118edd143008a37cfeba8ad5898%7C0%7C0%7C636734572828494098&sdata=pxczI6vpHQb9qT7nuL5OXDCxkTqM4Y5CJ3xrXKNCiu4%3D&reserved=0>
>>>
>>>
>>
>>
>> --
>> Email Signature
>> Logo <http://www.ialb.uni-bremen.de>
>> René Reimann
>> Wissenschaftlicher Mitarbeiter
>> IALB - Institut für elektrische Antriebe, Leistungselektronik und
>> Bauelemente
>> Otto-Hahn-Allee 1
>> 28359 Bremen
>> Raum: S1390
>> Tel.: +49 421 218 62699
>> Fax: +49 421 218 98 62699
>> E-Mail: rreimann at ialb.uni-bremen.de <mailto:rreimann at ialb.uni-bremen.de>
>>
>> www.ialb.uni-bremen.de <http://www.ialb.uni-bremen.de>
>>
>>
>>
>> _______________________________________________
>> etherlab-users mailing list
>> etherlab-users at etherlab.org
>> http://lists.etherlab.org/mailman/listinfo/etherlab-users
> Email Signature
> Logo <http://www.ialb.uni-bremen.de>
> René Reimann
> Research Assistent
> IALB - Institut for electrical drives, power electronics and devices
> Otto-Hahn-Allee 1
> 28359 Bremen
> Raum: S1390
> Tel.: +49 421 218 62699
> Fax: +49 421 218 98 62699
> E-Mail: rreimann at ialb.uni-bremen.de <mailto:rreimann at ialb.uni-bremen.de>
>
> www.ialb.uni-bremen.de <http://www.ialb.uni-bremen.de>
>
>
>
> _______________________________________________
> etherlab-users mailing list
> etherlab-users at etherlab.org
> http://lists.etherlab.org/mailman/listinfo/etherlab-users
>
More information about the Etherlab-users
mailing list