All of lore.kernel.org
 help / color / mirror / Atom feed
From: Markus Armbruster <armbru@redhat.com>
To: Ian Jackson <Ian.Jackson@eu.citrix.com>
Cc: xen-devel@lists.xensource.com
Subject: Re: serial8250: too much work for irq4
Date: Wed, 18 Feb 2009 13:13:07 +0100	[thread overview]
Message-ID: <87ljs4gcz0.fsf@pike.pond.sub.org> (raw)
In-Reply-To: <18843.60489.388061.644066@mariner.uk.xensource.com> (Ian Jackson's message of "Wed\, 18 Feb 2009 11\:08\:57 +0000")

Ian Jackson <Ian.Jackson@eu.citrix.com> writes:

> Markus Armbruster writes ("[Xen-devel] serial8250: too much work for irq4"):
>> Wild guess: Unlike a real UART, the virtual UART empties as quickly as
>> the kernel can stuff in bytes.  So, while the kernel has bytes to stuff,
>> it doesn't get around to doing much else.
>
> This is certainly true and would explain the message you see.
>
> Are there any other adverse symptoms ?  In principle it would be
> possible to add a rate limit but it seems poor to artificially
> rate-limit a virtual device to the wall-clock speed of the physical
> object.
>
> Ian.

I see funny effects where serial output stalls until some input happens,
but I don't know whether that's related, or whether xen-unstable has the
same problem.

The 8250 driver makes the (reasonable) assumption that the chip operates
at a limited speed.  All real UARTs do.  The comment next to the printk
in drivers/serial/8250.c says "If we hit this, we're dead."  Sounds
scary, but I figure it's overstating the case.  The loop executes
holding a spin lock, but is limited to 256 iterations.  The printk fires
if we hit the limit and take the emergency exit.  Still, I'm worried we
hog the cpu for longer than is healthy, or that taking the emergency
exit isn't as harmless as it looks to me so far.

  reply	other threads:[~2009-02-18 12:13 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-02-17 13:35 serial8250: too much work for irq4 Markus Armbruster
2009-02-18 11:08 ` Ian Jackson
2009-02-18 12:13   ` Markus Armbruster [this message]
2009-02-18 15:36     ` Ian Jackson
2009-02-18 17:04       ` Markus Armbruster
2009-02-18 17:27         ` Keir Fraser
2009-02-18 17:49           ` Ian Jackson
2009-02-18 18:18             ` Markus Armbruster
2009-02-19 16:45       ` Markus Armbruster
2009-02-19 17:04         ` Ian Jackson
  -- strict thread matches above, loose matches on Subject: below --
2004-07-23 10:39 Meelis Roos
2004-03-11 16:21 Meelis Roos

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=87ljs4gcz0.fsf@pike.pond.sub.org \
    --to=armbru@redhat.com \
    --cc=Ian.Jackson@eu.citrix.com \
    --cc=xen-devel@lists.xensource.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.