> > > @@ -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(¤t->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