On Mon, Mar 15, 2021 at 01:22:09PM +0530, Athira Rajeev wrote: SNIP
> + > +static char *setup_dynamic_sort_keys(char *str) > +{ > + unsigned int j; > + > + if (sort__mode == SORT_MODE__MEMORY) > + for (j = 0; j < ARRAY_SIZE(dynamic_sort_keys_mem); j++) > + if (arch_support_dynamic_key(dynamic_sort_keys_mem[j])) > { > + str = > suffix_if_not_in(dynamic_sort_keys_mem[j], str); > + if (str == NULL) > + return str; > + } > + > + return str; > +} > + > static int __setup_sorting(struct evlist *evlist) > { > char *str; > @@ -3050,6 +3085,12 @@ static int __setup_sorting(struct evlist *evlist) > } > } > > + str = setup_dynamic_sort_keys(str); > + if (str == NULL) { > + pr_err("Not enough memory to setup dynamic sort keys"); > + return -ENOMEM; > + } hum, so this is basicaly overloading the default_mem_sort_order for architecture, right? then I think it'd be easier just overload default_mem_sort_order directly I was thinking more about adding extra (arch specific) loop to sort_dimension__add or somehow add arch's specific stuff to memory_sort_dimensions jirka