On Thu, Jan 21, 2016 at 01:55:32PM +0300, Andrey Ryabinin wrote:
>
>
> On 01/21/2016 01:35 PM, Vladimir Davydov wrote:
> >> + if (ub_dirty + ub_writeback <= ub_thresh)
> >> + break;
> >> + if (!writeback_in_progress(bdi))
> >> + bdi_start_backgr
On 01/21/2016 01:35 PM, Vladimir Davydov wrote:
>> +if (ub_dirty + ub_writeback <= ub_thresh)
>> +break;
>> +if (!writeback_in_progress(bdi))
>> +bdi_start_background_writeback(bdi);
>> +
>> +/*
>> + * Throttl
On Thu, Jan 21, 2016 at 11:44:14AM +0300, Andrey Ryabinin wrote:
> @@ -1391,6 +1391,101 @@ static inline void bdi_dirty_limits(struct
> backing_dev_info *bdi,
> }
> }
>
> +static void balance_dirty_pages_ub(struct address_space *mapping,
> + unsigned long writ
This patch adds balance_dirty_pages_ub() which is implements per-UB
logic of balance_dirty_pages() from PCS6. balance_dirty_pages_ub() is invoked
right before the original balance_dirty_pages() to issue per-UB writeback.
After that balance_dirty_pages() will be executed for global writeback.
https