diff options
| author | Thomas Gleixner <[email protected]> | 2019-11-11 22:03:22 +0000 |
|---|---|---|
| committer | Thomas Gleixner <[email protected]> | 2019-11-16 10:24:02 +0000 |
| commit | 060aa16fdb7c5078a4159a76e5dc87d6a493af9b (patch) | |
| tree | 63f2ffbc60ce9e1064ca13bc128efeb7c1e7f6c8 /arch/x86/entry/common.c | |
| parent | x86/ioperm: Move iobitmap data into a struct (diff) | |
| download | kernel-060aa16fdb7c5078a4159a76e5dc87d6a493af9b.tar.gz kernel-060aa16fdb7c5078a4159a76e5dc87d6a493af9b.zip | |
x86/ioperm: Add bitmap sequence number
Add a globally unique sequence number which is incremented when ioperm() is
changing the I/O bitmap of a task. Store the new sequence number in the
io_bitmap structure and compare it with the sequence number of the I/O
bitmap which was last loaded on a CPU. Only update the bitmap if the
sequence is different.
That should further reduce the overhead of I/O bitmap scheduling when there
are only a few I/O bitmap users on the system.
The 64bit sequence counter is sufficient. A wraparound of the sequence
counter assuming an ioperm() call every nanosecond would require about 584
years of uptime.
Suggested-by: Linus Torvalds <[email protected]>
Signed-off-by: Thomas Gleixner <[email protected]>
Diffstat (limited to 'arch/x86/entry/common.c')
0 files changed, 0 insertions, 0 deletions
