Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756076AbbGVG11 (ORCPT ); Wed, 22 Jul 2015 02:27:27 -0400 Received: from mail-ig0-f176.google.com ([209.85.213.176]:38723 "EHLO mail-ig0-f176.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755845AbbGVG10 (ORCPT ); Wed, 22 Jul 2015 02:27:26 -0400 MIME-Version: 1.0 X-Google-Sender-Delegation: getarunks@gmail.com Date: Wed, 22 Jul 2015 11:57:25 +0530 X-Google-Sender-Auth: TYjhaeojXUc1zqD3gPXyus4giQ4 Message-ID: Subject: Why linux console designed to work in polling mode? From: Arun KS To: "linux-kernel@vger.kernel.org" Cc: alexhoppus111@gmail.com, Arun KS Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1454 Lines: 38 forwarding email to LKML. Please enlighten on this question. Googling doesn't helped so far. Thanks, Arun From: Alexander Date: Sat, Jul 18, 2015 at 11:23 AM Subject: Delegating printk work to UART interrupt To: kernelnewbies@kernelnewbies.org Hi! When i checked how kernel printing works, i mentioned that it takes messages from log_buffer in console_unlock and gives it to call_console_drivers -> ...-> some uart bsp function. Basically, as i see this BSP realization tries to flush all message chars in busyloop ... so it waits until FIFO_NOT_FULL bit will be dropped by UART and it will be able to push the next byte. Basically, as i see userspace printing do something different. It puts N_FIFO_BYTES and exits, next, when FIFO will be freed - interrupt will be generated, and other characters will be put into UART FIFO. Can we do something similar for kernel printing? i.e. do not busyloop sending char after char, but put N_FIFO chars and flush other in interrupt. When panic will occur we can do busyloop printing again. Is it reliable? Suppose we have several cores. Thank you. -- Alexander _______________________________________________ -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/