On Fri 09-02-24 01:20:22, Kemeng Shi wrote: > The dirtied_before is only used when b_io is not empty, so only calculate > when b_io is not empty. > > Signed-off-by: Kemeng Shi <shikemeng@xxxxxxxxxxxxxxx> > --- > fs/fs-writeback.c | 25 +++++++++++++------------ > 1 file changed, 13 insertions(+), 12 deletions(-) OK, but please wrap the comment at 80 columns as well. Honza > > diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c > index b61bf2075931..e8868e814e0a 100644 > --- a/fs/fs-writeback.c > +++ b/fs/fs-writeback.c > @@ -2118,20 +2118,21 @@ static long wb_writeback(struct bdi_writeback *wb, > > spin_lock(&wb->list_lock); > > - /* > - * Kupdate and background works are special and we want to > - * include all inodes that need writing. Livelock avoidance is > - * handled by these works yielding to any other work so we are > - * safe. > - */ > - if (work->for_kupdate) { > - dirtied_before = jiffies - > - msecs_to_jiffies(dirty_expire_interval * 10); > - } else if (work->for_background) > - dirtied_before = jiffies; > - > trace_writeback_start(wb, work); > if (list_empty(&wb->b_io)) { > + /* > + * Kupdate and background works are special and we want to > + * include all inodes that need writing. Livelock avoidance is > + * handled by these works yielding to any other work so we are > + * safe. > + */ > + if (work->for_kupdate) { > + dirtied_before = jiffies - > + msecs_to_jiffies(dirty_expire_interval * > + 10); > + } else if (work->for_background) > + dirtied_before = jiffies; > + > queue_io(wb, work, dirtied_before); > queued = true; > } > -- > 2.30.0 > -- Jan Kara <jack@xxxxxxxx> SUSE Labs, CR