Re: [PATCH] fbcon: Make fbcon a built-time depency for fbdev
From: Daniel Vetter <hidden>
Date: 2017-06-28 15:56:08
Also in:
dri-devel, intel-gfx, lkml
On Wed, Jun 28, 2017 at 5:08 PM, Steven Rostedt [off-list ref] wrote:
On Wed, 28 Jun 2017 12:36:35 +0200 Daniel Vetter [off-list ref] wrote:quoted
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