Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932085AbbFTQsM (ORCPT ); Sat, 20 Jun 2015 12:48:12 -0400 Received: from mout.gmx.net ([212.227.15.15]:54233 "EHLO mout.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752010AbbFTQsD (ORCPT ); Sat, 20 Jun 2015 12:48:03 -0400 Message-ID: <55859939.2090505@gmx.at> Date: Sat, 20 Jun 2015 18:47:53 +0200 From: "manfred.schlaegl@gmx.at" User-Agent: Mozilla/5.0 (X11; Linux i686; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 MIME-Version: 1.0 To: Greg Kroah-Hartman CC: Jiri Slaby , linux-serial@vger.kernel.org, linux-kernel@vger.kernel.org, Manfred Schlaegl Subject: [PATCH] serial: imx: reduce irq-latency after rx overflow Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:oz8D2wgJZzQWjivmng/5B5AuepN5Uy9EktFC8jjKDMpRBSptr/S +XP+fCL+xduR3B//UMEYb0oO3VSILMOpA9CstfR6gbob2hnvOHfdD6jmQ834bWKgmRRPPYI X9pLLqKIcV0ikXIi9xUQu+LJypWUM4Mpyn+pz5GyoboINtFjOJzhOussvEFjBzcmo5gU32T xCTFKk8OlAFGmy7hGvmPg== X-UI-Out-Filterresults: notjunk:1;V01:K0:+IBpVyEc+Xc=:tPia4R9lntFFnXLaHsHxvA I/lJhXuVEGm3BxqNnH6wq3/pxaJAC6sFfnjl8f8vlA6zj8oRuqBTBHsdFt/3HG59oZ7+Nglr/ T21CtLZevQoz+QdgrP/pQEM2k9s0K7o9J5wPbJCtNWI9lTd95tZuRI+X4SuGh/ytnjPKjD0QL n6ammqyoaonZyDeDU4WUrOVAuhsX7MNTd4Q+uvQGXXtjb2gHExWLDJ7UvJel8hPs/ieovkL5U HTg1jfMhHLDFdILnrpocJP54zBcRCirtAQ5HRnhi3v6kv05EhzlRH1X6Oak9U3y4jD2EORSMb QR6wd6aLDiXKRH54Usc0bNGKHSIG0biQb70UkY/T4ENSOLgt6ZcYrlFv08iTBrWD0hO1eUJg/ bEQSR7DTA4dnse4MjBbGwCOJMdYBOomg8gksTfdFcRo/vqkzxacmqO146jwhfNETfwB7IcmtS qxNLN2nlPQSjJZVZtsGVnNywL+zuB9Fpqn0cJmEBgtRV1mNta7YLJCcFjhz5L5g8jEgjEp8Ro jndXWrZuTyqlndPWfzjDMp8Kcz3oif7Dpo4s87/TPowg/gxykhEnDVqOevNnnVdY01dJuALVA mheQC4F8vL+gyMz2JSgVlh5X+8yD3raN9lPJ5kqX6E8CTjQFRKFE4juF6amV1x83SWfeYYvK/ mk/BBnUmeaFlbuB+oVpj2fJE8yJOupX3+QB9ydjQ0SkTczssiGHrVxn0gk/z4CUIlwBc= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1271 Lines: 34 To prevent problems with interrupt latency, and due to the fact, that the error will be counted anyway (icount.overrun), the dev_err is simply removed. Background: If an rx-fifo overflow occurs a dev_err message was called in interrupt context. Since dev_err messages are written to console in a synchronous way (unbuffered), and console may be a serial terminal, this leads to a highly increased interrupt-latency (several milliseconds). As a result of the high latency more rx-fifo overflows will happen, and therefore a feedback loop of errors is created. Signed-off-by: Manfred Schlaegl --- drivers/tty/serial/imx.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/tty/serial/imx.c b/drivers/tty/serial/imx.c index 384cf1d..40fd32c 100644 --- a/drivers/tty/serial/imx.c +++ b/drivers/tty/serial/imx.c @@ -767,7 +767,6 @@ static irqreturn_t imx_int(int irq, void *dev_id) writel(USR1_AWAKE, sport->port.membase + USR1); if (sts2 & USR2_ORE) { - dev_err(sport->port.dev, "Rx FIFO overrun\n"); sport->port.icount.overrun++; writel(USR2_ORE, sport->port.membase + USR2); } -- 1.7.10.4 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in Please read the FAQ at http://www.tux.org/lkml/