On Wed, Jan 18, 2023 at 03:33:00PM -0800, Jiaqi Yan wrote: > Awesome, thanks Tony, I will correct my cover letter. > > On Wed, Jan 18, 2023 at 9:51 AM Luck, Tony <tony.luck@xxxxxxxxx> wrote: > > > > > Oh, maybe SRAO signaled via MCE calls memory_failure() with these > > > async code paths? > > > > > > 1. __mc_scan_banks => mce_log => mce_gen_pool_add + irq_work_queue(mce_irq_work) > > > > > > 2. mce_irq_work_cb => mce_schedule_work => schedule_work(&mce_work) > > > > > > 3. mce_work => mce_gen_pool_process => > > > blocking_notifier_call_chain(&x86_mce_decoder_chain, 0, mce) > > > => mce_uc_nb => uc_decode_notifier => memory_failure > > > > Yes. That's right. Both SRAO (#MC) and UCNA (CMCI) will follow that path. > > So memory_failure() is called from the kthread context for that notifier. I misunderstood the behavior of UCNA (CMCI), so thank you for confirming the behaviors, both of you. - Naoya Horiguchi