Message ID | 20210920123328.1399408-2-hch@lst.de (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | [01/17] mm: don't include <linux/blk-cgroup.h> in <linux/writeback.h> | expand |
Looks good,
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
On 9/20/21 5:33 AM, Christoph Hellwig wrote: > -static inline struct cgroup_subsys_state * > -wbc_blkcg_css(struct writeback_control *wbc) > -{ > #ifdef CONFIG_CGROUP_WRITEBACK > - if (wbc->wb) > - return wbc->wb->blkcg_css; > -#endif > - return blkcg_root_css; > -} > +#define wbc_blkcg_css(wbc) \ > + ((wbc)->wb ? (wbc)->wb->blkcg_css : blkcg_root_css) > +#else > +#define wbc_blkcg_css(wbc) (blkcg_root_css) > +#endif /* CONFIG_CGROUP_WRITEBACK */ This change may introduce annoying set-but-not-used warnings with CONFIG_CGROUP_WRITEBACK=n. How about changing (blkcg_root_css) into ((wbc), blkcg_root_css) to prevent this? Thanks, Bart.
On Mon, Sep 20, 2021 at 03:13:15PM -0700, Bart Van Assche wrote: >> +#define wbc_blkcg_css(wbc) \ >> + ((wbc)->wb ? (wbc)->wb->blkcg_css : blkcg_root_css) >> +#else >> +#define wbc_blkcg_css(wbc) (blkcg_root_css) >> +#endif /* CONFIG_CGROUP_WRITEBACK */ > > This change may introduce annoying set-but-not-used warnings > with CONFIG_CGROUP_WRITEBACK=n. How about changing (blkcg_root_css) > into ((wbc), blkcg_root_css) to prevent this? I agree in principle, but in this case the caller pretty much has to use wbc in other ways, so I don't think it matters much.
diff --git a/drivers/gpu/drm/i915/i915_utils.h b/drivers/gpu/drm/i915/i915_utils.h index 5259edacde380..066a9118c3748 100644 --- a/drivers/gpu/drm/i915/i915_utils.h +++ b/drivers/gpu/drm/i915/i915_utils.h @@ -30,6 +30,7 @@ #include <linux/sched.h> #include <linux/types.h> #include <linux/workqueue.h> +#include <linux/sched/clock.h> struct drm_i915_private; struct timer_list; diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index 487533c35ddb6..4a9077c524448 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c @@ -6,6 +6,7 @@ #include <crypto/hash.h> #include <linux/kernel.h> #include <linux/bio.h> +#include <linux/blk-cgroup.h> #include <linux/file.h> #include <linux/fs.h> #include <linux/pagemap.h> diff --git a/fs/quota/quota.c b/fs/quota/quota.c index 2bcc9a6f1bfc0..052f143e2e0e1 100644 --- a/fs/quota/quota.c +++ b/fs/quota/quota.c @@ -10,6 +10,7 @@ #include <linux/namei.h> #include <linux/slab.h> #include <asm/current.h> +#include <linux/blkdev.h> #include <linux/uaccess.h> #include <linux/kernel.h> #include <linux/security.h> diff --git a/include/linux/writeback.h b/include/linux/writeback.h index d1f65adf6a266..8eb165760752b 100644 --- a/include/linux/writeback.h +++ b/include/linux/writeback.h @@ -11,7 +11,6 @@ #include <linux/flex_proportions.h> #include <linux/backing-dev-defs.h> #include <linux/blk_types.h> -#include <linux/blk-cgroup.h> struct bio; @@ -109,15 +108,12 @@ static inline int wbc_to_write_flags(struct writeback_control *wbc) return flags; } -static inline struct cgroup_subsys_state * -wbc_blkcg_css(struct writeback_control *wbc) -{ #ifdef CONFIG_CGROUP_WRITEBACK - if (wbc->wb) - return wbc->wb->blkcg_css; -#endif - return blkcg_root_css; -} +#define wbc_blkcg_css(wbc) \ + ((wbc)->wb ? (wbc)->wb->blkcg_css : blkcg_root_css) +#else +#define wbc_blkcg_css(wbc) (blkcg_root_css) +#endif /* CONFIG_CGROUP_WRITEBACK */ /* * A wb_domain represents a domain that wb's (bdi_writeback's) belong to diff --git a/lib/random32.c b/lib/random32.c index 4d0e05e471d72..a57a0e18819d0 100644 --- a/lib/random32.c +++ b/lib/random32.c @@ -39,6 +39,7 @@ #include <linux/random.h> #include <linux/sched.h> #include <linux/bitops.h> +#include <linux/slab.h> #include <asm/unaligned.h> #include <trace/events/random.h>
blk-cgroup.h pulls in blkdev.h and thus pretty much all the block headers. Break this dependency chain by turning wbc_blkcg_css into a macro and dropping the blk-cgroup.h include. Signed-off-by: Christoph Hellwig <hch@lst.de> --- drivers/gpu/drm/i915/i915_utils.h | 1 + fs/btrfs/inode.c | 1 + fs/quota/quota.c | 1 + include/linux/writeback.h | 14 +++++--------- lib/random32.c | 1 + 5 files changed, 9 insertions(+), 9 deletions(-)