Re: [PATCH v2 3/3] mm/vmalloc: move VM_UNINITIALIZED just before show_numa_info

2013-09-02 Thread Zhang Yanfei
On 09/03/2013 11:00 AM, Wanpeng Li wrote:
> The VM_UNINITIALIZED/VM_UNLIST flag introduced by commit f5252e00(mm: avoid
> null pointer access in vm_struct via /proc/vmallocinfo) is used to avoid
> accessing the pages field with unallocated page when show_numa_info() is
> called. This patch move the check just before show_numa_info in order that
> some messages still can be dumped via /proc/vmallocinfo.
> 
> Signed-off-by: Wanpeng Li 

Hmmm, sorry again. Please revert commit
d157a5581548caec311dfb543ce8a79e283e. That said, we could still
do the check in show_numa_info like before.

> ---
>  mm/vmalloc.c |   10 +-
>  1 files changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/mm/vmalloc.c b/mm/vmalloc.c
> index e3ec8b4..c4720cd 100644
> --- a/mm/vmalloc.c
> +++ b/mm/vmalloc.c
> @@ -2590,11 +2590,6 @@ static int s_show(struct seq_file *m, void *p)
>  
>   v = va->vm;
>  
> - /* Pair with smp_wmb() in clear_vm_uninitialized_flag() */
> - smp_rmb();
> - if (v->flags & VM_UNINITIALIZED)
> - return 0;
> -
>   seq_printf(m, "0x%pK-0x%pK %7ld",
>   v->addr, v->addr + v->size, v->size);
>  
> @@ -2622,6 +2617,11 @@ static int s_show(struct seq_file *m, void *p)
>   if (v->flags & VM_VPAGES)
>   seq_printf(m, " vpages");
>  
> + /* Pair with smp_wmb() in clear_vm_uninitialized_flag() */
> + smp_rmb();
> + if (v->flags & VM_UNINITIALIZED)
> + return 0;
> +
>   show_numa_info(m, v);
>   seq_putc(m, '\n');
>   return 0;
> 


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


[PATCH v2 3/3] mm/vmalloc: move VM_UNINITIALIZED just before show_numa_info

2013-09-02 Thread Wanpeng Li
The VM_UNINITIALIZED/VM_UNLIST flag introduced by commit f5252e00(mm: avoid
null pointer access in vm_struct via /proc/vmallocinfo) is used to avoid
accessing the pages field with unallocated page when show_numa_info() is
called. This patch move the check just before show_numa_info in order that
some messages still can be dumped via /proc/vmallocinfo.

Signed-off-by: Wanpeng Li 
---
 mm/vmalloc.c |   10 +-
 1 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/mm/vmalloc.c b/mm/vmalloc.c
index e3ec8b4..c4720cd 100644
--- a/mm/vmalloc.c
+++ b/mm/vmalloc.c
@@ -2590,11 +2590,6 @@ static int s_show(struct seq_file *m, void *p)
 
v = va->vm;
 
-   /* Pair with smp_wmb() in clear_vm_uninitialized_flag() */
-   smp_rmb();
-   if (v->flags & VM_UNINITIALIZED)
-   return 0;
-
seq_printf(m, "0x%pK-0x%pK %7ld",
v->addr, v->addr + v->size, v->size);
 
@@ -2622,6 +2617,11 @@ static int s_show(struct seq_file *m, void *p)
if (v->flags & VM_VPAGES)
seq_printf(m, " vpages");
 
+   /* Pair with smp_wmb() in clear_vm_uninitialized_flag() */
+   smp_rmb();
+   if (v->flags & VM_UNINITIALIZED)
+   return 0;
+
show_numa_info(m, v);
seq_putc(m, '\n');
return 0;
-- 
1.7.5.4

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


[PATCH v2 3/3] mm/vmalloc: move VM_UNINITIALIZED just before show_numa_info

2013-09-02 Thread Wanpeng Li
The VM_UNINITIALIZED/VM_UNLIST flag introduced by commit f5252e00(mm: avoid
null pointer access in vm_struct via /proc/vmallocinfo) is used to avoid
accessing the pages field with unallocated page when show_numa_info() is
called. This patch move the check just before show_numa_info in order that
some messages still can be dumped via /proc/vmallocinfo.

Signed-off-by: Wanpeng Li liw...@linux.vnet.ibm.com
---
 mm/vmalloc.c |   10 +-
 1 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/mm/vmalloc.c b/mm/vmalloc.c
index e3ec8b4..c4720cd 100644
--- a/mm/vmalloc.c
+++ b/mm/vmalloc.c
@@ -2590,11 +2590,6 @@ static int s_show(struct seq_file *m, void *p)
 
v = va-vm;
 
-   /* Pair with smp_wmb() in clear_vm_uninitialized_flag() */
-   smp_rmb();
-   if (v-flags  VM_UNINITIALIZED)
-   return 0;
-
seq_printf(m, 0x%pK-0x%pK %7ld,
v-addr, v-addr + v-size, v-size);
 
@@ -2622,6 +2617,11 @@ static int s_show(struct seq_file *m, void *p)
if (v-flags  VM_VPAGES)
seq_printf(m,  vpages);
 
+   /* Pair with smp_wmb() in clear_vm_uninitialized_flag() */
+   smp_rmb();
+   if (v-flags  VM_UNINITIALIZED)
+   return 0;
+
show_numa_info(m, v);
seq_putc(m, '\n');
return 0;
-- 
1.7.5.4

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


Re: [PATCH v2 3/3] mm/vmalloc: move VM_UNINITIALIZED just before show_numa_info

2013-09-02 Thread Zhang Yanfei
On 09/03/2013 11:00 AM, Wanpeng Li wrote:
 The VM_UNINITIALIZED/VM_UNLIST flag introduced by commit f5252e00(mm: avoid
 null pointer access in vm_struct via /proc/vmallocinfo) is used to avoid
 accessing the pages field with unallocated page when show_numa_info() is
 called. This patch move the check just before show_numa_info in order that
 some messages still can be dumped via /proc/vmallocinfo.
 
 Signed-off-by: Wanpeng Li liw...@linux.vnet.ibm.com

Hmmm, sorry again. Please revert commit
d157a5581548caec311dfb543ce8a79e283e. That said, we could still
do the check in show_numa_info like before.

 ---
  mm/vmalloc.c |   10 +-
  1 files changed, 5 insertions(+), 5 deletions(-)
 
 diff --git a/mm/vmalloc.c b/mm/vmalloc.c
 index e3ec8b4..c4720cd 100644
 --- a/mm/vmalloc.c
 +++ b/mm/vmalloc.c
 @@ -2590,11 +2590,6 @@ static int s_show(struct seq_file *m, void *p)
  
   v = va-vm;
  
 - /* Pair with smp_wmb() in clear_vm_uninitialized_flag() */
 - smp_rmb();
 - if (v-flags  VM_UNINITIALIZED)
 - return 0;
 -
   seq_printf(m, 0x%pK-0x%pK %7ld,
   v-addr, v-addr + v-size, v-size);
  
 @@ -2622,6 +2617,11 @@ static int s_show(struct seq_file *m, void *p)
   if (v-flags  VM_VPAGES)
   seq_printf(m,  vpages);
  
 + /* Pair with smp_wmb() in clear_vm_uninitialized_flag() */
 + smp_rmb();
 + if (v-flags  VM_UNINITIALIZED)
 + return 0;
 +
   show_numa_info(m, v);
   seq_putc(m, '\n');
   return 0;
 


-- 
Thanks.
Zhang Yanfei
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/