2021-07-17 12:35:01

by Oleksandr Natalenko

[permalink] [raw]
Subject: [PATCH] block: increase BLKCG_MAX_POLS

After mq-deadline learnt to deal with cgroups, the BLKCG_MAX_POLS value
became too small for all the elevators to be registered properly. The
following issue is seen:

```
calling bfq_init+0x0/0x8b @ 1
blkcg_policy_register: BLKCG_MAX_POLS too small
initcall bfq_init+0x0/0x8b returned -28 after 507 usecs
```

and BFQ is non-functional.

Increase BLKCG_MAX_POLS to allow space for everyone

Link: https://lore.kernel.org/lkml/[email protected]/
Signed-off-by: Oleksandr Natalenko <[email protected]>
---
include/linux/blkdev.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index 3177181c4326..d3afea47ade6 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@ -57,7 +57,7 @@ struct blk_keyslot_manager;
* Maximum number of blkcg policies allowed to be registered concurrently.
* Defined here to simplify include dependency.
*/
-#define BLKCG_MAX_POLS 5
+#define BLKCG_MAX_POLS 6

typedef void (rq_end_io_fn)(struct request *, blk_status_t);

--
2.32.0


2021-07-17 19:08:19

by Jens Axboe

[permalink] [raw]
Subject: Re: [PATCH] block: increase BLKCG_MAX_POLS

On 7/17/21 6:33 AM, Oleksandr Natalenko wrote:
> After mq-deadline learnt to deal with cgroups, the BLKCG_MAX_POLS value
> became too small for all the elevators to be registered properly. The
> following issue is seen:
>
> ```
> calling bfq_init+0x0/0x8b @ 1
> blkcg_policy_register: BLKCG_MAX_POLS too small
> initcall bfq_init+0x0/0x8b returned -28 after 507 usecs
> ```
>
> and BFQ is non-functional.
>
> Increase BLKCG_MAX_POLS to allow space for everyone

LGTM, just needs a:

Fixes: 08a9ad8bf607 ("block/mq-deadline: Add cgroup support")

in there too, I'll add it.

--
Jens Axboe