On 10/10/2018 12:24 PM, Nathan Fontenot wrote:
> On 10/09/2018 03:37 PM, Michael Bringmann wrote:

>
>> +static void pseries_update_ala_memory_aai(int aa_index)
>> +{
>> +    struct drmem_lmb *lmb;
>> +
>> +    /* Readd all LMBs which were previously using the
>> +     * specified aa_index value.
>> +     */
>> +    for_each_drmem_lmb(lmb) {
>> +            if ((lmb->aa_index == aa_index) &&
>> +                    (lmb->flags & DRCONF_MEM_ASSIGNED)) {
>> +                    drmem_mark_lmb_update(lmb);
>> +                    dlpar_memory_pmt_changes_set();
>> +            }
>> +    }
>> +}
>> +
>> +struct assoc_arrays {
>> +    u32 n_arrays;
>> +    u32 array_sz;
>> +    const __be32 *arrays;
>> +};
> 
> This struct is also defined in arch/powerpc/mm/numa.c. May be a good idea to 
> move the
> definition to common place.

Moving to topology.h in arch/powerpc/include/asm.

> 
>> +
>> +static int pseries_update_ala_memory(struct of_reconfig_data *pr)
>> +{
>> +    struct assoc_arrays new_ala, old_ala;
>> +    __be32 *p;
>> +    int i, lim;
>> +
>> +    if (rtas_hp_event)
>> +            return 0;
>> +
>> +    /*
>> +     * The layout of the ibm,associativity-lookup-arrays
>> +     * property is a number N indicating the number of
>> +     * associativity arrays, followed by a number M
>> +     * indicating the size of each associativity array,
>> +     * followed by a list of N associativity arrays.
>> +     */
>> +
>> +    p = (__be32 *) pr->old_prop->value;
>> +    if (!p)
>> +            return -EINVAL;
>> +    old_ala.n_arrays = of_read_number(p++, 1);
>> +    old_ala.array_sz = of_read_number(p++, 1);
>> +    old_ala.arrays = p;
>> +
>> +    p = (__be32 *) pr->prop->value;
>> +    if (!p)
>> +            return -EINVAL;
>> +    new_ala.n_arrays = of_read_number(p++, 1);
>> +    new_ala.array_sz = of_read_number(p++, 1);
>> +    new_ala.arrays = p;
>> +
>> +    lim = (new_ala.n_arrays > old_ala.n_arrays) ? old_ala.n_arrays :
>> +                    new_ala.n_arrays;
>> +
>> +    if (old_ala.array_sz == new_ala.array_sz) {
>> +
>> +            /* Reset any entries where the old and new rows
>> +             * the array have changed.
> 
> Small nit, the wording in that comment could be clearer.

Right.

> 
> -Nathan

Michael

-- 
Michael W. Bringmann
Linux Technology Center
IBM Corporation
Tie-Line  363-5196
External: (512) 286-5196
Cell:       (512) 466-0650
m...@linux.vnet.ibm.com

Reply via email to