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