[lkml]   [2011]   [Dec]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [PATCH] mm: Fix BUILD_BUG assertion in pmdp_clear_flush_young()
    On Mon, 19 Dec 2011, David Daney wrote:

    > > The problem here is that HPAGE_PMD_MASK is being referenced without
    > > CONFIG_TRANSPARENT_HUGEPAGE. pmdp_clear_flush_young() is only applicable
    > > with that config option enabled. So rather than trying to minimize lines
    > > captured under an #ifdef by placing the BUG() directly in the function for
    > > asm-generic, you'll need to wrap pmd_clear_flush_young() with
    > > #ifdef CONFIG_TRANSPARENT_HUGEPAGE and define its equivalent for
    > > CONFIG_TRANSPARENT_HUGEPAGE=n that breaks the build if not enabled.
    > >
    > That does sound like a better option.
    > I still think having the BUILD_BUG defined as we do in Andrew Morton's tree is
    > the correct approach, and I don't want to see that reverted because of this
    > ugliness.

    Agreed, the problem here is that we have existing code, such as
    pmdp_clear_flush_young() that is calling BUG() at runtime for
    non-supported configurations. So when BUILD_BUG_ON() for HPAGE_PMD_MASK
    and friends was introduced, it detects improper use that needs to be fixed
    and you've found one of those cases.

    > Really this is hackery that should be cleaned up as you suggest, instead of
    > being papered over with this BUG() thing. I can't test SH things, otherwise I
    > might look at it. The SH maintainers should probably take a look instead.

    It's not only about sh, this will affect any architecture that uses the
    generic version of pmdp_clear_flush_young(), which is everything except

     \ /
      Last update: 2011-12-19 21:37    [W:0.031 / U:8.772 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site