Andrew Morton <akpm at linux-foundation.org> writes: > On Tue, 12 Aug 2008 11:14:21 +0800 Huang Ying <ying.huang at intel.com> wrote: > >> xchg(&kexec_lock, 0); > > kernel/kexec.c: In function 'kernel_kexec': > kernel/kexec.c:1501: warning: value computed is not used A good question is why we are warned. > Is there any reason why we cannot use the more conventional > test_and_set_bit() etc, rather than this peculiarity? > > Or perhaps spin_trylock? Totally odd. Let me stop and take a look and see what has been changed. The original code used a xchg based read copy update scheme, which was extremely compatible with a lot of goals. The primary one being no blocking paths in a successful kexec, and minimal dependence on library functions. We need that minimal dependence to handle the kexec on panic case. That doesn't rule out something like test_and_set_bit. Eric