Re: [PATCH] mm: Place "not" inside of unlikely() statement in wb_domain_writeout_inc()

From: Jan Kara
Date: Tue Feb 07 2017 - 09:39:43 EST


On Mon 06-02-17 12:00:35, Steven Rostedt wrote:
> From: "Steven Rostedt (VMware)" <rostedt@xxxxxxxxxxx>
>
> The likely/unlikely profiler noticed that the unlikely statement in
> wb_domain_writeout_inc() is constantly wrong. This is due to the "not" (!)
> being outside the unlikely statement. It is likely that dom->period_time
> will be set, but unlikely that it wont be. Move the not into the unlikely
> statement.
>
> Signed-off-by: Steven Rostedt (VMware) <rostedt@xxxxxxxxxxx>

Yeah, good catch. You can add:

Reviewed-by: Jan Kara <jack@xxxxxxx>

Andrew, will you merge this patch please? Thanks!

Honza

> ---
> mm/page-writeback.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/mm/page-writeback.c b/mm/page-writeback.c
> index 290e8b7..94102c7 100644
> --- a/mm/page-writeback.c
> +++ b/mm/page-writeback.c
> @@ -580,7 +580,7 @@ static void wb_domain_writeout_inc(struct wb_domain *dom,
> __fprop_inc_percpu_max(&dom->completions, completions,
> max_prop_frac);
> /* First event after period switching was turned off? */
> - if (!unlikely(dom->period_time)) {
> + if (unlikely(!dom->period_time)) {
> /*
> * We can race with other __bdi_writeout_inc calls here but
> * it does not cause any harm since the resulting time when
> --
> 2.9.3
>
--
Jan Kara <jack@xxxxxxxx>
SUSE Labs, CR