diff options
| author | Joonsoo Kim <[email protected]> | 2013-04-29 15:07:35 -0700 |
|---|---|---|
| committer | Linus Torvalds <[email protected]> | 2013-04-29 15:54:34 -0700 |
| commit | d4033afdf8282802ad28b0ed854393454115a071 (patch) | |
| tree | 6a2995430f294e8349c02f5b5c2b4e460ce2bb7b /tools/perf/scripts/python/bin/stackcollapse-record | |
| parent | f98782ddd31ac6f938386b79d8bd7aa7c8a78c50 (diff) | |
mm, vmalloc: iterate vmap_area_list, instead of vmlist, in vmallocinfo()
This patch is a preparatory step for removing vmlist entirely. For
above purpose, we change iterating a vmap_list codes to iterating a
vmap_area_list. It is somewhat trivial change, but just one thing
should be noticed.
Using vmap_area_list in vmallocinfo() introduce ordering problem in SMP
system. In s_show(), we retrieve some values from vm_struct.
vm_struct's values is not fully setup when va->vm is assigned. Full
setup is notified by removing VM_UNLIST flag without holding a lock.
When we see that VM_UNLIST is removed, it is not ensured that vm_struct
has proper values in view of other CPUs. So we need smp_[rw]mb for
ensuring that proper values is assigned when we see that VM_UNLIST is
removed.
Therefore, this patch not only change a iteration list, but also add a
appropriate smp_[rw]mb to right places.
Signed-off-by: Joonsoo Kim <[email protected]>
Signed-off-by: Joonsoo Kim <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: "H. Peter Anvin" <[email protected]>
Cc: Atsushi Kumagai <[email protected]>
Cc: Chris Metcalf <[email protected]>
Cc: Dave Anderson <[email protected]>
Cc: Eric Biederman <[email protected]>
Cc: Guan Xuetao <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: Vivek Goyal <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/bin/stackcollapse-record')
0 files changed, 0 insertions, 0 deletions