From: Henry N. <Hen...@Ar...> - 2008-04-02 21:56:10
|
Paolo Minazzi wrote: > Hi Henry, > > I checked my old kernel configuration of 0.7.1 that was very very > stable .... Never an hang of my system ! > > I had > > # > # IO Schedulers > # > CONFIG_IOSCHED_NOOP=y > CONFIG_IOSCHED_AS=y > CONFIG_IOSCHED_DEADLINE=y > CONFIG_IOSCHED_CFQ=y And what is the CONFIG_DEFAULT_IOSCHED="..."? > CONFIG_PREEMPT=y > CONFIG_PREEMPT_BKL=y > > as you say. > > This is the real thing. It is not the theory. The old configuration was stable. > > But I cannot understand why disabling CONFIG_PREEMPT and > CONFIG_PREEMPT_BKL can produce deadlocks (or have more chances to have > deadlocks). Help for "CONFIG_PREEMPT_BKL" from kernel source: "This option reduces the latency of the kernel by making the big kernel lock preemptible." This, I read, that a "big kernel lock" can be interupted. Right? And in your case the PC hangs without accepting any interrupts (keyboard). A simple "big kernel lock" is a simple disable all interrupts. Perhaps the CONFIG_PREEMPT_BKL helps to not hang in such lock. CONFIG_PREEMPT needs to have CONFIG_PREEMPT_BKL. > I decided to disabling these because I am not interested in improving > the responsivity of my colinux. I am only interested in performance. > > Today I'll reconfigure as you saied me. I have only checked differences between your and the default config and listened candidates for problems. A highly candidate is the io scheduler. After you have enabled all the io schedulers, you can select ones with the kernel boot option "elevator=deadline", default is "elevator=anticipatory". Yes, of curse, perhaps there exist a bug and nobody has seen it. You can use your scheduler (DEADLINE) and all other configs. But please, then should enable the CONFIG_DEBUG_KERNEL to find the daedlog, instead hanging in it. -- Henry N. |