Messages in this thread | | | From | Neil Brown <> | Date | Wed, 6 Feb 2008 07:27:56 +1100 | Subject | Re: Monthly md check == hung machine; how do I debug? |
| |
On Tuesday February 5, rlpowell@digitalkingdom.org wrote: > > I was able to solve the problem, however, like so: > > 132c133 > < # CONFIG_PREEMPT_NONE is not set > --- > > CONFIG_PREEMPT_NONE=y > 134,135c135,136 > < CONFIG_PREEMPT=y > < CONFIG_PREEMPT_BKL=y > --- > > # CONFIG_PREEMPT is not set > > # CONFIG_PREEMPT_BKL is not set >
This suggests that there is some sort of race. Given that I've never hit it on SMP machines, it is probably a very small window that opens immediately after some event that triggers kernel preemption.
The only "mdadm --monitor" does in the kernel is read /proc/mdstat and maybe make some GET_ARRAY_INFO/ GET_DISK_INFO ioctl calls.
They don't do much more than grab the reconfig_mutex.....
What sort of hardware do you have? x86? SMP or uni-processor? Also, exactly what kernel are you running?
I might see if I can reproduce it... so if you can send me the broken .config, that might help too.
Thanks, NeilBrown
| |