I've been fiddling with cpufreq and the powernow-k8 driver to allow for fid/vid scaling in testing for a while, and had developed rdmsr(...) wrmsr(...) wrappers much like those that have been mentioned before on the list. To get the sysfs entries correct ( e.g. given die0 contains {core0,core1} cpu1 links to cpu0, affected_cpus fields, etc.), I've had to hack the powernow driver to make a call during init to setup cpu_core_map. I've been pulling my hair out trying to discover where exactly it is init'd in the vanilla kernel that isn't executed on xen bootup. With a properly setup (via my hack) cpu_core_map, behaviour is correct, affected_cpus is filled appropriately, and cpufreq will scale the cores together. I'd like to be able to patch for the general case - in the absense of my hack, though cpu_core_map still exists (the symbols being exported in smpboot.c, it is only marked for it's own core (i.e., Xen believes that a single die, dual core, opteron represents two distinct cpus). Proper initialization of cpu_core_map seems to depend on phys_proc_id and cpu_core_id which also appear to not be filled properly. I'm working with arch i386 and I reason that init_amd (which will setup these maps) isn't being called; I've double checked to make sure that X86_HT was defined - any thoughts or pointers? - Thom Linton _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Keir Fraser
2006-Apr-20 17:40 UTC
Re: [Xen-devel] cpufreq/powernow-k8 on dual-core opterons
> I''m working with arch i386 and I reason that init_amd (which will > setup these maps) isn''t being called; I''ve double checked to make sure > that X86_HT was defined - any thoughts or pointers?Yes, we need a hypervisor interface for extracting this topology information. Then we could set up the maps in our own smpboot.c. -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel