On Wed, 2020-04-08 at 22:21 +1000, Michael Ellerman wrote: [...] > > On the other hand, busting the rtas.lock could be dangerous, because > > it's code we can't control. > > > > According with LoPAR, for both of these rtas-calls, we have: > > > > For the PowerPC External Interrupt option: The call must be reentrant > > to the number of processors on the platform. > > For the PowerPC External Interrupt option: The argument call buffer for > > each simultaneous call must be physically unique. > > Oh well spotted. Where is that in the doc?
In the current LoPAR available on OpenPower Foundation, it's on page 170, '7.3.10.2 ibm,set-xive' and '7.3.10.3 ibm,int-off'. > > Which I think means this rtas-calls can be done simultaneously. > > I think so too. I'll read PAPR in the morning and make sure. > > > Would it mean that busting the rtas.lock for these calls would be safe? > > What would be better is to make those specific calls not take the global > RTAS lock to begin with. > > We should be able to just allocate the rtas_args on the stack, it's only > ~80 odd bytes. And then we can use rtas_call_unlocked() which doesn't > take the global lock. Good idea. I will try getting some work done on this. Best regards,
signature.asc
Description: This is a digitally signed message part