Re: [perfmon2] probable solution for spinlock recursion bug on perfmon2 port to POWER5 during multi
Status: Beta
Brought to you by:
seranian
From: stephane e. <er...@go...> - 2008-01-14 20:40:12
|
Corey, On Jan 14, 2008 12:22 PM, Corey Ashford <cja...@us...> wrote: > Stephane, > > What do you think is the right solution here? Can you change the > perfmon2 code such that the hrtimer call is not made in the event of a 0 > or negative relative time? > Looked at this some more on Friday. You cannot just drop the timeout because you do need to call the handler to switch sets. I see 2 possibilities: - find a way to defer the hrtimer_start() until we are out of the context switch code, i.e., like a signal handler - unlock the runqueue during switch_to(). I looked at the code in schedule() and the runqueue lock is not grabbed once we come back from switch_to(). That means that we can as well release it before switch_to(). There is no extra cost for doing this. I just need to make sure I understand why this is not already done today, like on IA-64. There are 2 separate controls, unmask irq, unlock queue. We only need the latter. I will ask on KML. |