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 for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4C860043.9000501@ladisch.de>
Date:	Tue, 07 Sep 2010 11:05:07 +0200
From:	Clemens Ladisch <clemens@...isch.de>
To:	Jaswinder Singh Rajput <jaswinderlinux@...il.com>
CC:	the arch/x86 maintainers <x86@...nel.org>,
	Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: Hungry for hardware timers

Jaswinder Singh Rajput wrote:
> On Tue, Sep 7, 2010 at 1:29 PM, Clemens Ladisch <clemens@...isch.de> wrote:
>> Jaswinder Singh Rajput wrote:
>>> I am investigating how many hardware timers are available for kernel,
>>> system applications and user applications for x86 platforms.
>>
>> Why would you want to have a separate timer for your application?
> 
> I need a programmable periodic interrupt for an embedded project.

And why do you not want to use POSIX timers for this?

>>> HPET have 3 timers :
>>> T0 and T2 is already used by Linux and T1 is used for RTC
>>
>> T2 shouldn't be used.
> 
> [    0.323613] hpet: hpet_msi_capability_lookup(621):
> ..
> [    0.325323] hpet: T2: CFG_l: 0x0, CFG_h: 0xf00800
> [    0.325483] hpet: T2: CMP_l: 0xffffffff, CMP_h: 0x0
> [    0.325639] hpet: T2 ROUTE_l: 0x0, ROUTE_h: 0x0
> [    0.325958] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0
> [    0.326279] hpet0: 3 comparators, 64-bit 14.318180 MHz counter
> [    0.328003] hpet: hpet_late_init(951):
> ..
> [    0.331006] hpet: T2: CFG_l: 0x0, CFG_h: 0xf00800
> [    0.331167] hpet: T2: CMP_l: 0xdfe12a, CMP_h: 0x0
> [    0.331327] hpet: T2 ROUTE_l: 0x0, ROUTE_h: 0x0
> 
> As you can see after hpet_late_init(951) T2 CMP_l is changed.

Strange; nobody should be accessing this.
Do you need to use it before hpet_late_init?

>> What does /proc/interrupts say?
> 
> $ cat /proc/interrupts
>            CPU0       CPU1
>   0:     192286          0   IO-APIC-edge      timer
>   1:       1039          0   IO-APIC-edge      i8042
>   8:         50          0   IO-APIC-edge      rtc0
>   9:        637       1903   IO-APIC-fasteoi   acpi
>  12:        163        515   IO-APIC-edge      i8042
>  16:      21285          0   IO-APIC-fasteoi   i915, ath9k, ehci_hcd:usb1, uhci_hcd:usb2
>  17:          0          0   IO-APIC-fasteoi   uhci_hcd:usb3
>  18:          0          0   IO-APIC-fasteoi   uhci_hcd:usb4
>  19:          0          0   IO-APIC-fasteoi   uhci_hcd:usb5
>  44:       3511       9569   PCI-MSI-edge      ahci
>  45:        515       1569   PCI-MSI-edge      hda_intel
>  46:          2          0   PCI-MSI-edge      eth0

Nobody is using /dev/hpet, you should be able to grab it for T2.

> By the way why I am getting this :
> 
> [  568.301571] CE: hpet increased min_delta_ns to 7500 nsec
> [  568.301736] CE: hpet increased min_delta_ns to 11250 nsec
> [  568.301888] CE: hpet increased min_delta_ns to 16875 nsec

On my AMD machine, this happens only if I have C1E enabled, and only up
to 11250 ns.  It seems your BIOS has installed a SMI.


Regards,
Clemens
--
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