Very nice work!
How about going one step further:
- remove CONFIG_BKL altogether
- remove all the remains of the BKL code in lib/kernel_lock.c and kernel/sched.c
- turn lock_kernel() into a WARN_ONCE() and unlock_kernel() into a NOP.
- ...
- Celebrate! :-)
Ingo
--