On Mon, Sep 10, 2018 at 08:15:18PM +0300, Nikolay Borisov wrote:
> 
> 
> On 10.09.2018 19:48, David Sterba wrote:
> > On Mon, Sep 10, 2018 at 11:00:29PM +0800, kbuild test robot wrote:
> >>
> >> Fixes: ac75a14eb672 ("btrfs: Factor out loop processing all refs of a 
> >> head")
> >> Signed-off-by: kbuild test robot <fengguang...@intel.com>
> >> ---
> >>  extent-tree.c |    6 +++---
> >>  1 file changed, 3 insertions(+), 3 deletions(-)
> >>
> >> diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
> >> index b0882b6..719f1bb 100644
> >> --- a/fs/btrfs/extent-tree.c
> >> +++ b/fs/btrfs/extent-tree.c
> >> @@ -2537,9 +2537,9 @@ struct btrfs_delayed_ref_head *btrfs_obtain_ref_head(
> >>  }
> >>  
> >>  STATIC
> >> -int btrfs_run_delayed_refs_for_head(struct btrfs_trans_handle *trans,
> >> -                              struct btrfs_delayed_ref_head *locked_ref,
> >> -                              unsigned long *run_refs)
> >> +static int btrfs_run_delayed_refs_for_head(struct btrfs_trans_handle 
> >> *trans,
> >> +                                     struct btrfs_delayed_ref_head 
> >> *locked_ref,
> >> +                                     unsigned long *run_refs)
> > 
> > I have a cleanup series to get rid of the STATIC macro, will result in
> > normal 'static' of the function. The patch will need to be updated, you
> > can ignore the warning for now.
> 
> So one added benefit of the STATIC macro (at least in XFS and hence I
> used it here) is that STATIC functions are noinline_for_stack pretty
> much which is why I wanted to use it here. I guess for btrfs we ought to
> use a bare noinline_for_static

Feel free to use noinline_for_static if you see a reason for it. Some
functions are better not inlined so in case the error happen there we
can tell immediatelly from the stack trace. As inlining is a compiler
optimization, I'd rather not force turning it off with some
convenient-looking macro like STATIC.

Reply via email to