[v3,0/2] Make it possible to reserve memory on 64bit platform
mbox series

Message ID 1611330937-22654-1-git-send-email-zhaowei1102@thundersoft.com
Headers show
Series
  • Make it possible to reserve memory on 64bit platform
Related show

Message

Wesley Zhao Jan. 22, 2021, 3:55 p.m. UTC
I was trying to reserve some memory to save logs incase that Android panic or hang and then
I can read the logs from QNX side from the memory reserved before on the Qualcomm 8155 hypervisor platform,
and I find the "reserve=" parameter only support 32bit,so I made some change and send these patches.

I run the cmdline_kunit.c and got these:
[    1.663048] 1..1
[    1.663107]     # Subtest: cmdline
[    1.663145]     1..3
[    1.663795]     ok 1 - cmdline_test_noint
[    1.664139]     ok 2 - cmdline_test_lead_int
[    1.664553]     ok 3 - cmdline_test_tail_int
[    1.664788] ok 1 - cmdline

Additionaly:
	I test on the qemu with some cmdline like[qemu-system-x86_64 -kernel linux-next/arch/x86_64/boot/bzImage
	-hda ubuntu-system.ext4 -append "root=/dev/sda init=/bin/bash console=ttyS0 reserve=0x180000000,0x123456"
	-nographic] and check the /proc/iomem with 180000000-180123455 : reserved.
	And some other tests with the get_option with the parameter(-12345678) and so on


Wesley Zhao (2):
  lib/cmdline: add new function get_option_ull()
  resource: Make it possible to reserve memory on 64bit platform

 include/linux/kernel.h |  2 ++
 kernel/resource.c      |  6 ++--
 lib/cmdline.c          | 94 ++++++++++++++++++++++++++++++++++++++++++--------
 3 files changed, 85 insertions(+), 17 deletions(-)

Comments

Andy Shevchenko Jan. 22, 2021, 4:26 p.m. UTC | #1
On Fri, Jan 22, 2021 at 07:55:35AM -0800, Wesley Zhao wrote:
> I was trying to reserve some memory to save logs incase that Android panic or hang and then
> I can read the logs from QNX side from the memory reserved before on the Qualcomm 8155 hypervisor platform,
> and I find the "reserve=" parameter only support 32bit,so I made some change and send these patches.

This part is okay.

> I run the cmdline_kunit.c and got these:
> [    1.663048] 1..1
> [    1.663107]     # Subtest: cmdline
> [    1.663145]     1..3
> [    1.663795]     ok 1 - cmdline_test_noint
> [    1.664139]     ok 2 - cmdline_test_lead_int
> [    1.664553]     ok 3 - cmdline_test_tail_int
> [    1.664788] ok 1 - cmdline

This is not okay, you have to have test cases to be added for your new API.
Besides the fact that you don't need it at all. See my further comments.

> Additionaly:
> 	I test on the qemu with some cmdline like[qemu-system-x86_64 -kernel linux-next/arch/x86_64/boot/bzImage
> 	-hda ubuntu-system.ext4 -append "root=/dev/sda init=/bin/bash console=ttyS0 reserve=0x180000000,0x123456"
> 	-nographic] and check the /proc/iomem with 180000000-180123455 : reserved.
> 	And some other tests with the get_option with the parameter(-12345678) and so on
Andy Shevchenko Jan. 22, 2021, 4:27 p.m. UTC | #2
On Fri, Jan 22, 2021 at 07:55:36AM -0800, Wesley Zhao wrote:
> In the future we would pass the unsigned long long parameter
> like(0x123456781234) in cmdline on the 64bit platform, so add a new
> option parse function get_option_ull()

You missed period at the end of phrase.

Overall this patch is not needed at all.