> > > @@ -1055,6 +1082,8 @@ void restore_tm_state(struct pt_regs *regs)
> > >   msr_diff = current->thread.ckpt_regs.msr & ~regs->msr;
> > >   msr_diff &= MSR_FP | MSR_VEC | MSR_VSX;
> > >  
> > > + tm_recheckpoint(&current->thread);
> > > +
> > 
> > So why do we do tm_recheckpoint at all? Shouldn't most of the tm_blah code 
> > go
> > away in process.c after all this?
> > 
> 
> I'm not sure I follow, we need to recheckpoint because we're going back
> to userspace? Or would you rather calling the tm.S code directly from
> the exception return path?

Yeah, I was thinking the point of this series was.  We do tm_reclaim right on
entry and tm_recheckpoint right on exit.  

The bits in between (ie. the tm_blah() calls process.c) would mostly go away.


> Yes, I hope we'll be able to have a fairly big cleanup commit of tm_
> code in process.c at the end of this series.

Yep, agreed.

Mikey

Reply via email to