Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 04 Mar 2013 10:16:00 +0100
From:      Dimitry Andric <dim@FreeBSD.org>
To:        Matt Burke <mattblists@icritical.com>, Andriy Gapon <avg@FreeBSD.org>
Cc:        freebsd-hackers@FreeBSD.org
Subject:   Re: clang generated code sometimes confuses fbt
Message-ID:  <51346650.90200@FreeBSD.org>
In-Reply-To: <513453D4.4010305@icritical.com>
References:  <5132387E.8010808@FreeBSD.org> <513453D4.4010305@icritical.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 2013-03-04 08:57, Matt Burke wrote:
> On 03/02/13 17:35, Andriy Gapon wrote:
>> To summarize: I would be glad of either clang generated code was
>> "fbt-friendly" or if ctf information was generated for
>> bpobj_iterate_impl. Either is perfect for me.
>
> Apologies if this is a silly suggestion, but are you building with -O0?
> I've noticed backtraces being hard to follow (i.e. skipping intermediate
> and wrapper functions) with a kernel built with the default optimisation
> level, and it seems to me that the same thing may be happening here - the
> wrappers are being optimised out.

No, the wrappers (bpobj_iterate and bpobj_iterate_nofree) are externally
visible functions, so they cannot be optimized out.  Both of them call
bpobj_iterate_impl, which is a static function, e.g. a candidate for
automatic inlining.

However, bpobj_iterate_impl is quite big, and called from 3 different
locations, so it does not actually get inlined, even with -O2.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?51346650.90200>