On Mon, Mar 15, 2021 at 01:22:09PM +0530, Athira Rajeev wrote:
SNIP
quoted hunk ↗ jump to hunk
+
+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