Skip to content
  • Tanner Love's avatar
    a358f406
    once: implement DO_ONCE_LITE for non-fast-path "do once" functionality · a358f406
    Tanner Love authored
    
    
    Certain uses of "do once" functionality reside outside of fast path,
    and so do not require jump label patching via static keys, making
    existing DO_ONCE undesirable in such cases.
    
    Replace uses of __section(".data.once") with DO_ONCE_LITE(_IF)?
    
    This patch changes the return values of xfs_printk_once, printk_once,
    and printk_deferred_once. Before, they returned whether the print was
    performed, but now, they always return true. This is okay because the
    return values of the following macros are entirely ignored throughout
    the kernel:
    - xfs_printk_once
    - xfs_warn_once
    - xfs_notice_once
    - xfs_info_once
    - printk_once
    - pr_emerg_once
    - pr_alert_once
    - pr_crit_once
    - pr_err_once
    - pr_warn_once
    - pr_notice_once
    - pr_info_once
    - pr_devel_once
    - pr_debug_once
    - printk_deferred_once
    - orc_warn
    
    Changes
    v3:
      - Expand commit message to explain why changing return values of
        xfs_printk_once, printk_once, printk_deferred_once is benign
    v2:
      - Fix i386 build warnings
    
    Signed-off-by: default avatarTanner Love <tannerlove@google.com>
    Acked-by: default avatarEric Dumazet <edumazet@google.com>
    Acked-by: default avatarMahesh Bandewar <maheshb@google.com>
    Acked-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    a358f406
    once: implement DO_ONCE_LITE for non-fast-path "do once" functionality
    Tanner Love authored
    
    
    Certain uses of "do once" functionality reside outside of fast path,
    and so do not require jump label patching via static keys, making
    existing DO_ONCE undesirable in such cases.
    
    Replace uses of __section(".data.once") with DO_ONCE_LITE(_IF)?
    
    This patch changes the return values of xfs_printk_once, printk_once,
    and printk_deferred_once. Before, they returned whether the print was
    performed, but now, they always return true. This is okay because the
    return values of the following macros are entirely ignored throughout
    the kernel:
    - xfs_printk_once
    - xfs_warn_once
    - xfs_notice_once
    - xfs_info_once
    - printk_once
    - pr_emerg_once
    - pr_alert_once
    - pr_crit_once
    - pr_err_once
    - pr_warn_once
    - pr_notice_once
    - pr_info_once
    - pr_devel_once
    - pr_debug_once
    - printk_deferred_once
    - orc_warn
    
    Changes
    v3:
      - Expand commit message to explain why changing return values of
        xfs_printk_once, printk_once, printk_deferred_once is benign
    v2:
      - Fix i386 build warnings
    
    Signed-off-by: default avatarTanner Love <tannerlove@google.com>
    Acked-by: default avatarEric Dumazet <edumazet@google.com>
    Acked-by: default avatarMahesh Bandewar <maheshb@google.com>
    Acked-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
Loading