Thread (11 messages) flat view 11 messages, 3 authors, 2021-05-21

Re: [PATCH 3/5] tick/broadcast: Prefer per-cpu oneshot wakeup timers to broadcast

From: Will Deacon <will@kernel.org>
Date: 2021-05-21 11:25:12
Also in: lkml

On Fri, May 21, 2021 at 05:25:41AM +0300, Mika Penttilä wrote:
On 20.5.2021 21.47, Will Deacon wrote:
quoted
  /*
   * Conditionally install/replace broadcast device
   */
-void tick_install_broadcast_device(struct clock_event_device *dev)
+void tick_install_broadcast_device(struct clock_event_device *dev, int cpu)
  {
  	struct clock_event_device *cur = tick_broadcast_device.evtdev;
+	if (tick_set_oneshot_wakeup_device(dev, cpu))
+		return;
+
  	if (!tick_check_broadcast_device(cur, dev))
  		return;
Does this disable hpet registering as a global broadcast device on x86 ? I
think it starts with cpumask = cpu0 so it qualifies for a percpu wakeup
timer.
Well spotted, I think you're probably right. I'll try to reproduce on my
laptop to confirm, but I hadn't noticed the tricks played with the cpumask
on x86.

I'll probably need to rework things so that we install the broadcast timer
first, but prefer global devices.

Will

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help