>>> I haven't yet because I fail to understand why the decrementer is not >>> interrupting the dying CPU under xics as it is the case under XIVE. >> >> Oh.. ok. This sounds very similar to the problem Nikunj hit under TCG >> with decrementer interrupts waking up a supposedly dead CPU. He had a >> couple of proposed fixes, but we got bogged down trying to work out >> why (with TCG at least). > > Yeah, I wasnt able to get to the exact reason for that.
Yes. Tracking all the CPU states is a nightmare. * @running: #true if CPU is currently running (lockless). * @has_waiter: #true if a CPU is currently waiting for the cpu_exec_end; * valid under cpu_list_lock. * @created: Indicates whether the CPU thread has been successfully created. * @interrupt_request: Indicates a pending interrupt request. * @halted: Nonzero if the CPU is in suspended state. * @stop: Indicates a pending stop request. * @stopped: Indicates the CPU has been artificially stopped. * @unplug: Indicates a pending CPU unplug request. I will spend some more time to understand why XICS is not behaving the same. This is really time consuming ... C.