From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755835AbcKVQ47 convert rfc822-to-8bit (ORCPT ); Tue, 22 Nov 2016 11:56:59 -0500 Received: from mout.gmx.net ([212.227.17.22]:57131 "EHLO mout.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755307AbcKVQ45 (ORCPT ); Tue, 22 Nov 2016 11:56:57 -0500 Message-ID: <1479833802.19820.8.camel@gmx.de> Subject: Re: [PATCH v5 2/2] console: Add persistent scrollback buffers for all VGA consoles From: Manuel =?ISO-8859-1?Q?Sch=F6lling?= To: Adam Borowski Cc: plagnioj@jcrosoft.com, tomi.valkeinen@ti.com, jslaby@suse.cz, gregkh@linuxfoundation.org, linux-fbdev@vger.kernel.org, linux-kernel@vger.kernel.org, andrey_utkin@fastmail.com Date: Tue, 22 Nov 2016 17:56:42 +0100 In-Reply-To: <20161121201704.GA29655@angband.pl> References: <20161118005309.GC26324@dell-m4800.home> <1479679088-3015-1-git-send-email-manuel.schoelling@gmx.de> <1479679088-3015-3-git-send-email-manuel.schoelling@gmx.de> <20161121201704.GA29655@angband.pl> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.12.9-1+b1 Mime-Version: 1.0 Content-Transfer-Encoding: 8BIT X-Provags-ID: V03:K0:RwKmNAfI4y3n17HFn75YXQTlhkL4WVX87ZMeDULJmNLmlZELwxT B9gG3VDtKHbOLt9vi/0rtcJXW1SYMer8erIdh5mruS97lhcJhlaLEG4yT4qptnXyJ3d7Xek LSGvnwsfbpaw4OcKZBzMIKxrRJ84RUCo01VX10XeQ4l98i64Swd0u0YasgC0qAvIUYPdVWc t15Y1wqrkO3l0lZONR5LA== X-UI-Out-Filterresults: notjunk:1;V01:K0:PgR78k4VhTg=:rBT4AFx7w3q92MjqSPu681 xiZSgQMffppFsE5zwnO7mRKB4RRP1GN2rPCPrz/1A1fFwqvzuhp9PGIYINZs8R/bQ6e5OykwH e+AOyWUYjWxDIJr6It1xOXQCcNM+8vY+Xsft9mJtC+DBb6iZ5dmiAldyrAmUvWYPTGDdxFkiq 9lqmoglYxizGwcqp65J/14O2dyWrTkODG1AXwggQwHIXtJDE1vLAU00zdFyE1kO9smahCNQNF jinguMZVdyI8G73lAzXhdUYCmiIx7w47nl/3x0s/I6gG3vAJ6OcN2K8xe3KtX57gRHdQsB3AG uDEQjD8+bVFtOpnaKJe/lResg16hT0dRPvYnW7taGh2iPrAOpARLpTFfnqkVoKulPF7GsdKxi CUEeM2Fr3sTWXmaXMatalu0XG3cfAC2I1zJm7nMtVaXd9zQGr/dwTM1tv0Q7Zwr94tjClXJ56 wfX9TWsm7A1aX1aKJeAmAFinrjgfTBTfNwp5QxbeQNZKuCicERAcmRztisv5JNdYjoaGjzG+9 HXw23R7z6NY3IyA97Cgu6xsRhkIo4XSUr7ETb0+5q6Z/fr4YvEH1p0UTgrnNvF3t1nJMcXWPc g4/RypADYYQ+fF1YOnx1cOOk8WQ/uamVTjYQEd3/bf4VbotBPh5le+q4nOnH7aAexTP89LImv eNUAQ0W6pakqj0G8gtaQqQ4n2Nulb1rWkCYwF4sniiK30PVnsPNZlfEVjz+s1bgfUYVByliS/ xWV+UeqWuBfqvnXfYEUXvtS1a/uBhGd9roP/5eqPbmh79mpIXUQOQaLaErWk/hQ6zfLGfIeka ofmRwIk Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Adam, On Mo, 2016-11-21 at 21:17 +0100, Adam Borowski wrote: > On Sun, Nov 20, 2016 at 10:58:08PM +0100, Manuel Schölling wrote: > > Add a scrollback buffers for each VGA console. The benefit is that > > the scrollback history is not flushed when switching between consoles > > but is persistent. > > The buffers are allocated on demand when a new console is opened. > > > > This breaks tools like clear_console that rely on flushing the > > scrollback history by switching back and forth between consoles > > which is why this feature is disabled by default. > > Use the escape sequence \e[3J instead for flushing the buffer. > First, big thanks for this fix, it's something that greatly annoyed me > since forever! Yeah, me too! ;) > The thing about clear_console is unfortunate: they abused the bug you're > fixing. I've asked to use \e[3J (https://bugs.debian.org/845177) so there's > hope it'll be applied in stretch; with Debian configuring its glibc to > support only kernels from two releases before (in jessie that's 2.6.32, in > stretch 3.2)[1] there's hope we can flip the default in several years. > > Do you suspect any other program relies on VT switch to clear the > scrollback? Not, AFAIK. Although I do not have a complete list of programs that are suppose to do that. > But alas, this commit breaks that very \e[3J. It does only a \e[2J, leaving > the scrollback uncleared. For comparison, both mainline and with just your > preparatory commit, \e[3J works as expected. Really? All my tests worked fine: I compiled the kernel with the latest patches, started the kernel in QEMU and then did $ openvt /bin/sh $ echo -e '\e[3J' # scrollback buffer was flushed correctly $ chvt 2 $ echo -e '\e[3J' # scrollback buffer was flushed correctly Can you tell me how you tested it? Maybe I can reproduce the bug. Thanks for spending the time to test it! Bye, Manuel