S BKL nebyl problém? Po dobu provádění syscallu všechny další pokusy o syscall končily zablokované. To výrazně zvyšuje latency, což bylo (a je) vidět u audia, přepínání režimů video karty atd. Samozřejmě na SMP a cc:NUMA strojích je to ještě horší, protože škálovatelnost takového kernelu je tragická (s počtem CPU klesá výkon per CPU).
Čím více preemptivní, tím lepší latency. Samozřejmě musíte na správných místech zamykat, a na jiných používat synchronizované struktury. Velké zámky typu BKL mohou mít o nepatrně nižší overhead na single CPU strojích, ale latency je mizerná. Navíc servery jsou už pěkných pár let SMP nebo cc:NUMA, a tam velké zámky vedou k tragickému (ne)škálování výkonu. Bohužel když napíšete kód bez zamykání, a efektivně nemáte představu, kde kdo do které struktury sahá, dodělává se fine-grained locking velmi těžko.