lkml.org 
[lkml]   [2006]   [May]   [17]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
FromKeith Owens <>
SubjectRe: [RFC] [Patch 5/8] statistics infrastructure
DateWed, 17 May 2006 14:29:07 +1000
Martin Peschke (on Tue, 16 May 2006 19:46:38 +0200) wrote:
>+static inline void statistic_add(struct statistic *stat, int i,
>+				 s64 value, u64 incr)
>+{
>+	int cpu;
>+	unsigned long flags;
>+
>+	if (stat[i].state == statistic_state_on) {
>+		cpu = get_cpu();
>+		local_irq_save(flags);
>+		stat[i].add(&stat[i], cpu, value, incr);
>+		local_irq_restore(flags);
>+		put_cpu();
>+	}
>+}

Using get_cpu()/put_cpu() is pure overhead when you are disabling
interrupts as well.

	if (stat[i].state == statistic_state_on) {
		local_irq_save(flags);
		stat[i].add(&stat[i], smp_processor_id(), value, incr);
		local_irq_restore(flags);
	}
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2006-05-17 06:32    [from the cache]
©2003-2008