public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] x86-64 highres/dyntick support
@ 2007-05-06 20:58 Thomas Gleixner
  2007-05-07  9:16 ` Nicolas Mailhot
                   ` (5 more replies)
  0 siblings, 6 replies; 55+ messages in thread
From: Thomas Gleixner @ 2007-05-06 20:58 UTC (permalink / raw)
  To: LKML
  Cc: Venkatesh Pallipadi, john stultz, Ingo Molnar, Chris Wright,
	Arjan van de Ven, Steven Rostedt, Andi Kleen, Andrew Morton

I'm pleased to announce the first cut of the final x86_64
highres/dyntick support, which I did based on Chris Wright's patch set,
which is again based on Arjan van de Ven's initial work:

http://www.tglx.de/projects/hrtimers/2.6.21-git2-x86-64/patches-2.6.21-git2.patch.bz2

Broken out version:

http://www.tglx.de/projects/hrtimers/2.6.21-git2-x86-64/patches-2.6.21-git2.tar.bz2

It applies on top of 2.6.21-git2 and contains the following patches:

# Andi's x86_64 queue (already in -mm and pending mainline merges)
x86_64-2.6.21-git2.patch 

# Outstanding fixups to highres/dyntick core and i386 
# (-mm and mainline pending)
highres-dyntick-avoid-xtime-lock-contention.patch
acpi-keep-tsc-stable-when-lapic-timer-c2-ok-is-set.patch
clocksource-fix-resume-logic.patch
clockevents-fix-resume-logic.patch

# x86_64 dyntick support
x86-64-untangle-hpet-headers.patch
x86-64-drive-set-rtc-mss.patch
i386-move-pit-setup-to-i8253-h.patch
x86-64-remove-dead-code-tsc-c.patch
x86-64-convert-to-clockevents.patch
x86-64-prepare-idle-for-dyntick.patch
x86-64-enable-highres-dyntick.patch

The x86-64-convert-to-clockevents.patch is rather large, but there is no
way to do this incremental. The clockevents conversion has to be done in
one go. 

The x86-64 clockevents patch set overall summary is:

 22 files changed, 631 insertions(+), 1199 deletions(-)

due to sharing the code of PIT and HPET with i386.

I did not dare to tackle sharing apic.c yet, but there is definitely a
chance to get this done some day when I get bored and do a:
# mkdir arch/x86  :)

I'm going to post the x86_64 set for review to LKML once the outstanding
highres/dyntick fixups have hit mainline resp. -mm

To create a highres / dyntick enabled kernel for x86_64:
http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.21.tar.bz2
http://kernel.org/pub/linux/kernel/v2.6/snapshots/patch-2.6.21-git2.bz2
http://www.tglx.de/projects/hrtimers/2.6.21-git2-x86-64/patches-2.6.21-git2.patch.bz2


Comments, bugreports, patches are welcome as ususal

Thanks,

	tglx



