Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1516465

Re: task isolation discussion at Linux Plumbers

From Thomas Gleixner <tglx@linutronix.de>
Newsgroups linux.kernel
Subject Re: task isolation discussion at Linux Plumbers
Date 2016-11-07 19:50 +0100
Message-ID <sAX9w-71s-15@gated-at.bofh.it> (permalink)
References <s6U5P-8nJ-3@gated-at.bofh.it> <sAbHz-1Cs-7@gated-at.bofh.it> <sAVr3-5FZ-25@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Mon, 7 Nov 2016, Thomas Gleixner wrote:
> > == Missing oneshot_stopped callbacks ==
> > 
> > I raised the issue that various clock_event_device sources don't
> > always support oneshot_stopped, which can cause an additional
> > final interrupt to occur after the timer infrastructure believes the
> > interrupt has been stopped.  I have patches to fix this for tile and
> > arm64 in my patch series; Thomas volunteered to look at adding
> > equivalent support for x86.
> 
> Right.

Untested patch below should fix that.

Thanks,

	tglx

8<---------------
--- a/arch/x86/kernel/apic/apic.c
+++ b/arch/x86/kernel/apic/apic.c
@@ -530,18 +530,20 @@ static void lapic_timer_broadcast(const
  * The local apic timer can be used for any function which is CPU local.
  */
 static struct clock_event_device lapic_clockevent = {
-	.name			= "lapic",
-	.features		= CLOCK_EVT_FEAT_PERIODIC |
-				  CLOCK_EVT_FEAT_ONESHOT | CLOCK_EVT_FEAT_C3STOP
-				  | CLOCK_EVT_FEAT_DUMMY,
-	.shift			= 32,
-	.set_state_shutdown	= lapic_timer_shutdown,
-	.set_state_periodic	= lapic_timer_set_periodic,
-	.set_state_oneshot	= lapic_timer_set_oneshot,
-	.set_next_event		= lapic_next_event,
-	.broadcast		= lapic_timer_broadcast,
-	.rating			= 100,
-	.irq			= -1,
+	.name				= "lapic",
+	.features			= CLOCK_EVT_FEAT_PERIODIC |
+					  CLOCK_EVT_FEAT_ONESHOT |
+					  CLOCK_EVT_FEAT_C3STOP |
+					  CLOCK_EVT_FEAT_DUMMY,
+	.shift				= 32,
+	.set_state_shutdown		= lapic_timer_shutdown,
+	.set_state_periodic		= lapic_timer_set_periodic,
+	.set_state_oneshot		= lapic_timer_set_oneshot,
+	.set_state_oneshot_stopped	= lapic_timer_shutdown,
+	.set_next_event			= lapic_next_event,
+	.broadcast			= lapic_timer_broadcast,
+	.rating				= 100,
+	.irq				= -1,
 };
 static DEFINE_PER_CPU(struct clock_event_device, lapic_events);
 

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Re: task isolation discussion at Linux Plumbers Thomas Gleixner <tglx@linutronix.de> - 2016-11-07 18:00 +0100
  Re: task isolation discussion at Linux Plumbers Thomas Gleixner <tglx@linutronix.de> - 2016-11-07 19:50 +0100
    Re: task isolation discussion at Linux Plumbers Rik van Riel <riel@redhat.com> - 2016-11-07 20:20 +0100
    Re: task isolation discussion at Linux Plumbers Will Deacon <will.deacon@arm.com> - 2016-11-07 20:20 +0100
    Re: task isolation discussion at Linux Plumbers Rik van Riel <riel@redhat.com> - 2016-11-07 20:30 +0100

csiph-web