lkml.org 
[lkml]   [2012]   [Jun]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 10/40] autonuma: mm_autonuma and sched_autonuma data structures
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


\
 
 \ /
  Last update: 2012-06-29 18:41    [W:0.687 / U:1.044 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site