Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1250600 > unrolled thread

[PATCH] mm: do not inc NR_PAGETABLE if ptlock_init failed

Started byVladimir Davydov <vdavydov@virtuozzo.com>
First post2015-10-19 14:20 +0200
Last post2015-10-19 15:30 +0200
Articles 3 — 3 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] mm: do not inc NR_PAGETABLE if ptlock_init failed Vladimir Davydov <vdavydov@virtuozzo.com> - 2015-10-19 14:20 +0200
    Re: [PATCH] mm: do not inc NR_PAGETABLE if ptlock_init failed "Kirill A. Shutemov" <kirill@shutemov.name> - 2015-10-19 14:30 +0200
    Re: [PATCH] mm: do not inc NR_PAGETABLE if ptlock_init failed Michal Hocko <mhocko@kernel.org> - 2015-10-19 15:30 +0200

#1250600 — [PATCH] mm: do not inc NR_PAGETABLE if ptlock_init failed

FromVladimir Davydov <vdavydov@virtuozzo.com>
Date2015-10-19 14:20 +0200
Subject[PATCH] mm: do not inc NR_PAGETABLE if ptlock_init failed
Message-ID<qlhzX-45I-1@gated-at.bofh.it>
If ALLOC_SPLIT_PTLOCKS is defined, ptlock_init may fail, in which case
we shouldn't increment NR_PAGETABLE.

Since small allocations, such as ptlock, normally do not fail (currently
they can fail if kmemcg is used though), this patch does not really fix
anything and should be considered as a code cleanup.

Signed-off-by: Vladimir Davydov <vdavydov@virtuozzo.com>
---
 include/linux/mm.h | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/include/linux/mm.h b/include/linux/mm.h
index 6adf4167d664..30ef3b535444 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -1553,8 +1553,10 @@ static inline void pgtable_init(void)
 
 static inline bool pgtable_page_ctor(struct page *page)
 {
+	if (!ptlock_init(page))
+		return false;
 	inc_zone_page_state(page, NR_PAGETABLE);
-	return ptlock_init(page);
+	return true;
 }
 
 static inline void pgtable_page_dtor(struct page *page)
-- 
2.1.4

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

[toc] | [next] | [standalone]


#1250610

From"Kirill A. Shutemov" <kirill@shutemov.name>
Date2015-10-19 14:30 +0200
Message-ID<qlhJF-4h2-25@gated-at.bofh.it>
In reply to#1250600
On Mon, Oct 19, 2015 at 03:14:41PM +0300, Vladimir Davydov wrote:
> If ALLOC_SPLIT_PTLOCKS is defined, ptlock_init may fail, in which case
> we shouldn't increment NR_PAGETABLE.
> 
> Since small allocations, such as ptlock, normally do not fail (currently
> they can fail if kmemcg is used though), this patch does not really fix
> anything and should be considered as a code cleanup.
> 
> Signed-off-by: Vladimir Davydov <vdavydov@virtuozzo.com>

Acked-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>

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

[toc] | [prev] | [next] | [standalone]


#1250693

FromMichal Hocko <mhocko@kernel.org>
Date2015-10-19 15:30 +0200
Message-ID<qliFK-5Ez-47@gated-at.bofh.it>
In reply to#1250600
On Mon 19-10-15 15:14:41, Vladimir Davydov wrote:
> If ALLOC_SPLIT_PTLOCKS is defined, ptlock_init may fail, in which case
> we shouldn't increment NR_PAGETABLE.
> 
> Since small allocations, such as ptlock, normally do not fail (currently
> they can fail if kmemcg is used though), this patch does not really fix
> anything and should be considered as a code cleanup.
> 
> Signed-off-by: Vladimir Davydov <vdavydov@virtuozzo.com>

Acked-by: Michal Hocko <mhocko@suse.com>

> ---
>  include/linux/mm.h | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/include/linux/mm.h b/include/linux/mm.h
> index 6adf4167d664..30ef3b535444 100644
> --- a/include/linux/mm.h
> +++ b/include/linux/mm.h
> @@ -1553,8 +1553,10 @@ static inline void pgtable_init(void)
>  
>  static inline bool pgtable_page_ctor(struct page *page)
>  {
> +	if (!ptlock_init(page))
> +		return false;
>  	inc_zone_page_state(page, NR_PAGETABLE);
> -	return ptlock_init(page);
> +	return true;
>  }
>  
>  static inline void pgtable_page_dtor(struct page *page)
> -- 
> 2.1.4
> 
> --
> To unsubscribe, send a message with 'unsubscribe linux-mm' in
> the body to majordomo@kvack.org.  For more info on Linux MM,
> see: http://www.linux-mm.org/ .
> Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

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

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web