applied. thanks, -len On Thursday 31 January 2008 20:35, venkatesh.pallipadi@xxxxxxxxx wrote: > Show C1 idle time in /sysfs cpuidle interface. C1 idle time may not > be entirely accurate in all cases. It includes the time spent > in the interrupt handler after wakeup with "hlt" based C1. But, it will > be accurate with "mwait" based C1. > > Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@xxxxxxxxx> > > Index: linux-2.6.25-rc/drivers/acpi/processor_idle.c > =================================================================== > --- linux-2.6.25-rc.orig/drivers/acpi/processor_idle.c > +++ linux-2.6.25-rc/drivers/acpi/processor_idle.c > @@ -1382,8 +1382,10 @@ static inline void acpi_idle_do_entry(st > static int acpi_idle_enter_c1(struct cpuidle_device *dev, > struct cpuidle_state *state) > { > + u32 t1, t2; > struct acpi_processor *pr; > struct acpi_processor_cx *cx = cpuidle_get_statedata(state); > + > pr = processors[smp_processor_id()]; > > if (unlikely(!pr)) > @@ -1393,12 +1395,14 @@ static int acpi_idle_enter_c1(struct cpu > if (pr->flags.bm_check) > acpi_idle_update_bm_rld(pr, cx); > > + t1 = inl(acpi_gbl_FADT.xpm_timer_block.address); > acpi_idle_do_entry(cx); > + t2 = inl(acpi_gbl_FADT.xpm_timer_block.address); > > local_irq_enable(); > cx->usage++; > > - return 0; > + return ticks_elapsed_in_us(t1, t2); > } > > /** > @@ -1632,6 +1636,7 @@ static int acpi_processor_setup_cpuidle( > switch (cx->type) { > case ACPI_STATE_C1: > state->flags |= CPUIDLE_FLAG_SHALLOW; > + state->flags |= CPUIDLE_FLAG_TIME_VALID; > state->enter = acpi_idle_enter_c1; > dev->safe_state = state; > break; > - To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html