You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Ideally, when handling interrupts from IOAPIC, we should set logical destination id to all 1s (so that any core can recieve the interrupt) and enable least busy mode. This would mean that any core can recieve the interrupt.
In this case, InterruptObject should support calling raise() on cores other than core owning thread was allocated to. For now its not the case.
/// NOTE: InterruptObject is strictly thread local
/// and assumes that raise() is called from the
/// thread owning queue.
/// NOTE: After unlink() was called, raise()
/// can no longer be called
pubconstInterruptObject=struct {
The issue is in shutdown method that demands that interrupt won't arrive. This shouldn't be hard to fix with spinlock that will be locked both inside raise() and shutdown() methods
The text was updated successfully, but these errors were encountered:
Ideally, when handling interrupts from IOAPIC, we should set logical destination id to all 1s (so that any core can recieve the interrupt) and enable least busy mode. This would mean that any core can recieve the interrupt.
In this case, InterruptObject should support calling raise() on cores other than core owning thread was allocated to. For now its not the case.
Florence/src/kepler/interrupts.zig
Lines 11 to 16 in 4869f92
The issue is in shutdown method that demands that interrupt won't arrive. This shouldn't be hard to fix with spinlock that will be locked both inside
raise()
andshutdown()
methodsThe text was updated successfully, but these errors were encountered: