lkml.org 
[lkml]   [2008]   [Mar]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRE: [2.6.25-rc5-mm1][regression] ia64: hackbench doesn't finish>12 hour
From
Date
On Thu, 2008-03-20 at 09:04 -0700, Luck, Tony wrote:
> > Which makes me wonder, why did you ever use a semaphore here? Looking at
> > the code its a straight forward mutex. And when you would have used a
> > mutex lockdep would have warned about this.
>
> The functionality that we are trying to add is to allow up to N
> simultaneous processors to execute the critical region. On current
> processors/platforms N=1 so a spinlock or mutex would be fine, but
> there will be platforms for which N is a small integer greater than
> one. Semaphore initialized to N looked to be the ideal primitive
> for this (until Motohiro-san ran the test case that showed the path
> where we call this code with a spinlock held).

Right, no alternative there.

> Next question is whether it is reasonable to get to this code
> while holding a spinlock. Isn't this a problem for architectures
> that need to use cross-processor interrupts to do a global TLB
> shootdown?

Yeah, semaphores can't be used from hardirq contexts for much the same
reasons. But its all ia64 code, right? So I'm not directly seeing how
other archs are affected here.



\
 
 \ /
  Last update: 2008-03-20 17:21    [W:0.068 / U:0.848 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site