> Unfortunately that's not quite possible, rq->lock is really out of bounds. At > one point I tried 'fixing' this but there's a whole bunch of nasty that's not > going to go away. > > I've since forgotten most of the details, but aside from logbuf problems > there's a whole host of issues with the console drivers themselves as well. > > If you really want to do this, use early_printk. Hi Peter: The patch 0b5e1c5255e("printk: Release console_sem after logbuf_lock" ) is as below: console_locked = 0; - up(&console_sem); + wake = 1; retval = 0; } } printk_cpu = UINT_MAX; spin_unlock(&logbuf_lock); + if (wake) + up(&console_sem); return retval; the patch 07354eb1a74d1("locking, printk: Annotate logbuf_lock as raw ") is as below: printk_cpu = UINT_MAX; - spin_unlock(&logbuf_lock); if (wake) up(&console_sem); + raw_spin_unlock(&logbuf_lock); return retval; } Note that the purpose of patch 07354eb1a74d1 is to use raw_spin_unlock instead of spin_unlock, it is not supposed to change any lock sequences. What I do is to revert this change to 0b5e1c5255e, and it is nothing to do with how people use printk. It is just to recover a merge mistake. {.n++%ݶw{.n+{G{ayʇڙ,jfhz_(階ݢj"mG?&~iOzv^m ?I