On 09/06/2017 04:50, Peter Xu wrote: > Even, I'm thinking whether we can unconditionally setup PDST only in > pi_load(), then post_block() only needs to handle the NV bit. No, you can't do that without fiddling with the blocked_vcpu lists in pi_load. > (PS. since I'm at here... could I ask why in pi_pre_block we need to > udpate PDST as well? I guess that decides who will run the > wakeup_handler code to kick the vcpu thread, but would that really > matter?) For this one it's a yes. :) I think it's not needed anymore indeed after these patches; see this comment: /* * The wakeup_handler expects the VCPU to be on the * blocked_vcpu_list that matches ndst. Interrupts * are disabled so no preemption should happen, but * err on the side of safety. */ So we could add a WARN. Paolo