Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752055AbdF1P4I (ORCPT ); Wed, 28 Jun 2017 11:56:08 -0400 Received: from mail-it0-f67.google.com ([209.85.214.67]:35108 "EHLO mail-it0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751919AbdF1Pzy (ORCPT ); Wed, 28 Jun 2017 11:55:54 -0400 MIME-Version: 1.0 X-Originating-IP: [2a02:168:5640:0:960b:2678:e223:c1c6] In-Reply-To: <20170628110819.70eb0ce0@gandalf.local.home> References: <20170628103635.24651-1-daniel.vetter@ffwll.ch> <20170628110819.70eb0ce0@gandalf.local.home> From: Daniel Vetter Date: Wed, 28 Jun 2017 17:55:47 +0200 Message-ID: Subject: Re: [PATCH] fbcon: Make fbcon a built-time depency for fbdev To: Steven Rostedt Cc: Intel Graphics Development , LKML , Alan Cox , Sergey Senozhatsky , Linux Fbdev development list , Bartlomiej Zolnierkiewicz , dri-devel , Daniel Vetter 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: 2356 Lines: 45 On Wed, Jun 28, 2017 at 5:08 PM, Steven Rostedt wrote: > On Wed, 28 Jun 2017 12:36:35 +0200 > Daniel Vetter wrote: > >> There's a bunch of folks who're trying to make printk less >> contended and faster, but there's a problem: printk uses the >> console_lock, and the console lock has become the BKL for all things >> fbdev/fbcon, which in turn pulled in half the drm subsystem under that >> lock. That's awkward. >> > > I applied your patch and compiled it, and got this error while > installing modules: > > DEPMOD 4.12.0-rc5-test+ > depmod: ERROR: Found 11 modules in dependency cycles! > depmod: ERROR: Cycle detected: fbcon -> bitblit -> softcursor -> fb -> fbcon > depmod: ERROR: Cycle detected: softcursor -> fb -> fbcon_rotate -> fbcon_ccw -> softcursor > depmod: ERROR: Cycle detected: fb -> fbcon_rotate -> fbcon_ccw -> fb > depmod: ERROR: Cycle detected: softcursor -> fb -> fbcon_rotate -> fbcon_ccw -> fbcon_ud -> softcursor > depmod: ERROR: Cycle detected: fb -> fbcon_rotate -> fbcon_ccw -> fbcon_ud -> fb > depmod: ERROR: Cycle detected: softcursor -> fb -> fbcon_rotate -> fbcon_ccw -> fbcon_ud -> fbcon_cw -> softcursor > depmod: ERROR: Cycle detected: fb -> fbcon_rotate -> fbcon_ccw -> fbcon_ud -> fbcon_cw -> fb > depmod: ERROR: Cycle detected: fb -> fbcon_rotate -> fbcon_ccw -> fbcon_ud -> fbcon_cw -> fb > depmod: ERROR: Cycle detected: fb -> fbcon_rotate -> fbcon_ccw -> fbcon_ud -> fbcon_cw -> tileblit -> fb > depmod: ERROR: Cycle detected: fbcon -> bitblit -> softcursor -> fb -> fbcon_rotate -> fbcon_ccw -> fbcon_ud -> fbcon_cw -> tileblit -> fbdev > depmod: ERROR: Cycle detected: fb -> fbcon_rotate -> fbcon_ccw -> fbcon_ud -> fbcon_cw -> tileblit -> fb > /work/git/linux-trace.git/Makefile:1251: recipe for target '_modinst_post' failed > > > Config attached. > > Oh, and I changed CONFIG_FB to be a module, which is probably where the > error happened. Yeah I only compile tested all the combos and didn't realize that depmod is only run at install time. I indeed created a depency loop here. I think the simplest solution would be to stuff all the fbcon code into the fb.ko module, I'm trying to figure out whether that can be done without massive code movement. -Daniel -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch