public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Mark Lord <lkml@rtr.ca>
To: Robert Hancock <hancockr@shaw.ca>
Cc: David Miller <davem@davemloft.net>,
	arjan@infradead.org, torvalds@linux-foundation.org,
	matthew@wil.cx, mingo@elte.hu, linux-kernel@vger.kernel.org
Subject: Re: IRQF_DISABLED problem
Date: Thu, 02 Aug 2007 11:40:52 -0400	[thread overview]
Message-ID: <46B1FB04.9010802@rtr.ca> (raw)
In-Reply-To: <46ACB510.5060700@shaw.ca>

Robert Hancock wrote:
> David Miller wrote:
>> From: Arjan van de Ven <arjan@infradead.org>
>> Date: Fri, 27 Jul 2007 13:11:56 -0700
>>
>>> On Thu, 2007-07-26 at 16:17 -0700, Linus Torvalds wrote:
>>>> On Thu, 26 Jul 2007, Linus Torvalds wrote:
>>>>>  (c) "one IRQF_DISABLED means that everything runs disabled". This 
>>>>> is      quite possibly buggy.
>>>> (Side note: I'm not claiming this (or it's mirror image (d)) is 
>>>> really any better/worse than the current behaviour from a 
>>>> theoretical standpoint, but at least the current behaviour is 
>>>> _tested_, which makes it better in practice. So if we want to change 
>>>> this, I think we want to change it to something that is _obviously_ 
>>>> better).
>>> my personal preference would actually be to just never enable
>>> interrupts. It's the fastest solution obviously, the most friendly on
>>> stack and.. well simplest. Drivers no longer need to play some of the
>>> games that they do today. And while there is an argument that this may
>>> introduce a bit of latency... I'm not really convinced.
>>
>> If you have a "chirpy" serial controller with only a 1 byte
>> fifo, even a quite reasonable interrupt handler can cause
>> receive characters to get lost if you disable interrupts during
>> the entirety of it's execution.
>>
>> It really is needed.
>>
>> And it's just plain rude to disable interrupts when it isn't
>> absolutely necessary.
> 
> Does anyone really use those serial controllers with no FIFO anymore? 
> They've never been reliable for remotely high speeds..

There's another thread on lkml currently about this exact issue,
whereby the UART "fifo nearly full" interrupt isn't getting in quickly
enough for the kernel to de-assert RTS in time..

  reply	other threads:[~2007-08-02 15:41 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <fa.mb8woD3e5JnT1x6AgEMOmnlVvg0@ifi.uio.no>
     [not found] ` <fa.axY2ukp7kqKVMAidyu4NVN81MbI@ifi.uio.no>
     [not found]   ` <fa.tS+LCGnYgeCNRIaF90yH21XBCqI@ifi.uio.no>
     [not found]     ` <fa./08N/HtpJQ6zg8Xc1K5pP6/aKMM@ifi.uio.no>
2007-07-29 15:41       ` IRQF_DISABLED problem Robert Hancock
2007-08-02 15:40         ` Mark Lord [this message]
2007-07-26 20:13 Matthew Wilcox
2007-07-26 20:41 ` Linus Torvalds
2007-07-26 22:23 ` David Miller
2007-07-26 23:04   ` Linus Torvalds
2007-07-26 23:14     ` David Miller
2007-07-26 23:17     ` Linus Torvalds
2007-07-27 20:11       ` Arjan van de Ven
2007-07-27 20:50         ` David Miller

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=46B1FB04.9010802@rtr.ca \
    --to=lkml@rtr.ca \
    --cc=arjan@infradead.org \
    --cc=davem@davemloft.net \
    --cc=hancockr@shaw.ca \
    --cc=linux-kernel@vger.kernel.org \
    --cc=matthew@wil.cx \
    --cc=mingo@elte.hu \
    --cc=torvalds@linux-foundation.org \
    /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