1
0
Fork 1
forked from suyu/suyu

kernel: document previous location of interrupt disables in arbiter/condvar

This commit is contained in:
Liam 2023-02-22 21:40:53 -05:00
parent 4165ac0680
commit 9f9b64cda2
2 changed files with 9 additions and 3 deletions

View file

@ -29,7 +29,9 @@ bool DecrementIfLessThan(Core::System& system, s32* out, VAddr address, s32 valu
auto& monitor = system.Monitor();
const auto current_core = system.Kernel().CurrentPhysicalCoreIndex();
// TODO(bunnei): We should disable interrupts here via KScopedInterruptDisable.
// NOTE: If scheduler lock is not held here, interrupt disable is required.
// KScopedInterruptDisable di;
// TODO(bunnei): We should call CanAccessAtomic(..) here.
// Load the value from the address.
@ -59,7 +61,9 @@ bool UpdateIfEqual(Core::System& system, s32* out, VAddr address, s32 value, s32
auto& monitor = system.Monitor();
const auto current_core = system.Kernel().CurrentPhysicalCoreIndex();
// TODO(bunnei): We should disable interrupts here via KScopedInterruptDisable.
// NOTE: If scheduler lock is not held here, interrupt disable is required.
// KScopedInterruptDisable di;
// TODO(bunnei): We should call CanAccessAtomic(..) here.
// Load the value from the address.

View file

@ -198,7 +198,9 @@ void KConditionVariable::SignalImpl(KThread* thread) {
u32 prev_tag{};
bool can_access{};
{
// TODO(bunnei): We should disable interrupts here via KScopedInterruptDisable.
// NOTE: If scheduler lock is not held here, interrupt disable is required.
// KScopedInterruptDisable di;
// TODO(bunnei): We should call CanAccessAtomic(..) here.
can_access = true;
if (can_access) [[likely]] {