Messages in this thread | | | Date | Fri, 03 Nov 2006 10:06:04 -0800 | From | Zachary Amsden <> | Subject | Re: [patch] i386: remove IOPL check on task switch |
| |
Chuck Ebbert wrote: > IOPL is implicitly saved and restored on task switch, > so explicit check is no longer needed. > > Signed-off-by: Chuck Ebbert <76306.1226@compuserve.com> > > --- 2.6.19-rc4-32smp.orig/arch/i386/kernel/process.c > +++ 2.6.19-rc4-32smp/arch/i386/kernel/process.c > @@ -681,12 +681,6 @@ struct task_struct fastcall * __switch_t > loadsegment(gs, next->gs); > > /* > - * Restore IOPL if needed. > - */ > - if (unlikely(prev->iopl != next->iopl)) > - set_iopl_mask(next->iopl); > - > - /* > * Now maybe handle debug registers and/or IO bitmaps > */ > if (unlikely((task_thread_info(next_p)->flags & _TIF_WORK_CTXSW) >
Nack. This is used for paravirt-ops kernels that use IOPL'd userspace. Fixing it would require a fairly heavy penalty on the iret path, since every single instruction there contributes to a critical region which must have custom fixup code, or some other technique to provide protection against interrupt re-entrancy.
At least, let's discuss other potential solutions first - for now it is harmless.
Zach - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |