lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 22 Feb 2007 09:26:52 -0800 (PST)
From:	David Miller <davem@...emloft.net>
To:	tglx@...utronix.de
Cc:	jengelh@...ux01.gwdg.de, kronos.it@...il.com,
	linux-kernel@...r.kernel.org
Subject: Re: NO_HZ: timer interrupt stuck

From: Thomas Gleixner <tglx@...utronix.de>
Date: Thu, 22 Feb 2007 16:51:41 +0100

> PIT and local APIC timer are used to provide either periodic or one shot
> programmable timer events.
> 
> Up to now the kernel started PIT and local APIC timer in parallel with
> the same period where PIT incremented jiffies and local APIC timer
> called update_process_times() and profile_tick. We changed this to let
> the boot cpu increment jiffies inside the local apic timer interrupt
> after PIT has been stopped. A whole interrupt for jiffies64++ is waste.

BTW, I'm adding support for sparc64, and before I get much further
will the code handle a oneshot-only device?  That's basically what I
have (sparc64 basically has a TSC and a "comparison" register, you
write the "comparison" register with the TSC value at which you'd like
the timer interrupt to occur, so it's one-shot and you have to write
it again to get the next timer).

I see logic in the generic code to do periodic events when the
timer only provides one-shot ticks.  But as far as I can tell
both the HPET and the local APIC support periodic timers so
I can't tell how much testing that code has gotten :-)

I, in fact, don't see any clockevent device in the current tree that
does not set CLOCK_EVT_FEAT_PERIODIC.

I guess you could clear that bit just to test those generic code
paths. :-)

BTW, sparc64 always did the trick where the do_timer() work was done
by one of the per-cpu local timer interrupts, I'm glad the idea gained
traction generically. :-)))
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists