So far the major items are:
refscale
(kernel/rcu/refscale.c) as a skeletion for micro-benchmarking?So what we have current is:
local_irq_disable()
and local_irq_enable()
local_irq_save()
and local_irq_restore()
And what we are introducing is:
local_interrupt_disable()
and local_interrupt_enable()
.Boqun: Maybe we only need to prove that we can do this (not necessarily clean up at first)
Lyude: will need to get the kernel boot into a reasonable state to figure what are the creative use cases and how to detect and resolve them.
Boqun: Keep in mind the least we can do is implement a Rust version of local_interrupt_disable()
and only use it in Rust for the moment.
If we want to avoid 3 sets of API in total, the thing we should do is using local_interrupt_disable()
to replace either local_irq_disable()
or local_irq_save()
. My gut feeling is that replacing local_irq_disable()
will be easier.