From f5fcbc12b8c426b5a9794cc75ba6770cfbc4f735 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Tue, 25 Sep 2018 18:05:10 -0600 Subject: [PATCH] Move ipi for pit to after EOI --- src/arch/x86_64/interrupt/irq.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/arch/x86_64/interrupt/irq.rs b/src/arch/x86_64/interrupt/irq.rs index 19a47c3..17adbd0 100644 --- a/src/arch/x86_64/interrupt/irq.rs +++ b/src/arch/x86_64/interrupt/irq.rs @@ -40,9 +40,6 @@ pub unsafe fn acknowledge(irq: usize) { } interrupt!(pit, { - // Wake up other CPUs - ipi(IpiKind::Pit, IpiTarget::Other); - // Saves CPU time by not sending IRQ event irq_trigger(0); const PIT_RATE: u64 = 2_250_286; @@ -56,6 +53,9 @@ interrupt!(pit, { pic::MASTER.ack(); + // Wake up other CPUs + ipi(IpiKind::Pit, IpiTarget::Other); + // Any better way of doing this? timeout::trigger();