^ permalink raw reply	[flat|nested] 55+ messages in thread
* Re: [PATCH] x86-64 highres/dyntick support
@ 2007-05-07 12:07 Mats Johannesson
  2007-05-07 15:13 ` Thomas Gleixner
  0 siblings, 1 reply; 55+ messages in thread
From: Mats Johannesson @ 2007-05-07 12:07 UTC (permalink / raw)
  To: tglx, linux-kernel

On Sun May 06 2007 - Europe Evening Time Thomas Gleixner wrote:

> I'm pleased to announce the first cut of the final x86_64
> highres/dyntick support, which I did based on Chris Wright's patch
> set, which is again based on Arjan van de Ven's initial work:
[...]
> Comments, bugreports, patches are welcome as ususal

Are questions welcome? Then I'd ask: "What are the _minimal_ CPU
requirements to gain anything (eg less power consumption) with
dyntick?"

I ask because of a trial round with Chris Wright's patch set on a
fresh battery, idle system outside X with wifi card shut off and HZ
set to 100 (from my normal 1000):

root@sleipner:~# ls -l battest-the-new-battery/*
battest-the-new-battery/dyn-100hz-2.6.21:
total 4
-rw-r--r-- 1 root root  0 2007-04-27 00:50 start
-rw-r--r-- 1 root root  0 2007-04-27 03:54 stop
-rwxr-xr-x 1 root root 72 2007-04-26 22:16 test-batt.bash

battest-the-new-battery/plain-2.6.21:
total 4
-rw-r--r-- 1 root root  0 2007-04-27 13:16 start
-rw-r--r-- 1 root root  0 2007-04-27 16:22 stop
-rwxr-xr-x 1 root root 72 2007-04-26 22:16 test-batt.bash
root@sleipner:~#

The script just touched the "stop" file with a 2 minutes interval until
the machine died. As seen by the plus/minus 2 minutes results there is
absolutely no difference.

This AMD 64 Mobile processor only has a C1 level which isn't used:

root@sleipner:~# cat /proc/acpi/processor/CPU0/power
active state:            C1
max_cstate:              C8
bus master activity:     00000000
maximum allowed latency: 2000 usec
states:
   *C1:                  type[C1] promotion[--] demotion[--]
latency[000] usage[00000000] duration[00000000000000000000]

But shouldn't the the kernel 'hlt' routine, or whatever it's called,
work in conjunction with dyntick to achieve... something...?

CPU markings are:

Mobile AMD Athlon 64
AMA3400BEX5AR 1169004L40404
CAAZC 0451APMW 2001 AMD
Assembled in Malaysia

root@sleipner:~# cat /proc/cpuinfo
processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 15
model           : 4
model name      : AMD Athlon(tm) 64 Processor 3400+
stepping        : 10
cpu MHz         : 800.000
cache size      : 1024 KB
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext lm
3dnowext 3dnow
bogomips        : 1601.73
TLB size        : 1024 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp

Mvh,
Mats

^ permalink raw reply	[flat|nested] 55+ messages in thread

end of thread, other threads:[~2007-05-21  1:17 UTC | newest]

Thread overview: 55+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-05-06 20:58 [PATCH] x86-64 highres/dyntick support Thomas Gleixner
2007-05-07  9:16 ` Nicolas Mailhot
2007-05-07 15:28   ` Thomas Gleixner
2007-05-08 17:08     ` Nicolas Mailhot
2007-05-07 16:31 ` Chris Wright
2007-05-07 16:46   ` Thomas Gleixner
2007-05-07 17:18     ` Chris Wright
2007-05-08  9:39     ` Chris Wright
2007-05-08  9:42       ` [PATCH 1/5] x86_64: tsc compile fix Chris Wright
2007-05-08  9:47         ` Thomas Gleixner
2007-05-08  9:43       ` [PATCH 2/5] x86_64: __setup_APIC_LVTT whitespace fix Chris Wright
2007-05-08  9:48         ` Thomas Gleixner
2007-05-08  9:44       ` [PATCH 3/5] i386: hpet assumes boot cpu is 0 Chris Wright
2007-05-08  9:54         ` Thomas Gleixner
2007-05-08  9:46       ` [PATCH 4/5] i386: i8253 clockevent shutdown and unused using pit Chris Wright
2007-05-08  9:53         ` Thomas Gleixner
2007-05-08  9:47       ` [PATCH 5/5] x86_64: restore restore nohpet cmdline Chris Wright
2007-05-08  9:53         ` Thomas Gleixner
2007-05-08  9:51       ` [PATCH] x86-64 highres/dyntick support Thomas Gleixner
2007-05-08  9:51         ` Chris Wright
2007-05-08  9:58           ` Thomas Gleixner
2007-05-08 10:06             ` Chris Wright
2007-05-08 10:34               ` Thomas Gleixner
2007-05-08 13:15           ` Pallipadi, Venkatesh
2007-05-07 22:43 ` Venki Pallipadi
2007-05-07 23:15   ` Thomas Gleixner
2007-05-14  1:17 ` Alistair John Strachan
2007-05-14  6:33   ` Thomas Gleixner
2007-05-14 10:26   ` [PATCH] x86-64 highres/dyntick support 2.6.22-rc1-v1 Thomas Gleixner
2007-05-14 20:10     ` Valdis.Kletnieks
2007-05-14 20:23       ` Thomas Gleixner
2007-05-14 21:15     ` Alistair John Strachan
2007-05-14 22:05       ` Thomas Gleixner
2007-05-14 22:42         ` Alistair John Strachan
2007-05-15  8:18           ` [PATCH] x86-64 highres/dyntick support 2.6.22-rc1-v4 Thomas Gleixner
2007-05-15 14:06             ` Frank Sorenson
2007-05-15 21:53               ` Thomas Gleixner
2007-05-15 23:20                 ` Frank Sorenson
2007-05-16  5:02                   ` Frank Sorenson
2007-05-16  6:20                     ` Thomas Gleixner
2007-05-16  9:01                       ` Thomas Gleixner
2007-05-15 23:23             ` Alistair John Strachan
2007-05-16  5:54               ` Thomas Gleixner
2007-05-16 10:03 ` [PATCH] x86-64 highres/dyntick support 2.6.22-rc1-v5 Thomas Gleixner
2007-05-16 19:48   ` Frank Sorenson
2007-05-17  4:25     ` Frank Sorenson
2007-05-17 19:12       ` Frank Sorenson
2007-05-17 19:19         ` Christoph Lameter
2007-05-18  3:55           ` Frank Sorenson
2007-05-18 16:58             ` Christoph Lameter
2007-05-18 19:44             ` Christoph Lameter
2007-05-17 22:09 ` [PATCH] x86-64 highres/dyntick support 2.6.22-rc1-v7 Thomas Gleixner
2007-05-21  1:14   ` Valdis.Kletnieks
  -- strict thread matches above, loose matches on Subject: below --
2007-05-07 12:07 [PATCH] x86-64 highres/dyntick support Mats Johannesson
2007-05-07 15:13 ` Thomas Gleixner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox