Messages in this thread | | | Date | Thu, 7 Nov 2019 08:44:45 +0100 (CET) | From | Thomas Gleixner <> | Subject | Re: [patch 5/9] x86/ioport: Reduce ioperm impact for sane usage further |
| |
On Wed, 6 Nov 2019, Linus Torvalds wrote: > I may read this patch wrong, but from what I can tell, if we really > have just one process with an io bitmap, we're doing unnecessary > copies. > > If we really have just one process that has an iobitmap, I think we > could just keep the bitmap of that process entirely unchanged. Then, > when we switch away from it, we set the io_bitmap_base to an invalid > base outside the TSS segment, and when we switch back, we set it back > to the valid one. No actual bitmap copies at all. > > So I think that rather than the "begin/end offset" games, we should > perhaps have a "what was the last process that used the IO bitmap for > this TSS" pointer (and, I think, some sequence counter, so that when > the process updates its bitmap, it invalidates that case)? > > Of course, you can do *nboth*, but if we really think that the common > case is "one special process", then I think the begin/end offset is > useless, but a "last bitmap process" would be very useful. > > Am I missing something?
No. You are right. I'll have a look at that.
Thanks,
tglx
| |