Messages in this thread | | | From | David Laight <> | Subject | RE: [PATCH v12 10/18] x86/fsgsbase/64: Enable FSGSBASE instructions in helper functions | Date | Wed, 20 May 2020 09:13:14 +0000 |
| |
From: Thomas Gleixner > Sent: 19 May 2020 15:48 > > David Laight <David.Laight@ACULAB.COM> writes: > > From: Sasha Levin > >> >> + native_swapgs(); > >> >> + gsbase = rdgsbase(); > >> >> + native_swapgs(); > > > > Does local_irq_save() even do anything useful here. > > You need to actually execute CLI, not just set a > > flag that indicates interrupts shouldn't happen. > > (Which is what I think local_irq_save() might do.) > > local_irq_save() > raw_local_irq_save() > arch_local_irq_save() > arch_local_irq_disable() > native_irq_disable() > asm("CLI")
Ah, I was expecting software 'tricks' to avoid the expensive CLI. But that call chain probably costs more - unless it is all inlined.
David
- Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK Registration No: 1397386 (Wales)
| |