Le 13/09/2025 à 02:37, Askar Safin a écrit :
> [Vous ne recevez pas souvent de courriers de safinaskar@gmail.com. Découvrez pourquoi ceci est important à https://aka.ms/LearnAboutSenderIdentification ]
>
> There is no any reason for having special mechanism
> for setting ramdisk size.
That's you opinion.
You should explain why.
>
> Also this allows us to change rd_size variable to static
>
> Signed-off-by: Askar Safin <safinaskar@gmail.com>
> ---
> arch/arm/kernel/atags_parse.c | 12 ------------
> drivers/block/brd.c | 8 ++++----
> include/linux/initrd.h | 3 ---
What about:
arch/mips/kernel/setup.c:early_param("rd_size", rd_size_early);
Is it unrelated ?
> 3 files changed, 4 insertions(+), 19 deletions(-)
>
> diff --git a/arch/arm/kernel/atags_parse.c b/arch/arm/kernel/atags_parse.c
> index a3f0a4f84e04..615d9e83c9b5 100644
> --- a/arch/arm/kernel/atags_parse.c
> +++ b/arch/arm/kernel/atags_parse.c
> @@ -87,18 +87,6 @@ static int __init parse_tag_videotext(const struct tag *tag)
> __tagtable(ATAG_VIDEOTEXT, parse_tag_videotext);
> #endif
>
> -#ifdef CONFIG_BLK_DEV_RAM
> -static int __init parse_tag_ramdisk(const struct tag *tag)
> -{
> - if (tag->u.ramdisk.size)
> - rd_size = tag->u.ramdisk.size;
> -
> - return 0;
> -}
> -
> -__tagtable(ATAG_RAMDISK, parse_tag_ramdisk);
> -#endif
> -
> static int __init parse_tag_serialnr(const struct tag *tag)
> {
> system_serial_low = tag->u.serialnr.low;
> diff --git a/drivers/block/brd.c b/drivers/block/brd.c
> index 0c2eabe14af3..72f02d2b8a99 100644
> --- a/drivers/block/brd.c
> +++ b/drivers/block/brd.c
> @@ -27,6 +27,10 @@
>
> #include <linux/uaccess.h>
>
> +static unsigned long rd_size = CONFIG_BLK_DEV_RAM_SIZE;
> +module_param(rd_size, ulong, 0444);
> +MODULE_PARM_DESC(rd_size, "Size of each RAM disk in kbytes.");
> +
> /*
> * Each block ramdisk device has a xarray brd_pages of pages that stores
> * the pages containing the block device's contents.
> @@ -209,10 +213,6 @@ static int rd_nr = CONFIG_BLK_DEV_RAM_COUNT;
> module_param(rd_nr, int, 0444);
> MODULE_PARM_DESC(rd_nr, "Maximum number of brd devices");
>
> -unsigned long rd_size = CONFIG_BLK_DEV_RAM_SIZE;
> -module_param(rd_size, ulong, 0444);
> -MODULE_PARM_DESC(rd_size, "Size of each RAM disk in kbytes.");
> -
> static int max_part = 1;
> module_param(max_part, int, 0444);
> MODULE_PARM_DESC(max_part, "Num Minors to reserve between devices");
> diff --git a/include/linux/initrd.h b/include/linux/initrd.h
> index 6320a9cb6686..b42235c21444 100644
> --- a/include/linux/initrd.h
> +++ b/include/linux/initrd.h
> @@ -5,9 +5,6 @@
>
> #define INITRD_MINOR 250 /* shouldn't collide with /dev/ram* too soon ... */
>
> -/* size of a single RAM disk */
> -extern unsigned long rd_size;
> -
> /* 1 if it is not an error if initrd_start < memory_start */
> extern int initrd_below_start_ok;
>
> --
> 2.47.2
>
>