diff mbox series

[01/17] mm: don't include <linux/blk-cgroup.h> in <linux/writeback.h>

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

Commit Message

Christoph Hellwig Sept. 20, 2021, 12:33 p.m. UTC
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(-)

Comments

Johannes Thumshirn Sept. 20, 2021, 12:53 p.m. UTC | #1
Looks good,
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Bart Van Assche Sept. 20, 2021, 10:13 p.m. UTC | #2
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.
Christoph Hellwig Sept. 21, 2021, 6:36 a.m. UTC | #3
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 mbox series

Patch

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>