LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Haavard Skinnemoen <hskinnemoen@atmel.com>
To: michael <trimarchi@gandalf.sssup.it>
Cc: Remy Bohmer <linux@bohmer.net>,
	fabio@gandalf.sssup.it, Andrew Victor <linux@maxim.org.za>,
	Chip Coldwell <coldwell@redhat.com>,
	Marc Pignat <marc.pignat@hevs.ch>,
	David Brownell <david-b@pacbell.net>,
	linux-kernel@vger.kernel.org, Alan Cox <alan@lxorguk.ukuu.org.uk>
Subject: Re: [PATCH -mm v4 6/9] atmel_serial: Split the interrupt handler
Date: Thu, 31 Jan 2008 16:07:21 +0100	[thread overview]
Message-ID: <20080131160721.6dddf30e@dhcp-252-066.norway.atmel.com> (raw)
In-Reply-To: <47A12A2E.5040309@gandalf.sssup.it>

On Thu, 31 Jan 2008 02:53:50 +0100
michael <trimarchi@gandalf.sssup.it> wrote:

> The overrun still remain. An lrz receive session is impossible using
> full preemption. I will try the dma patch too and test in iso mode for 
> smart card.

Hmm. Seems to work reasonably well on a non-rt kernel -- I get quite a
few overruns, but nothing more than the Zmodem protocol can handle.

It seems to be very sensitive to network traffic though...could it have
something to do with softirq scheduling? Could you try the patch below
and see if you can trigger the error message?

Haavard

diff --git a/drivers/serial/atmel_serial.c b/drivers/serial/atmel_serial.c
index 477950f..c61fcc3 100644
--- a/drivers/serial/atmel_serial.c
+++ b/drivers/serial/atmel_serial.c
@@ -337,9 +337,12 @@ atmel_buffer_rx_char(struct uart_port *port, unsigned int status,
 	struct circ_buf *ring = &atmel_port->rx_ring;
 	struct atmel_uart_char *c;
 
-	if (!CIRC_SPACE(ring->head, ring->tail, ATMEL_SERIAL_RINGSIZE))
+	if (!CIRC_SPACE(ring->head, ring->tail, ATMEL_SERIAL_RINGSIZE)) {
+		dev_err(port->dev, "RX ring buffer full, dropping data\n");
+
 		/* Buffer overflow, ignore char */
 		return;
+	}
 
 	c = &((struct atmel_uart_char *)ring->buf)[ring->head];
 	c->status	= status;

  reply	other threads:[~2008-01-31 15:07 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20080129224316.GA23155@gandalf.sssup.it>
2008-01-29 23:12 ` michael
2008-01-30  9:41   ` Haavard Skinnemoen
2008-01-30 10:21     ` Remy Bohmer
2008-01-30 10:34       ` Haavard Skinnemoen
2008-01-30 11:05         ` Remy Bohmer
2008-01-30 12:43           ` Haavard Skinnemoen
2008-01-30 15:25           ` michael
2008-01-30 10:29     ` michael
2008-01-30 12:36       ` Haavard Skinnemoen
2008-01-30 15:26         ` michael
2008-01-30 15:46           ` Haavard Skinnemoen
2008-01-31  1:53             ` michael
2008-01-31 15:07               ` Haavard Skinnemoen [this message]
2008-01-31 19:36                 ` Remy Bohmer
2008-02-04 12:39                   ` Haavard Skinnemoen
2008-02-04 19:44                     ` Remy Bohmer
2008-02-06 12:19                       ` michael
2008-02-06 19:41                         ` Remy Bohmer
2008-02-13 11:07                           ` michael
2008-02-13 20:13                             ` Remy Bohmer
2008-02-14  7:30                               ` michael
2008-02-04 19:01                 ` michael
2008-02-04 20:25                   ` Haavard Skinnemoen
2008-02-05 12:29                     ` michael
2008-02-06 12:30                       ` Haavard Skinnemoen
2008-02-06 13:41                         ` michael
2008-02-06 15:22                           ` Haavard Skinnemoen
2008-01-24 12:41 [PATCH -mm v4 0/9] atmel_serial cleanups and improvements Haavard Skinnemoen
2008-01-24 12:41 ` [PATCH -mm v4 1/9] MAINTAINERS: Add myself as maintainer of the atmel_serial driver Haavard Skinnemoen
2008-01-24 12:41   ` [PATCH -mm v4 2/9] atmel_serial: Clean up the code Haavard Skinnemoen
2008-01-24 12:41     ` [PATCH -mm v4 3/9] atmel_serial: Use cpu_relax() when busy-waiting Haavard Skinnemoen
2008-01-24 12:41       ` [PATCH -mm v4 4/9] atmel_serial: Use existing console options only if BRG is running Haavard Skinnemoen
2008-01-24 12:41         ` [PATCH -mm v4 5/9] atmel_serial: Fix bugs in probe() error path and remove() Haavard Skinnemoen
2008-01-24 12:41           ` [PATCH -mm v4 6/9] atmel_serial: Split the interrupt handler Haavard Skinnemoen

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=20080131160721.6dddf30e@dhcp-252-066.norway.atmel.com \
    --to=hskinnemoen@atmel.com \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=coldwell@redhat.com \
    --cc=david-b@pacbell.net \
    --cc=fabio@gandalf.sssup.it \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@bohmer.net \
    --cc=linux@maxim.org.za \
    --cc=marc.pignat@hevs.ch \
    --cc=trimarchi@gandalf.sssup.it \
    --subject='Re: [PATCH -mm v4 6/9] atmel_serial: Split the interrupt handler' \
    /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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).