Messages in this thread | | | Date | Fri, 25 Oct 2002 13:03:18 -0700 | From | chrisl@vmware ... | Subject | Re: [PATCH] How to get number of physical CPU in linux from user space? |
| |
Cool. That will work for me.
Thanks
Chris
On Fri, Oct 25, 2002 at 03:21:28PM -0400, Robert Love wrote: > On Fri, 2002-10-25 at 15:13, Dave Jones wrote: > > > Should this be wrapped in a if (cpu_has_ht(c)) { } ? > > Seems silly to be displaying HT information on non-HT CPUs. > > I am neutral, but is fine with me. It is just "cpu_has_ht", btw. > > Take two... > > This displays the physical processor id and number of siblings of each > processor in /proc/cpuinfo. > > Robert Love > > .proc.c.swp |binary > proc.c | 7 +++++++ > 2 files changed, 7 insertions(+) > > diff -urN linux-2.5.44/arch/i386/kernel/cpu/proc.c linux/arch/i386/kernel/cpu/proc.c > --- linux-2.5.44/arch/i386/kernel/cpu/proc.c 2002-10-19 00:02:29.000000000 -0400 > +++ linux/arch/i386/kernel/cpu/proc.c 2002-10-25 15:18:03.000000000 -0400 > @@ -17,6 +17,7 @@ > * applications want to get the raw CPUID data, they should access > * /dev/cpu/<cpu_nr>/cpuid instead. > */ > + extern int phys_proc_id[NR_CPUS]; > static char *x86_cap_flags[] = { > /* Intel-defined */ > "fpu", "vme", "de", "pse", "tsc", "msr", "pae", "mce", > @@ -74,6 +75,12 @@ > /* Cache size */ > if (c->x86_cache_size >= 0) > seq_printf(m, "cache size\t: %d KB\n", c->x86_cache_size); > +#ifdef CONFIG_SMP > + if (cpu_has_ht) { > + seq_printf(m, "physical processor ID\t: %d\n", phys_proc_id[n]); > + seq_printf(m, "number of siblings\t: %d\n", smp_num_siblings); > + } > +#endif > > /* We use exception 16 if we have hardware math and we've either seen it or the CPU claims it is internal */ > fpu_exception = c->hard_math && (ignore_irq13 || cpu_has_fpu); >
- 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/
| |