RE: [PATCH] Fix the race between smp_call_function and CPU booting

From: Liu, Chuansheng
Date: Fri Mar 23 2012 - 07:32:44 EST


In fact, I started two scripts running:
1/ One script:
echo 0 > /sys/devices/system/cpuX/online
echo 1 > /sys/devices/system/cpuX/online
Rerunning the above commands in loop

2/Another script:
echo 1 > /debug/smp_call_test
usleep 50000
Rerunning the above command in loop

This race issue can be easy to be reproduced in several minutes;
For simplify your test as mine(just two CPUs), you can set other non-booting CPUs as offline
at first and just leave one non-booting CPU.

> -----Original Message-----
> From: Peter Zijlstra [mailto:peterz@xxxxxxxxxxxxx]
> Sent: Friday, March 23, 2012 6:26 PM
> To: Liu, Chuansheng
> Cc: linux-kernel@xxxxxxxxxxxxxxx; Yanmin Zhang; tglx@xxxxxxxxxxxxx; Srivatsa S.
> Bhat
> Subject: RE: [PATCH] Fix the race between smp_call_function and CPU booting
>
> On Thu, 2012-03-22 at 00:59 +0000, Liu, Chuansheng wrote:
> > Below is the complete test patch. Just run the simpl_loop_onoffline.sh
> > and simpl_loop_smpcalling.sh concurrently to reproduce the race.
> >
> What I did was:
>
> for i in {2..23} ; do echo 0 > /sys/devices/system/cpu/cpu${i}/online ; done while
> usleep 50000 ; do echo 1 > /debug/smp_call_test ; done & while :; do echo $i >
> /sys/devices/system/cpu/cpu1/online ; let i^=1 ; done
>
> and this has been running for well over 30 minutes.. is there anything else one
> needs to do?
>

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/