Re: [PATCH 1/4] mm, page_alloc: add likely macro to help compiler optimization

Michal Hocko
2013-08-02T21:36:12Z

On Fri 02-08-13 16:47:10, Johannes Weiner wrote:
> On Fri, Aug 02, 2013 at 06:27:22PM +0200, Michal Hocko wrote:
> > On Fri 02-08-13 11:07:56, Joonsoo Kim wrote:
> > > We rarely allocate a page with ALLOC_NO_WATERMARKS and it is used
> > > in slow path. For making fast path more faster, add likely macro to
> > > help compiler optimization.
> >
> > The code is different in mmotm tree (see mm: page_alloc: rearrange
> > watermark checking in get_page_from_freelist)
>
> Yes, please rebase this on top.
>
> > Besides that, make sure you provide numbers which prove your claims
> > about performance optimizations.
>
> Isn't that a bit overkill? We know it's a likely path (we would
> deadlock constantly if a sizable portion of allocations were to ignore
> the watermarks). Does he have to justify that likely in general makes
> sense?

That was more a generic comment. If there is a claim that something
would be faster it would be nice to back that claim by some numbers
(e.g. smaller hot path).

In this particular case, unlikely(alloc_flags & ALLOC_NO_WATERMARKS)
doesn't make any change to the generated code with gcc 4.8.1 resp.
4.3.4 I have here.
Maybe other versions of gcc would benefit from the hint but changelog
didn't tell us. I wouldn't add the anotation if it doesn't make any
difference for the resulting code.
--
Michal Hocko
SUSE Labs