All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Darrick J. Wong" <darrick.wong@oracle.com>
To: Shaohua Li <shli@kernel.org>
Cc: linux-xfs@vger.kernel.org, Kernel-team@fb.com,
	Shaohua Li <shli@fb.com>, Tejun Heo <tj@kernel.org>
Subject: Re: [PATCH] xfs: implement cgroup writeback support
Date: Thu, 12 Oct 2017 13:16:18 -0700	[thread overview]
Message-ID: <20171012201618.GI7122@magnolia> (raw)
In-Reply-To: <1f2527ae0951650976e788e10e2951bb3e2c1cac.1507835570.git.shli@fb.com>

On Thu, Oct 12, 2017 at 12:16:48PM -0700, Shaohua Li wrote:
> From: Shaohua Li <shli@fb.com>
> 
> Basically this is a copy of commit 001e4a8775f6(ext4: implement cgroup
> writeback support). Tested with a fio test, verified writeback is
> throttled against cgroup io.max write bandwidth, also verified moving
> the fio test to another cgroup and the writeback is throttled against
> new cgroup setting.

Just out of curiosity, is there an xfstests that covers this?

It /looks/ ok at a first glance, but I'll have to take a closer look to
figure out if the warnings in Documentation/ apply:

"Depending on the configuration, the bio may be executed at a lower
priority and if the writeback session is holding shared resources, e.g.
a journal entry, may lead to priority inversion."

--D

> Cc: Tejun Heo <tj@kernel.org>
> Signed-off-by: Shaohua Li <shli@fb.com>
> ---
>  fs/xfs/xfs_aops.c  | 2 ++
>  fs/xfs/xfs_super.c | 1 +
>  2 files changed, 3 insertions(+)
> 
> diff --git a/fs/xfs/xfs_aops.c b/fs/xfs/xfs_aops.c
> index f18e593..6535054 100644
> --- a/fs/xfs/xfs_aops.c
> +++ b/fs/xfs/xfs_aops.c
> @@ -630,8 +630,10 @@ xfs_add_to_ioend(
>  		if (wpc->ioend)
>  			list_add(&wpc->ioend->io_list, iolist);
>  		wpc->ioend = xfs_alloc_ioend(inode, wpc->io_type, offset, bh);
> +		wbc_init_bio(wbc, wpc->ioend->io_bio);
>  	}
>  
> +	wbc_account_io(wbc, bh->b_page, bh->b_size);
>  	/*
>  	 * If the buffer doesn't fit into the bio we need to allocate a new
>  	 * one.  This shouldn't happen more than once for a given buffer.
> diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c
> index 584cf2d..aea3bc2 100644
> --- a/fs/xfs/xfs_super.c
> +++ b/fs/xfs/xfs_super.c
> @@ -1634,6 +1634,7 @@ xfs_fs_fill_super(
>  	sb->s_max_links = XFS_MAXLINK;
>  	sb->s_time_gran = 1;
>  	set_posix_acl_flag(sb);
> +	sb->s_iflags |= SB_I_CGROUPWB;
>  
>  	/* version 5 superblocks support inode version counters. */
>  	if (XFS_SB_VERSION_NUM(&mp->m_sb) == XFS_SB_VERSION_5)
> -- 
> 2.9.5
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-xfs" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

  reply	other threads:[~2017-10-12 20:16 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-10-12 19:16 [PATCH] xfs: implement cgroup writeback support Shaohua Li
2017-10-12 20:16 ` Darrick J. Wong [this message]
2017-10-12 19:49   ` Shaohua Li
2017-10-12 21:59     ` Darrick J. Wong
2017-10-12 21:33 ` Dave Chinner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20171012201618.GI7122@magnolia \
    --to=darrick.wong@oracle.com \
    --cc=Kernel-team@fb.com \
    --cc=linux-xfs@vger.kernel.org \
    --cc=shli@fb.com \
    --cc=shli@kernel.org \
    --cc=tj@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.