Re: [PATCH 10/40] autonuma: mm_autonuma and sched_autonuma data structures

From: Rik van Riel
Date: Fri Jun 29 2012 - 11:49:10 EST


On 06/28/2012 08:55 AM, Andrea Arcangeli wrote:

You tell us when the data structures are not allocated, but
you do not tell us how the data structures is used, or what
the fields inside the data structures mean.

This makes it very hard for other people to figure out the
code later. Please document these kinds of things properly.

+/*
+ * Per-mm (process) structure dynamically allocated only if autonuma
+ * is not impossible. This links the mm to scan into the
+ * knuma_scand.mm_head and it contains the NUMA memory placement
+ * statistics for the process (generated by knuma_scand).
+ */
+struct mm_autonuma {
+ /* list node to link the "mm" into the knuma_scand.mm_head */
+ struct list_head mm_node;
+ struct mm_struct *mm;
+ unsigned long mm_numa_fault_pass; /* zeroed from here during allocation */
+ unsigned long mm_numa_fault_tot;
+ unsigned long mm_numa_fault[0];
+};

+/*
+ * Per-task (thread) structure dynamically allocated only if autonuma
+ * is not impossible. This contains the preferred autonuma_node where
+ * the userland thread should be scheduled into (only relevant if
+ * tsk->mm is not null) and the per-thread NUMA accesses statistics
+ * (generated by the NUMA hinting page faults).
+ */
+struct task_autonuma {
+ int autonuma_node;
+ /* zeroed from the below field during allocation */
+ unsigned long task_numa_fault_pass;
+ unsigned long task_numa_fault_tot;
+ unsigned long task_numa_fault[0];
+};



--
All rights reversed
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/