|
From: Seiji A. <sei...@hd...> - 2011-07-19 19:14:59
|
>And how does that handle the case where we're halfway through a pstore >access when the NMI arrives? ERST, at least, has a complex state >machine. You can't guarantee what starting one transaction without >completing one that was in process will do. As for ERST, write access is protected by raw_spin_trylock_irqsave(&erst_lock). Are there anything I'm missing? Seiji >-----Original Message----- >From: Matthew Garrett [mailto:mj...@re...] >Sent: Tuesday, July 19, 2011 2:52 PM >To: Seiji Aguchi >Cc: ke...@li...; lin...@vg...; lin...@li...; Eric W. Biederman; Vivek >Goyal; KOSAKI Motohiro; Americo Wang; ton...@in...; Andrew Morton; Jarod Wilson; hp...@zy...; dz...@re...; >dle...@li...; Satoru Moriya >Subject: Re: [RFC][PATCH -mmotm 1/4] Add static function calls of pstore to kexec path > >On Tue, Jul 19, 2011 at 02:48:22PM -0400, Seiji Aguchi wrote: >> >How is this safe? What happens if there's a pstore access in process >> >when you hit this codepath? >> >> This will never happen because pstore_kmsg_dump_in_interrupt() is called after machine_crash_shutdown(). >> >> Panicked cpu sends NMI to all other cpus in machine_crash_shutdown() and they stop. > >And how does that handle the case where we're halfway through a pstore >access when the NMI arrives? ERST, at least, has a complex state >machine. You can't guarantee what starting one transaction without >completing one that was in process will do. > >-- >Matthew Garrett | mj...@sr... |