* [PATCH] PowerPC: clockevents and HRT support
@ 2006-11-07 21:05 Sergei Shtylyov
2006-11-07 22:36 ` Benjamin Herrenschmidt
0 siblings, 1 reply; 15+ messages in thread
From: Sergei Shtylyov @ 2006-11-07 21:05 UTC (permalink / raw)
To: tglx; +Cc: linuxppc-dev, greg.weeks
Add PowerPC decrementer clock event driver and enable HRT.
Every effort has been made to support the different implementations of the
decrementer: the classic one (with 970 series variation), 40x and Book E
specific ones.
I had to make CONFIG_GENERIC_CLOCKEVENTS option selectable for the
compatibility reasons -- this option is not compatible with the PPC64
deterministic time accounting.
Thanks to Daniel Walker and Thomas Gleixner for suggestions they made...
Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
---
This patch has been reworked against 2.6.18-hrt-dyntick2 patchset and
tested on the classic and Book E 32-bit CPUs.
CONFIG_PPC_MULTIPLATFORM was the best option I was able to come up with
to cover machines built on 970 series CPU...
arch/powerpc/Kconfig | 13 ++++
arch/powerpc/kernel/time.c | 121 +++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 133 insertions(+), 1 deletion(-)
Index: linux-2.6/arch/powerpc/Kconfig
===================================================================
--- linux-2.6.orig/arch/powerpc/Kconfig
+++ linux-2.6/arch/powerpc/Kconfig
@@ -281,7 +281,7 @@ config PPC_STD_MMU_32
config VIRT_CPU_ACCOUNTING
bool "Deterministic task and CPU time accounting"
- depends on PPC64
+ depends on PPC64 && !GENERIC_CLOCKEVENTS
default y
help
Select this option to enable more accurate task and CPU time
@@ -599,6 +599,17 @@ config HIGHMEM
depends on PPC32
source kernel/Kconfig.hz
+
+config GENERIC_CLOCKEVENTS
+ bool "Clock event devices support"
+ default n
+ help
+ Enable support for the clock event devices necessary for the
+ high-resolution timers and the tickless system support.
+ NOTE: This is not compatible with the deterministic time accounting
+ option on PPC64.
+
+source kernel/time/Kconfig
source kernel/Kconfig.preempt
source "fs/Kconfig.binfmt"
Index: linux-2.6/arch/powerpc/kernel/time.c
===================================================================
--- linux-2.6.orig/arch/powerpc/kernel/time.c
+++ linux-2.6/arch/powerpc/kernel/time.c
@@ -51,6 +51,7 @@
#include <linux/rtc.h>
#include <linux/jiffies.h>
#include <linux/posix-timers.h>
+#include <linux/clockchips.h>
#include <asm/io.h>
#include <asm/processor.h>
@@ -124,6 +125,80 @@ unsigned long ppc_tb_freq;
static u64 tb_last_jiffy __cacheline_aligned_in_smp;
static DEFINE_PER_CPU(u64, last_jiffy);
+#ifdef CONFIG_GENERIC_CLOCKEVENTS
+
+#if defined(CONFIG_40x) || defined(CONFIG_BOOKE)
+#define DECREMENTER_MAX 0xffffffff
+#else
+#define DECREMENTER_MAX 0x7fffffff /* setting MSB triggers an interrupt */
+#endif
+
+struct decrementer_device {
+ struct clock_event_device device;
+ int mode;
+};
+
+static void decrementer_set_next_event(unsigned long evt,
+ struct clock_event_device *dev)
+{
+#if defined(CONFIG_40x)
+ mtspr(SPRN_PIT, evt); /* 40x has a hidden PIT auto-reload register */
+#elif defined(CONFIG_BOOKE)
+ mtspr(SPRN_DECAR, evt); /* Book E has separate auto-reload register */
+ set_dec(evt);
+#else
+ set_dec(evt - 1); /* Classic decrementer interrupts at -1 */
+#endif
+}
+
+static void decrementer_set_mode(enum clock_event_mode mode,
+ struct clock_event_device *dev)
+{
+ struct decrementer_device *decrementer;
+#if defined(CONFIG_40x) || defined(CONFIG_BOOKE)
+ u32 tcr = mfspr(SPRN_TCR);
+
+ if (mode == CLOCK_EVT_PERIODIC)
+ tcr |= TCR_ARE;
+ else
+ tcr &= ~TCR_ARE;
+
+ mtspr(SPRN_TCR, tcr);
+#endif
+ decrementer = container_of(dev, struct decrementer_device, device);
+ decrementer->mode = mode;
+
+ if (mode == CLOCK_EVT_PERIODIC)
+ decrementer_set_next_event(tb_ticks_per_jiffy, dev);
+}
+
+static struct clock_event_device decrementer_template = {
+ .name = "decrementer",
+ .capabilities = CLOCK_CAP_PROFILE | CLOCK_CAP_UPDATE |
+ CLOCK_CAP_NEXTEVT,
+ .shift = 32,
+ .set_mode = decrementer_set_mode,
+ .set_next_event = decrementer_set_next_event,
+};
+
+static DEFINE_PER_CPU(struct decrementer_device, decrementers);
+
+static void register_decrementer(void)
+{
+ int cpu = smp_processor_id();
+ struct decrementer_device *decrementer = &per_cpu(decrementers, cpu);
+
+ decrementer->device = decrementer_template;
+
+ /* We only want do_timer() to be called on a boot CPU. */
+ if (cpu == boot_cpuid)
+ decrementer->device.capabilities |= CLOCK_CAP_TICK;
+
+ register_local_clockevent(&decrementer->device);
+}
+
+#endif /* CONFIG_GENERIC_CLOCKEVENTS */
+
#ifdef CONFIG_VIRT_CPU_ACCOUNTING
/*
* Factors for converting from cputime_t (timebase ticks) to
@@ -340,6 +415,9 @@ void snapshot_timebase(void)
{
__get_cpu_var(last_jiffy) = get_tb();
snapshot_purr();
+#ifdef CONFIG_GENERIC_CLOCKEVENTS
+ register_decrementer();
+#endif
}
void __delay(unsigned long loops)
@@ -495,7 +573,28 @@ void timer_interrupt(struct pt_regs * re
irq_enter();
+#ifdef CONFIG_GENERIC_CLOCKEVENTS
+#ifdef CONFIG_PPC_MULTIPLATFORM
+ /*
+ * We must write a positive value to the decrementer to clear
+ * the interrupt on the IBM 970 CPU series. In periodic mode,
+ * this happens when the decrementer gets reloaded later, but
+ * in one-shot mode, we have to do it here since an event handler
+ * may skip loading the new value...
+ */
+ if (per_cpu(decrementers, cpu).mode != CLOCK_EVT_PERIODIC)
+ set_dec(DECREMENTER_MAX);
+#endif
+ /*
+ * We can't disable the decrementer, so in the period between
+ * CPU being marked offline and calling stop-self, it's taking
+ * timer interrupts...
+ */
+ if (!cpu_is_offline(cpu))
+ per_cpu(decrementers, cpu).device.event_handler(regs);
+#else
profile_tick(CPU_PROFILING, regs);
+#endif
calculate_steal_time();
#ifdef CONFIG_PPC_ISERIES
@@ -510,6 +609,7 @@ void timer_interrupt(struct pt_regs * re
if (__USE_RTC() && per_cpu(last_jiffy, cpu) >= 1000000000)
per_cpu(last_jiffy, cpu) -= 1000000000;
+#ifndef CONFIG_GENERIC_CLOCKEVENTS
/*
* We cannot disable the decrementer, so in the period
* between this cpu's being marked offline in cpu_online_map
@@ -519,6 +619,7 @@ void timer_interrupt(struct pt_regs * re
*/
if (!cpu_is_offline(cpu))
account_process_time(regs);
+#endif
/*
* No need to check whether cpu is offline here; boot_cpuid
@@ -531,14 +632,23 @@ void timer_interrupt(struct pt_regs * re
tb_next_jiffy = tb_last_jiffy + tb_ticks_per_jiffy;
if (per_cpu(last_jiffy, cpu) >= tb_next_jiffy) {
tb_last_jiffy = tb_next_jiffy;
+#ifndef CONFIG_GENERIC_CLOCKEVENTS
do_timer(1);
+#endif
timer_check_rtc();
}
write_sequnlock(&xtime_lock);
}
next_dec = tb_ticks_per_jiffy - ticks;
+#ifdef CONFIG_GENERIC_CLOCKEVENTS
+#if !defined(CONFIG_40x) && !defined(CONFIG_BOOKE)
+ if (per_cpu(decrementers, cpu).mode == CLOCK_EVT_PERIODIC)
+ set_dec(next_dec - 1);
+#endif
+#else
set_dec(next_dec);
+#endif
#ifdef CONFIG_PPC_ISERIES
if (hvlpevent_is_pending())
@@ -787,8 +897,19 @@ void __init time_init(void)
tb_to_ns_scale = scale;
tb_to_ns_shift = shift;
+#ifdef CONFIG_GENERIC_CLOCKEVENTS
+ decrementer_template.mult = div_sc(ppc_tb_freq, NSEC_PER_SEC,
+ decrementer_template.shift);
+ decrementer_template.max_delta_ns =
+ clockevent_delta2ns(DECREMENTER_MAX, &decrementer_template);
+ decrementer_template.min_delta_ns =
+ clockevent_delta2ns(0xf, &decrementer_template);
+
+ register_decrementer();
+#else
/* Not exact, but the timer interrupt takes care of this */
set_dec(tb_ticks_per_jiffy);
+#endif
}
#define FEBRUARY 2
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH] PowerPC: clockevents and HRT support
2006-11-07 21:05 [PATCH] PowerPC: clockevents and HRT support Sergei Shtylyov
@ 2006-11-07 22:36 ` Benjamin Herrenschmidt
2006-11-07 22:44 ` Sergei Shtylyov
0 siblings, 1 reply; 15+ messages in thread
From: Benjamin Herrenschmidt @ 2006-11-07 22:36 UTC (permalink / raw)
To: Sergei Shtylyov; +Cc: linuxppc-dev, tglx, greg.weeks
> +#ifdef CONFIG_PPC_MULTIPLATFORM
> + /*
> + * We must write a positive value to the decrementer to clear
> + * the interrupt on the IBM 970 CPU series. In periodic mode,
> + * this happens when the decrementer gets reloaded later, but
> + * in one-shot mode, we have to do it here since an event handler
> + * may skip loading the new value...
> + */
> + if (per_cpu(decrementers, cpu).mode != CLOCK_EVT_PERIODIC)
> + set_dec(DECREMENTER_MAX);
> +#endif
PPC_MULTIPLATFORM is going away soon (or will be set for all CPU types
in arch/powerpc). Just make up a macro at the top of the file around the
lines of
#if defined(CONFIG_40x) || defined(CONFIG_BOOKE)
#define PPC_BOOKE_DECREMENTER
#endif
And use #if(n)def PPC_BOOKE_DECREMENTER in the rest of the code.
Also, what's the problem with ppc64 deterministic accounting that you
can't fix it ?
Ben.
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH] PowerPC: clockevents and HRT support
2006-11-07 22:36 ` Benjamin Herrenschmidt
@ 2006-11-07 22:44 ` Sergei Shtylyov
2006-11-07 23:04 ` Benjamin Herrenschmidt
2006-11-08 2:00 ` Paul Mackerras
0 siblings, 2 replies; 15+ messages in thread
From: Sergei Shtylyov @ 2006-11-07 22:44 UTC (permalink / raw)
To: Benjamin Herrenschmidt; +Cc: linuxppc-dev, tglx, greg.weeks
Hello.
Benjamin Herrenschmidt wrote:
>>+#ifdef CONFIG_PPC_MULTIPLATFORM
>>+ /*
>>+ * We must write a positive value to the decrementer to clear
>>+ * the interrupt on the IBM 970 CPU series. In periodic mode,
>>+ * this happens when the decrementer gets reloaded later, but
>>+ * in one-shot mode, we have to do it here since an event handler
>>+ * may skip loading the new value...
>>+ */
>>+ if (per_cpu(decrementers, cpu).mode != CLOCK_EVT_PERIODIC)
>>+ set_dec(DECREMENTER_MAX);
>>+#endif
> PPC_MULTIPLATFORM is going away soon (or will be set for all CPU types
> in arch/powerpc). Just make up a macro at the top of the file around the
> lines of
> #if defined(CONFIG_40x) || defined(CONFIG_BOOKE)
> #define PPC_BOOKE_DECREMENTER
> #endif
> And use #if(n)def PPC_BOOKE_DECREMENTER in the rest of the code.
That's not equivalent. What I wanted to cover with this option was 970
weirdness of the decrementer interrupts being level triggered and effectively
tied to the MSB of the decremeneter register...
Also, 40x decrementer is not Book E compatible.
> Also, what's the problem with ppc64 deterministic accounting that you
> can't fix it ?
Arch-specific accounting hooks which this feature makes use of can't be
called from the generic clockevents code.
> Ben.
WBR, Sergei
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH] PowerPC: clockevents and HRT support
2006-11-07 22:44 ` Sergei Shtylyov
@ 2006-11-07 23:04 ` Benjamin Herrenschmidt
2006-11-07 23:21 ` Sergei Shtylyov
2006-11-08 2:00 ` Paul Mackerras
1 sibling, 1 reply; 15+ messages in thread
From: Benjamin Herrenschmidt @ 2006-11-07 23:04 UTC (permalink / raw)
To: Sergei Shtylyov; +Cc: linuxppc-dev, tglx, greg.weeks
> That's not equivalent. What I wanted to cover with this option was 970
> weirdness of the decrementer interrupts being level triggered and effectively
> tied to the MSB of the decremeneter register...
> Also, 40x decrementer is not Book E compatible.
Well... Is this specific to the 970 or also happens on all
POWER4..5..6 ? (I don't remember off the top of my head). It should
probably be a runtime check then.
> > Also, what's the problem with ppc64 deterministic accounting that you
> > can't fix it ?
>
> Arch-specific accounting hooks which this feature makes use of can't be
> called from the generic clockevents code.
Then the generic clockevent code will have to be fixed or powerpc not
ported to it.
Ben.
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH] PowerPC: clockevents and HRT support
2006-11-07 23:04 ` Benjamin Herrenschmidt
@ 2006-11-07 23:21 ` Sergei Shtylyov
2006-11-08 0:18 ` Benjamin Herrenschmidt
0 siblings, 1 reply; 15+ messages in thread
From: Sergei Shtylyov @ 2006-11-07 23:21 UTC (permalink / raw)
To: Benjamin Herrenschmidt; +Cc: linuxppc-dev, tglx, greg.weeks
Hello.
Benjamin Herrenschmidt wrote:
>> That's not equivalent. What I wanted to cover with this option was 970
>>weirdness of the decrementer interrupts being level triggered and effectively
>>tied to the MSB of the decremeneter register...
>> Also, 40x decrementer is not Book E compatible.
> Well... Is this specific to the 970 or also happens on all
> POWER4..5..6 ? (I don't remember off the top of my head). It should
> probably be a runtime check then.
I don't have the docs on POWER[456], so can't say anything.
>>>Also, what's the problem with ppc64 deterministic accounting that you
>>>can't fix it ?
>> Arch-specific accounting hooks which this feature makes use of can't be
>>called from the generic clockevents code.
> Then the generic clockevent code will have to be fixed or powerpc not
> ported to it.
Whatever. I don't care about that feature. I did my best to solve this
gracefully.
> Ben.
WBR, Sergei
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH] PowerPC: clockevents and HRT support
2006-11-07 23:21 ` Sergei Shtylyov
@ 2006-11-08 0:18 ` Benjamin Herrenschmidt
2006-11-08 1:19 ` Mark A. Greer
0 siblings, 1 reply; 15+ messages in thread
From: Benjamin Herrenschmidt @ 2006-11-08 0:18 UTC (permalink / raw)
To: Sergei Shtylyov; +Cc: linuxppc-dev, tglx, greg.weeks
> Whatever. I don't care about that feature. I did my best to solve this
> gracefully.
Very typical of Montavista to not care about doing the right thing.
Ben
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH] PowerPC: clockevents and HRT support
2006-11-08 0:18 ` Benjamin Herrenschmidt
@ 2006-11-08 1:19 ` Mark A. Greer
2006-11-08 2:06 ` Benjamin Herrenschmidt
0 siblings, 1 reply; 15+ messages in thread
From: Mark A. Greer @ 2006-11-08 1:19 UTC (permalink / raw)
To: Benjamin Herrenschmidt; +Cc: linuxppc-dev, tglx, greg.weeks
On Wed, Nov 08, 2006 at 11:18:51AM +1100, Benjamin Herrenschmidt wrote:
>
> > Whatever. I don't care about that feature. I did my best to solve this
> > gracefully.
>
> Very typical of Montavista to not care about doing the right thing.
>
> Ben
Hmmm...
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH] PowerPC: clockevents and HRT support
2006-11-07 22:44 ` Sergei Shtylyov
2006-11-07 23:04 ` Benjamin Herrenschmidt
@ 2006-11-08 2:00 ` Paul Mackerras
2006-11-08 14:21 ` Sergei Shtylyov
1 sibling, 1 reply; 15+ messages in thread
From: Paul Mackerras @ 2006-11-08 2:00 UTC (permalink / raw)
To: Sergei Shtylyov; +Cc: tglx, greg.weeks, linuxppc-dev
Sergei Shtylyov writes:
> Arch-specific accounting hooks which this feature makes use of can't be
> called from the generic clockevents code.
Which hooks specifically?
The deterministic accounting is an essential feature; there's no way
I'll accept a patch which disables it.
Paul.
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH] PowerPC: clockevents and HRT support
2006-11-08 1:19 ` Mark A. Greer
@ 2006-11-08 2:06 ` Benjamin Herrenschmidt
2006-11-08 14:14 ` Sergei Shtylyov
0 siblings, 1 reply; 15+ messages in thread
From: Benjamin Herrenschmidt @ 2006-11-08 2:06 UTC (permalink / raw)
To: Mark A. Greer; +Cc: linuxppc-dev, tglx, greg.weeks
On Tue, 2006-11-07 at 18:19 -0700, Mark A. Greer wrote:
> On Wed, Nov 08, 2006 at 11:18:51AM +1100, Benjamin Herrenschmidt wrote:
> >
> > > Whatever. I don't care about that feature. I did my best to solve this
> > > gracefully.
> >
> > Very typical of Montavista to not care about doing the right thing.
> >
> > Ben
>
> Hmmm...
Yeah, ok, maybe not -everybody- there :-)
Ben.
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH] PowerPC: clockevents and HRT support
2006-11-08 2:06 ` Benjamin Herrenschmidt
@ 2006-11-08 14:14 ` Sergei Shtylyov
0 siblings, 0 replies; 15+ messages in thread
From: Sergei Shtylyov @ 2006-11-08 14:14 UTC (permalink / raw)
To: Benjamin Herrenschmidt; +Cc: linuxppc-dev, tglx, greg.weeks
Hello.
Benjamin Herrenschmidt wrote:
>>>> Whatever. I don't care about that feature. I did my best to solve this
>>>>gracefully.
>>>Very typical of Montavista to not care about doing the right thing.
We also have schedule to follow.
>>Hmmm...
> Yeah, ok, maybe not -everybody- there :-)
I think I'm among the least deserving such compliments here.
> Ben.
WBR, Sergei
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH] PowerPC: clockevents and HRT support
2006-11-08 2:00 ` Paul Mackerras
@ 2006-11-08 14:21 ` Sergei Shtylyov
2006-11-10 8:32 ` Paul Mackerras
0 siblings, 1 reply; 15+ messages in thread
From: Sergei Shtylyov @ 2006-11-08 14:21 UTC (permalink / raw)
To: Paul Mackerras; +Cc: tglx, greg.weeks, linuxppc-dev
Hello.
Paul Mackerras wrote:
>> Arch-specific accounting hooks which this feature makes use of can't be
>>called from the generic clockevents code.
> Which hooks specifically?
You aren't saying you don't know your own code?
Specifically, it's local account_process_time() function being called
instead of updated_process_times() with CONFIG_VIRT_CPU_ACCOUNTING option on.
> The deterministic accounting is an essential feature; there's no way
> I'll accept a patch which disables it.
I'm not talking you into accepting it in any way, this is just to keep
people informed.
And I left people a choice: they can either have fancy accounting or HRT,
just not both at once. What's wrong with that?
> Paul.
WBR, Sergei
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH] PowerPC: clockevents and HRT support
2006-11-08 14:21 ` Sergei Shtylyov
@ 2006-11-10 8:32 ` Paul Mackerras
2006-11-10 14:08 ` Sergei Shtylyov
0 siblings, 1 reply; 15+ messages in thread
From: Paul Mackerras @ 2006-11-10 8:32 UTC (permalink / raw)
To: Sergei Shtylyov; +Cc: tglx, greg.weeks, linuxppc-dev
Sergei Shtylyov writes:
> And I left people a choice: they can either have fancy accounting or HRT,
> just not both at once. What's wrong with that?
_I_ want both at once. :)
Paul.
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH] PowerPC: clockevents and HRT support
2006-11-10 8:32 ` Paul Mackerras
@ 2006-11-10 14:08 ` Sergei Shtylyov
2006-11-10 23:52 ` Paul Mackerras
0 siblings, 1 reply; 15+ messages in thread
From: Sergei Shtylyov @ 2006-11-10 14:08 UTC (permalink / raw)
To: Paul Mackerras; +Cc: tglx, greg.weeks, linuxppc-dev
Hello.
Paul Mackerras wrote:
> Sergei Shtylyov writes:
>> And I left people a choice: they can either have fancy accounting or HRT,
>>just not both at once. What's wrong with that?
> _I_ want both at once. :)
I think the usual rule is: "you want it, you do it". ;-)
Seriously, we have neither time, not hardware, nor docs for the h/w this
accounting option applies to. And coercing the generic clcokevents/hrtimers
code into calling the arch hooks is serious design decision which I felt is
better to be left to Thomas as a maintainer...
> Paul.
WBR, Sergei
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH] PowerPC: clockevents and HRT support
2006-11-10 14:08 ` Sergei Shtylyov
@ 2006-11-10 23:52 ` Paul Mackerras
2006-11-12 18:30 ` Sergei Shtylyov
0 siblings, 1 reply; 15+ messages in thread
From: Paul Mackerras @ 2006-11-10 23:52 UTC (permalink / raw)
To: Sergei Shtylyov; +Cc: tglx, greg.weeks, linuxppc-dev
Sergei Shtylyov writes:
> I think the usual rule is: "you want it, you do it". ;-)
Sure! And I will, at some point, if someone else doesn't do it
first.
My point is simply that as maintainer I won't accept a patch that
breaks an important feature, even if it adds another important
feature.
> Seriously, we have neither time, not hardware, nor docs for the h/w this
> accounting option applies to.
Really? You're working on machines that don't have a timebase
register? What powerpc chip doesn't have a timebase register, other
than the really old 601? :) The timebase is all the hardware that is
needed.
> And coercing the generic clcokevents/hrtimers
> code into calling the arch hooks is serious design decision which I felt is
> better to be left to Thomas as a maintainer...
CONFIG_VIRT_CPU_ACCOUNTING is used, and needed, on powerpc and s390,
both of which also want to do dynticks. If the current framework
can't cope with that, then it needs to be extended.
Paul.
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH] PowerPC: clockevents and HRT support
2006-11-10 23:52 ` Paul Mackerras
@ 2006-11-12 18:30 ` Sergei Shtylyov
0 siblings, 0 replies; 15+ messages in thread
From: Sergei Shtylyov @ 2006-11-12 18:30 UTC (permalink / raw)
To: Paul Mackerras; +Cc: tglx, greg.weeks, John Stultz, linuxppc-dev
Hello.
Paul Mackerras wrote:
>> I think the usual rule is: "you want it, you do it". ;-)
> Sure! And I will, at some point, if someone else doesn't do it
> first.
> My point is simply that as maintainer I won't accept a patch that
> breaks an important feature, even if it adds another important
> feature.
It's too early to talk about the mainline acceptance of this patch ATM,
while TOD vsyscalls are broken/removed by the GENERIC_TIME support patches
(which are aboslutely needed for HRT as well). We'll try to return to getting
them straight when the time permits, but for now the HRT patchset is still in
better form than it was for several months before that (not even compilable,
and vsyscalls broken)...
>> Seriously, we have neither time, not hardware, nor docs for the h/w this
>>accounting option applies to.
> Really? You're working on machines that don't have a timebase
> register? What powerpc chip doesn't have a timebase register, other
> than the really old 601? :) The timebase is all the hardware that is
> needed.
If you look at arch/powerpc/Kconfig, you'll see that this option depends
on PPC64 which basically says it all: we have only 32-bit targets to care
about ATM. When it comes to 64-bit ones, we'll see... :-)
>>And coercing the generic clcokevents/hrtimers
>>code into calling the arch hooks is serious design decision which I felt is
>>better to be left to Thomas as a maintainer...
> CONFIG_VIRT_CPU_ACCOUNTING is used, and needed, on powerpc and s390,
> both of which also want to do dynticks. If the current framework
> can't cope with that, then it needs to be extended.
Well, why not make Linus "extend" update_process_times() for starters? :-)
> Paul.
WBR, Sergei
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2006-11-12 18:28 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-11-07 21:05 [PATCH] PowerPC: clockevents and HRT support Sergei Shtylyov
2006-11-07 22:36 ` Benjamin Herrenschmidt
2006-11-07 22:44 ` Sergei Shtylyov
2006-11-07 23:04 ` Benjamin Herrenschmidt
2006-11-07 23:21 ` Sergei Shtylyov
2006-11-08 0:18 ` Benjamin Herrenschmidt
2006-11-08 1:19 ` Mark A. Greer
2006-11-08 2:06 ` Benjamin Herrenschmidt
2006-11-08 14:14 ` Sergei Shtylyov
2006-11-08 2:00 ` Paul Mackerras
2006-11-08 14:21 ` Sergei Shtylyov
2006-11-10 8:32 ` Paul Mackerras
2006-11-10 14:08 ` Sergei Shtylyov
2006-11-10 23:52 ` Paul Mackerras
2006-11-12 18:30 ` Sergei Shtylyov
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).