• Gautham R. Shenoy's avatar
    powerpc/smp: Parse ibm,thread-groups with multiple properties · 790a1662
    Gautham R. Shenoy authored
    The "ibm,thread-groups" device-tree property is an array that is used
    to indicate if groups of threads within a core share certain
    properties. It provides details of which property is being shared by
    which groups of threads. This array can encode information about
    multiple properties being shared by different thread-groups within the
    core.
    
    Example: Suppose,
    "ibm,thread-groups" = [1,2,4,8,10,12,14,9,11,13,15,2,2,4,8,10,12,14,9,11,13,15]
    
    This can be decomposed up into two consecutive arrays:
    
    a) [1,2,4,8,10,12,14,9,11,13,15]
    b) [2,2,4,8,10,12,14,9,11,13,15]
    
    where in,
    
    a) provides information of Property "1" being shared by "2" groups,
       each with "4" threads each. The "ibm,ppc-interrupt-server#s" of the
       first group is {8,10,12,14} and the "ibm,ppc-interrupt-server#s" of
       the second group is {9,11,13,15}. Property "1" is indicative of
       the thread in the group sharing L1 cache, translation cache and
       Instruction Data flow.
    
    b) provides information of Property "2" being shared by "2" groups,
       each group with "4" threads. The "ibm,ppc-interrupt-server#s" of
       the first group is {8,10,12,14} and the
       "ibm,ppc-interrupt-server#s" of the second group is
       {9,11,13,15}. Property "2" indicates that the threads in each group
       share the L2-cache.
    
    The existing code assumes that the "ibm,thread-groups" encodes
    information about only one property. Hence even on platforms which
    encode information about multiple properties being shared by the
    corresponding groups of threads, the current code will only pick the
    first one. (In the above example, it will only consider
    [1,2,4,8,10,12,14,9,11,13,15] but not [2,2,4,8,10,12,14,9,11,13,15]).
    
    This patch extends the parsing support on platforms which encode
    information about multiple properties being shared by the
    corresponding groups of threads.
    Signed-off-by: default avatarGautham R. Shenoy <ego@linux.vnet.ibm.com>
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/1607596739-32439-2-git-send-email-ego@linux.vnet.ibm.com
    790a1662
smp.c 38 KB