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


Groups > linux.kernel > #1294410

Re: [PATCH 1/8] hugetlb: make mm and fs code explicitly non-modular

From Davidlohr Bueso <dave@stgolabs.net>
Newsgroups linux.kernel
Subject Re: [PATCH 1/8] hugetlb: make mm and fs code explicitly non-modular
Date 2015-12-18 03:50 +0100
Message-ID <qGThf-857-3@gated-at.bofh.it> (permalink)
References <qGMfL-3B1-3@gated-at.bofh.it> <qGMfM-3B1-9@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Thu, 17 Dec 2015, Paul Gortmaker wrote:

>The Kconfig currently controlling compilation of this code is:
>
>config HUGETLBFS
>        bool "HugeTLB file system support"
>
>...meaning that it currently is not being built as a module by anyone.
>
>Lets remove the modular code that is essentially orphaned, so that
>when reading the driver there is no doubt it is builtin-only.
>
>Since module_init translates to device_initcall in the non-modular
>case, the init ordering gets moved to earlier levels when we use the
>more appropriate initcalls here.
>
>Originally I had the fs part and the mm part as separate commits,
>just by happenstance of the nature of how I detected these
>non-modular use cases.  But that can possibly introduce regressions
>if the patch merge ordering puts the fs part 1st -- as the 0-day
>testing reported a splat at mount time.
>
>Investigating with "initcall_debug" showed that the delta was
>init_hugetlbfs_fs being called _before_ hugetlb_init instead of
>after.  So both the fs change and the mm change are here together.
>
>In addition, it worked before due to luck of link order, since they
>were both in the same initcall category.  So we now have the fs
>part using fs_initcall, and the mm part using subsys_initcall,
>which puts it one bucket earlier.  It now passes the basic sanity
>test that failed in earlier 0-day testing.
>
>We delete the MODULE_LICENSE tag and capture that information at the
>top of the file alongside author comments, etc.
>
>We don't replace module.h with init.h since the file already has that.
>Also note that MODULE_ALIAS is a no-op for non-modular code.
>
>Cc: Nadia Yvette Chambers <nyc@holomorphy.com>
>Cc: Alexander Viro <viro@zeniv.linux.org.uk>
>Cc: Andrew Morton <akpm@linux-foundation.org>
>Cc: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
>Cc: Mike Kravetz <mike.kravetz@oracle.com>
>Cc: David Rientjes <rientjes@google.com>
>Cc: Hillf Danton <hillf.zj@alibaba-inc.com>
>Cc: Davidlohr Bueso <dave@stgolabs.net>
>Cc: linux-mm@kvack.org
>Cc: linux-fsdevel@vger.kernel.org
>Reported-by: kernel test robot <ying.huang@linux.intel.com>
>Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>

Acked-by: Davidlohr Bueso <dave@stgolabs.net>
--
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/

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


Thread

[PATCH 1/8] hugetlb: make mm and fs code explicitly non-modular Paul Gortmaker <paul.gortmaker@windriver.com> - 2015-12-17 20:20 +0100
  Re: [PATCH 1/8] hugetlb: make mm and fs code explicitly non-modular Mike Kravetz <mike.kravetz@oracle.com> - 2015-12-17 23:50 +0100
  Re: [PATCH 1/8] hugetlb: make mm and fs code explicitly non-modular Davidlohr Bueso <dave@stgolabs.net> - 2015-12-18 03:50 +0100

csiph-web