lkml.org 
[lkml]   [2010]   [Jul]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 4/6] writeback: sync expired inodes first in background writeback
    > > @@ -232,8 +232,15 @@ static void move_expired_inodes(struct l
    > > while (!list_empty(delaying_queue)) {
    > > inode = list_entry(delaying_queue->prev, struct inode, i_list);
    > > if (expire_interval &&
    > > - inode_dirtied_after(inode, older_than_this))
    > > - break;
    > > + inode_dirtied_after(inode, older_than_this)) {
    > > + if (wbc->for_background &&
    > > + list_empty(dispatch_queue) && list_empty(&tmp)) {
    > > + expire_interval >>= 1;
    > > + older_than_this = jiffies - expire_interval;
    > > + continue;
    > > + } else
    > > + break;
    > > + }
    >
    > This needs a comment.
    >
    > I think what it is saying is that if background flush is active but no
    > inodes are old enough, consider newer inodes. This is on the assumption
    > that page reclaim has encountered dirty pages and the dirty inodes are
    > still too young.

    Yes this should be commented. How about this one?

    @@ -232,8 +232,20 @@ static void move_expired_inodes(struct l
    while (!list_empty(delaying_queue)) {
    inode = list_entry(delaying_queue->prev, struct inode, i_list);
    if (expire_interval &&
    - inode_dirtied_after(inode, older_than_this))
    + inode_dirtied_after(inode, older_than_this)) {
    + /*
    + * background writeback will start with expired inodes,
    + * and then fresh inodes. This order helps reducing
    + * the number of dirty pages reaching the end of LRU
    + * lists and cause trouble to the page reclaim.
    + */
    + if (wbc->for_background &&
    + list_empty(dispatch_queue) && list_empty(&tmp)) {
    + expire_interval = 0;
    + continue;
    + }
    break;
    + }
    if (sb && sb != inode->i_sb)
    do_sb_sort = 1;
    sb = inode->i_sb;

    Thanks,
    Fengguang


    \
     
     \ /
      Last update: 2010-07-26 14:59    [W:0.025 / U:0.272 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site