On Fri, Sep 05, 2008 at 06:07:30PM +0100, John Levon wrote: > Slightly more tricky here. The reason it uses cli/sti at all is because > kpreempt_enable() will indeed trigger a pre-emption, which is verboten > here (since we may have come in via a fast-trap, and we don't have any > of the RUPDATE_PENDING fun). So it really needs to be: > > curthread->t_preempt++; > ... > curthread->t_preempt--; > > like in xpv_timestamp.c. Unless I've got it totally wrong, of course :)
Which of course I have. See this bug: 6740460 Dom0 hangs while running libsched - no resources to continue So I should be ignored, you can't directly use ->t_preempt like this at all. Not sure if you made that change but I thought I'd admit liability :) regards john
