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] [day] [month] [year] [list]
Message-Id: <1260292266.3483.7.camel@work-vm>
Date:	Tue, 08 Dec 2009 09:11:06 -0800
From:	john stultz <johnstul@...ibm.com>
To:	Ioannis Kyriakopoulos <johnkyr83@...mail.com>
Cc:	linux-kernel@...r.kernel.org
Subject: RE: timer interrupt stucks using tickless kernel

On Tue, 2009-12-08 at 03:38 +0000, Ioannis Kyriakopoulos wrote:
> >> The system tick is
> >> generated by IRQ0 which in my second configuration should be triggered
> >> by HPET (because I have enabled the HPET timer support).
> >
> >System tick?
> 
> I mean the timer interrupt that drives the scheduler.

Right, so on SMP that's generally what the lapic timer does for each
cpu. On UP, either the irq0 or the lapic (if available) can be used for
this.

> >> Also, if the
> >> interrupts generated by LAPIC are incremented at HZ freq, why the
> >> interrupts generated by the timer (IRQ0) not happen at the same frequency
> >>  as well?
> >
> >Why take two interrupts when you could only take one?
> 
> That's exactly my question. Why we have both LAPIC and timer interrupts? If
> the LOC are used for driving the scheduler then for what the "timer"
> interrupts
> (IRQ0) are used?
> 
>   0:        157   IO-APIC-edge      timer
> LOC:    1865130   Local timer interrupts

Well, it used to be there were lapic timers for each cpu, and we still
took an irq0 interrupt to do the timekeeping accumulation / jiffies
increment.  

However, now we usually setup the system with the int0 timer, and then
switch over to the lapic if possible.

Additionally, there are some cases where the hardware lapic will halt in
deep idle modes, so in those cases, the irq0 timer must be used to pull
a cpu out of idle, which then can broadcast an IPI the other cpus to
wake them up.

> >> Furthermore, we don't have an answer on why IO-APIC is used at the time
> >> that it is disabled on kernel configurations. The fact that I have
> enabled
> >> LAPIC timer support doesn't justify the use of the IO-APIC controller
> >> by each own.
> >
> >Honestly, I dunno on the details there.   If  CONFIG_X86_IO_APIC=n, it
> >looks like you should not be seeing the IO-APIC-* names in
> >/proc/interrupts.  Are you sure your booting the right kernel, or
> >CONFIG_X86_IO_APIC is actally on in your .config?
> 
> I try to uncheck CONFIG_X86_IO_APIC manually because it's not appeared under
> Xconcig/menuconfig but it re-checked automatically when it tries to build.
> In order to disable it permanently, should I also uncheck all the configs
> that depend on it?

Yes, if you want to use a system without it.

thanks
-john


--
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