All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
From: Heiner Kallweit <hkallweit1@gmail.com>
To: Nikolai Zhubr <zhubr.2@gmail.com>, Arnd Bergmann <arnd@kernel.org>
Cc: netdev <netdev@vger.kernel.org>, Jeff Garzik <jgarzik@pobox.com>
Subject: Re: Realtek 8139 problem on 486.
Date: Tue, 1 Jun 2021 13:42:47 +0200	[thread overview]
Message-ID: <a1589139-82c7-0219-97ce-668837a9c7b1@gmail.com> (raw)
In-Reply-To: <60B611C6.2000801@gmail.com>

On 01.06.2021 12:53, Nikolai Zhubr wrote:
> Hi all,
> 
> 01.06.2021 10:20, Arnd Bergmann:
> [...]
>>> What was discussed here 16 yrs ago should sound familiar to you.
>>> https://www.mail-archive.com/linux-kernel@vger.kernel.org/msg92234.html
>>> "It was an option in my BIOS PCI level/edge settings as I posted."
>>> You could check whether you have same/similar option in your BIOS
>>> and play with it.
> 
> Yes indeed, this motherboard does have such an option, and it defaulted to "Edge", which apparently is not what PCI device normally expects.
> Changing it to "Level" made unmodified kernel 2.6.4 work fine.

Great, so you have a solution for your problem, as i would expect that this
setting also makes 8139too in newer kernels usable for you.

> And 8259A.pl comfirms this, too.
> 
> Before:
> # ./8259A.pl
> irq 0: 00, edge
> irq 1: 00, edge
> irq 2: 00, edge
> irq 3: 00, edge
> irq 4: 00, edge
> irq 5: 00, edge
> irq 6: 00, edge
> irq 7: 00, edge
> irq 8: 00, edge
> irq 9: 00, edge
> irq 10: 00, edge
> irq 11: 00, edge
> irq 12: 00, edge
> irq 13: 00, edge
> irq 14: 00, edge
> irq 15: 00, edge
> 
> After:
> # ./8259A.pl
> irq 0: 00, edge
> irq 1: 00, edge
> irq 2: 00, edge
> irq 3: 00, edge
> irq 4: 00, edge
> irq 5: 00, edge
> irq 6: 00, edge
> irq 7: 00, edge
> irq 8: 06, edge
> irq 9: 06, level
> irq 10: 06, level
> irq 11: 06, edge
> irq 12: 06, edge
> irq 13: 06, edge
> irq 14: 06, edge
> irq 15: 06, edge
> 
>> So it appears that the interrupt is lost if new TX events come in after the
>> status register is read, and that checking it again manages to make that
>> race harder to hit, but maybe not reliably.
> 
> It looks like incorrect IRQ triggering mode makes 2 or more IRQs merge into one, kind of. However, if I understand this 8139 operation logic correctly, the possible max number of signaled events in one go is limited by the number of tx/rx descriptors and can not grow beyond it while inside the interrupt handler in any case. If so, using the loop would seem not that bad, and the limit would be certainly not 20 but max(NUM_TX_DESC, CONFIG_8139_RXBUF_IDX) == 4.
> 
>> The best idea I have for a proper fix would be to move the TX processing
>> into the poll function as well, making sure that by the end of that function
>> the driver is either still in napi polling mode, or both RX and TX interrupts
>> are enabled and acked.
> 
> This one is too complicated for me to implement myself, so I'll have to wait if someone does this.
> 
This hardware is so old that it's not very likely someone spends effort on this.

> Alternatively, maybe it is possible to explicitely request level mode from 8259 at the driver startup?
> 
I have doubts that it is possible to overrule what the BIOS/ACPI communicate
to the kernel.

> 
> Thank you,
> 
> Regards,
> Nikolai
> 
>>
>>           Arnd
>>
> 


  reply	other threads:[~2021-06-01 11:43 UTC|newest]

Thread overview: 61+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-29 14:08 Realtek 8139 problem on 486 Nikolai Zhubr
2021-05-29 18:42 ` Heiner Kallweit
2021-05-29 21:44   ` tedheadster
2021-05-30  0:49     ` Nikolai Zhubr
2021-05-30 10:36       ` Nikolai Zhubr
2021-05-30 17:27         ` Nikolai Zhubr
2021-05-30 20:54           ` Arnd Bergmann
2021-05-30 23:17             ` Nikolai Zhubr
2021-05-31 16:53               ` Nikolai Zhubr
2021-05-31 18:39                 ` Arnd Bergmann
2021-05-31 22:18                   ` Nikolai Zhubr
2021-05-31 22:30                     ` Heiner Kallweit
2021-06-01  7:20                       ` Arnd Bergmann
2021-06-01 10:53                         ` Nikolai Zhubr
2021-06-01 11:42                           ` Heiner Kallweit [this message]
2021-06-01 16:09                             ` Nikolai Zhubr
2021-06-01 21:48                               ` Heiner Kallweit
2021-06-01 23:37                                 ` Nikolai Zhubr
2021-06-02  9:12                                   ` Arnd Bergmann
2021-06-07 23:07                                     ` Nikolai Zhubr
2021-06-08  7:44                                       ` Arnd Bergmann
2021-06-08 20:32                                         ` Nikolai Zhubr
2021-06-08 20:45                                           ` Arnd Bergmann
2021-06-08 22:07                                             ` Nikolai Zhubr
2021-06-09  7:09                                               ` Arnd Bergmann
2021-06-12 17:40                                                 ` Nikolai Zhubr
2021-06-12 22:41                                                   ` Arnd Bergmann
2021-06-13 14:10                                                     ` Nikolai Zhubr
2021-06-13 21:52                                                       ` Arnd Bergmann
2021-06-03 18:32                                 ` Maciej W. Rozycki
2021-06-04  7:36                                   ` Arnd Bergmann
2021-06-20  0:34                                     ` Thomas Gleixner
2021-06-20 10:19                                       ` Arnd Bergmann
2021-06-21  4:10                                       ` Maciej W. Rozycki
2021-06-21 11:22                                         ` Arnd Bergmann
2021-06-21 14:42                                           ` Maciej W. Rozycki
2021-06-21 15:20                                             ` Arnd Bergmann
2021-06-22 11:12                                             ` David Laight
2021-06-22 12:42                                           ` Nikolai Zhubr
2021-06-22 13:22                                             ` Arnd Bergmann
2021-06-22 18:42                                               ` Nikolai Zhubr
2021-06-22 19:26                                                 ` Arnd Bergmann
2021-06-23  1:04                                                   ` Maciej W. Rozycki
2021-06-24 17:56                                                     ` Nikolai Zhubr
2021-06-24 18:25                                                       ` Maciej W. Rozycki
2021-07-14 23:32                                                         ` Maciej W. Rozycki
2021-07-15  7:32                                                           ` Nikolai Zhubr
2021-07-16 23:48                                                             ` Maciej W. Rozycki
2021-06-23 16:31                                                   ` Nikolai Zhubr
2021-06-23 23:39                                                     ` Maciej W. Rozycki
2021-06-24  8:28                                                       ` Arnd Bergmann
2021-07-02 19:02                                                         ` Nikolai Zhubr
2021-07-03  9:10                                                           ` Arnd Bergmann
2021-07-08 19:21                                                             ` Nikolai Zhubr
2021-07-09  7:31                                                               ` Arnd Bergmann
2021-07-09 12:43                                                               ` David Laight
2021-06-01 17:44                             ` Maciej W. Rozycki
2021-06-02 15:14                               ` Nikolai Zhubr
2021-06-02 15:28                                 ` Arnd Bergmann
2021-05-31 19:05                 ` Heiner Kallweit
2021-05-31 18:29 ` Denis Kirjanov

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=a1589139-82c7-0219-97ce-668837a9c7b1@gmail.com \
    --to=hkallweit1@gmail.com \
    --cc=arnd@kernel.org \
    --cc=jgarzik@pobox.com \
    --cc=netdev@vger.kernel.org \
    --cc=zhubr.2@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 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.