[lkml]   [2012]   [May]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [PATCH 4/9] perf: Generic intel uncore support
    On 05/10/2012 06:05 PM, Peter Zijlstra wrote:
    > On Thu, 2012-05-10 at 15:34 +0800, Yan, Zheng wrote:
    >> This code doesn't work for PCI uncore device if there are offline CPUs,
    >> because topology_physical_package_id() always return 0 for offline CPUs.
    > Hmm, that sounds wrong.. one would expect something like BAD_APICID, -1
    > or the correct number. hpa should we fix that?
    > Anyway,
    >> So besides the per CPU variable, we still need another data structure
    >> to track the uncore boxes. Do you still want to use per CPU variable?
    > Well you don't really need the value for offline CPUs, until they're
    > online right?

    > So all you need to do is iterate all the box muck in a
    > hotplug handler and set the right pointer, no? (I suspect this would
    > need to be done in CPU_STARTING).
    The problem is that CPUs on a particular socket can all be offline. So
    we need an extra data structure to track the uncore boxes. This means
    that the memory addresses of uncore boxes are stored in two places.
    It's a little tricky to keep the two places in sync. For example, In the
    case of hot-plugging CPU, the per CPU pointers can only be set after the
    PCI uncore devices are probed. How to handle the case that cpu hotplug
    handler is executed before PCI uncore devices are probed? For the reason
    listed above I still prefer not to use per CPU pointer.

    Yan, Zheng

     \ /
      Last update: 2012-05-11 04:21    [W:0.033 / U:7.912 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site