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


Groups > linux.kernel > #1543441

[DEBUG PATCH 2/2] silent warnings which we cannot do anything about

From Michal Hocko <mhocko@kernel.org>
Newsgroups linux.kernel
Subject [DEBUG PATCH 2/2] silent warnings which we cannot do anything about
Date 2016-12-16 13:50 +0100
Message-ID <sP07v-3Df-13@gated-at.bofh.it> (permalink)
References <sOETn-6HQ-5@gated-at.bofh.it> <sP07v-3Df-15@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


From: Michal Hocko <mhocko@suse.com>

THIS PATCH IS FOR TESTING ONLY AND NOT MEANT TO HIT LINUS TREE

There are some code paths used by all the filesystems which we cannot
change to drop the GFP_NOFS, yet they generate a lot of warnings.
Provide {disable,enable}_scope_gfp_check to silence those.
alloc_page_buffers and grow_dev_page are silenced right away.

Signed-off-by: Michal Hocko <mhocko@suse.com>
---
 fs/buffer.c           |  4 ++++
 include/linux/sched.h | 11 +++++++++++
 mm/page_alloc.c       |  3 +++
 3 files changed, 18 insertions(+)

diff --git a/fs/buffer.c b/fs/buffer.c
index d21771fcf7d3..d27e8f05f736 100644
--- a/fs/buffer.c
+++ b/fs/buffer.c
@@ -873,7 +873,9 @@ struct buffer_head *alloc_page_buffers(struct page *page, unsigned long size,
 	head = NULL;
 	offset = PAGE_SIZE;
 	while ((offset -= size) >= 0) {
+		disable_scope_gfp_check();
 		bh = alloc_buffer_head(GFP_NOFS);
+		enable_scope_gfp_check();
 		if (!bh)
 			goto no_grow;
 
@@ -1003,7 +1005,9 @@ grow_dev_page(struct block_device *bdev, sector_t block,
 	 */
 	gfp_mask |= __GFP_NOFAIL;
 
+	disable_scope_gfp_check();
 	page = find_or_create_page(inode->i_mapping, index, gfp_mask);
+	enable_scope_gfp_check();
 	if (!page)
 		return ret;
 
diff --git a/include/linux/sched.h b/include/linux/sched.h
index 288946bfc326..b379ef9ed464 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -1988,6 +1988,7 @@ struct task_struct {
 	/* A live task holds one reference. */
 	atomic_t stack_refcount;
 #endif
+	bool disable_scope_gfp_warn;
 	unsigned long nofs_caller;
 	unsigned long noio_caller;
 /* CPU-specific state of this task */
@@ -2390,6 +2391,16 @@ static inline unsigned int __memalloc_nofs_save(unsigned long caller)
 	return flags;
 }
 
+static inline void disable_scope_gfp_check(void)
+{
+	current->disable_scope_gfp_warn = true;
+}
+
+static inline void enable_scope_gfp_check(void)
+{
+	current->disable_scope_gfp_warn = false;
+}
+
 #define memalloc_nofs_save()	__memalloc_nofs_save(_RET_IP_)
 
 static inline void memalloc_nofs_restore(unsigned int flags)
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 9e35fb2a8681..7ecae58abf74 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -3758,6 +3758,9 @@ void debug_scope_gfp_context(gfp_t gfp_mask)
 	if (!(gfp_mask & __GFP_DIRECT_RECLAIM))
 		return;
 
+	if (current->disable_scope_gfp_warn)
+		return;
+
 	if (current->flags & PF_MEMALLOC_NOIO)
 		restrict_mask = __GFP_IO;
 	else if ((current->flags & PF_MEMALLOC_NOFS) && (gfp_mask & __GFP_IO))
-- 
2.10.2

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH 0/9 v2] scope GFP_NOFS api Michal Hocko <mhocko@kernel.org> - 2016-12-15 15:10 +0100
  [PATCH 5/9] xfs: use memalloc_nofs_{save,restore} instead of memalloc_noio* Michal Hocko <mhocko@kernel.org> - 2016-12-15 15:10 +0100
    Re: [PATCH 5/9] xfs: use memalloc_nofs_{save,restore} instead of  memalloc_noio* Brian Foster <bfoster@redhat.com> - 2016-12-16 17:40 +0100
      [PATCH 5/9 v2] xfs: use memalloc_nofs_{save,restore} instead of  memalloc_noio* Michal Hocko <mhocko@kernel.org> - 2016-12-16 23:10 +0100
  [PATCH 6/9] jbd2: mark the transaction context with the scope GFP_NOFS context Michal Hocko <mhocko@kernel.org> - 2016-12-15 15:10 +0100
    Re: [PATCH 6/9] jbd2: mark the transaction context with the scope  GFP_NOFS context Jan Kara <jack@suse.cz> - 2016-12-19 10:40 +0100
  [PATCH 9/9] Revert "ext4: fix wrong gfp type under transaction" Michal Hocko <mhocko@kernel.org> - 2016-12-15 15:10 +0100
    Re: [PATCH 9/9] Revert "ext4: fix wrong gfp type under transaction" Jan Kara <jack@suse.cz> - 2016-12-19 10:40 +0100
  [PATCH 3/9] xfs: abstract PF_FSTRANS to PF_MEMALLOC_NOFS Michal Hocko <mhocko@kernel.org> - 2016-12-15 15:20 +0100
    Re: [PATCH 3/9] xfs: abstract PF_FSTRANS to PF_MEMALLOC_NOFS Brian Foster <bfoster@redhat.com> - 2016-12-16 17:40 +0100
  [PATCH 7/9] jbd2: make the whole kjournald2 kthread NOFS safe Michal Hocko <mhocko@kernel.org> - 2016-12-15 15:20 +0100
    Re: [PATCH 7/9] jbd2: make the whole kjournald2 kthread NOFS safe Jan Kara <jack@suse.cz> - 2016-12-19 10:40 +0100
  [PATCH 4/9] mm: introduce memalloc_nofs_{save,restore} API Michal Hocko <mhocko@kernel.org> - 2016-12-15 15:20 +0100
  [PATCH 2/9] xfs: introduce and use KM_NOLOCKDEP to silence reclaim lockdep false positives Michal Hocko <mhocko@kernel.org> - 2016-12-15 15:20 +0100
    [PATCH 2/9 v2] xfs: introduce and use KM_NOLOCKDEP to silence  reclaim lockdep false positives Michal Hocko <mhocko@kernel.org> - 2016-12-16 16:50 +0100
      Re: [PATCH 2/9 v2] xfs: introduce and use KM_NOLOCKDEP to silence  reclaim lockdep false positives Brian Foster <bfoster@redhat.com> - 2016-12-16 17:40 +0100
        Re: [PATCH 2/9 v2] xfs: introduce and use KM_NOLOCKDEP to silence  reclaim lockdep false positives Michal Hocko <mhocko@kernel.org> - 2016-12-16 23:10 +0100
    Re: [PATCH 2/9] xfs: introduce and use KM_NOLOCKDEP to silence  reclaim lockdep false positives Dave Chinner <david@fromorbit.com> - 2016-12-19 22:30 +0100
      Re: [PATCH 2/9] xfs: introduce and use KM_NOLOCKDEP to silence  reclaim lockdep false positives "Darrick J. Wong" <darrick.wong@oracle.com> - 2016-12-19 23:10 +0100
        Re: [PATCH 2/9] xfs: introduce and use KM_NOLOCKDEP to silence  reclaim lockdep false positives Dave Chinner <david@fromorbit.com> - 2016-12-20 22:40 +0100
      Re: [PATCH 2/9] xfs: introduce and use KM_NOLOCKDEP to silence  reclaim lockdep false positives Michal Hocko <mhocko@kernel.org> - 2016-12-20 09:40 +0100
  [PATCH 1/9] lockdep: allow to disable reclaim lockup detection Michal Hocko <mhocko@kernel.org> - 2016-12-15 15:20 +0100
  [DEBUG PATCH 0/2] debug explicit GFP_NO{FS,IO} usage from the scope context Michal Hocko <mhocko@kernel.org> - 2016-12-16 13:50 +0100
    [DEBUG PATCH 2/2] silent warnings which we cannot do anything about Michal Hocko <mhocko@kernel.org> - 2016-12-16 13:50 +0100
    [DEBUG PATCH 1/2] mm, debug: report when GFP_NO{FS,IO} is used explicitly from memalloc_no{fs,io}_{save,restore} context Michal Hocko <mhocko@kernel.org> - 2016-12-16 13:50 +0100
  Re: [PATCH 0/9 v2] scope GFP_NOFS api Mike Galbraith <umgwanakikbuti@gmail.com> - 2016-12-16 16:20 +0100
    Re: [PATCH 0/9 v2] scope GFP_NOFS api Michal Hocko <mhocko@kernel.org> - 2016-12-16 16:40 +0100
      Re: [PATCH 0/9 v2] scope GFP_NOFS api Mike Galbraith <umgwanakikbuti@gmail.com> - 2016-12-16 17:30 +0100
        Re: [PATCH 0/9 v2] scope GFP_NOFS api Jan Kara <jack@suse.cz> - 2016-12-19 10:30 +0100
  Re: [PATCH 0/9 v2] scope GFP_NOFS api Michal Hocko <mhocko@kernel.org> - 2016-12-22 10:40 +0100

csiph-web