On Tue, Jan 19, 2016 at 07:14:29PM +0300, Andrey Ryabinin wrote:
...
> @@ -1004,6 +1022,8 @@ static long wb_check_background_flush(struct 
> bdi_writeback *wb)
>                       .for_background = 1,
>                       .range_cyclic   = 1,
>                       .reason         = WB_REASON_BACKGROUND,
> +                     .filter_ub      = 0,
> +                     .ub             = NULL,

Please don't initialize struct fields to 0 - this is done automatically.
It increases churn and complicates rebases.

>               };
>  
>               return wb_writeback(wb, &work);
> @@ -1038,6 +1058,8 @@ static long wb_check_old_data_flush(struct 
> bdi_writeback *wb)
...
> @@ -157,8 +193,10 @@ bool ub_should_skip_writeback(struct user_beancounter 
> *ub, struct inode *inode)
>  
>       rcu_read_lock();
>       dirtied_ub = rcu_dereference(inode->i_mapping->dirtied_ub);
> -     ret = !dirtied_ub || (dirtied_ub != ub &&
> -                     !test_bit(UB_DIRTY_EXCEEDED, &dirtied_ub->ub_flags));
> +     if (ub)
> +             ret = (ub != dirtied_ub);
> +     else
> +             ret = (dirtied_ub && !ub_over_bground_thresh());

No need to check all beancounters here.
__ub_over_bground_thresh(dirtied_ub) should be enough.

>       rcu_read_unlock();
>  
>       return ret;
_______________________________________________
Devel mailing list
[email protected]
https://lists.openvz.org/mailman/listinfo/devel

Reply via email to