From mboxrd@z Thu Jan 1 00:00:00 1970 From: One Thousand Gnomes Subject: Re: Atomicity in KMS panic notifier Date: Wed, 7 May 2014 17:15:23 +0100 Message-ID: <20140507171523.48990630@alan.etchedpixels.co.uk> References: Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org To: Daniel Vetter Cc: Takashi Iwai , dri-devel , Linux Kernel Mailing List , David Herrmann List-Id: dri-devel@lists.freedesktop.org > Imo trying to fix the current mess and making ->set_config work in > atomic contexts is pointless. drm_can_sleep is trying to make that > possible in some ways, and it's horrible since using it means > busy-loops in atomic contexts outside of panic handlers won't get > reported any more. Also the interactions with the console_lock (which > due to some bonghits is protecting almost everything in fbcon/fbdev > nowadays) would also be almost completely removed. Unfortunately years ago some Finnish student didn't design his console driver to be lock friendly and then fbcon/fbdev inherited it. If you are writing a new console driver please don't use fbcon, use a text console that writes to a simple n x m text framebuffer with dirty bits and wakes a waitqueue or work queue of some sort when it changes. Then just redraw updated bits every vblank frame if its actually changed. Not only will the lock problems go away it'll blow away the existing scrolling text performance on any DRM driver except gma500. Alan