On 2022/3/29 10:46, Mike Kravetz wrote:
Yes, I agree that the change is needed and the current behavior is unacceptable. One remaining question is the change from returning '0' to '1' in the case of error. I do understand this is to prevent the invalid parameter string from being passed to init. It may not be correct/right, but in every other case where an invalid parameter in encountered in hugetlb command line processing we return "0". Should we perhaps change all these other places to be consistent? I honestly do not know what is the appropriate behavior in these situations.
Thank you for your carefulness and question. I have checked default_hugepagesz_setup and hugepages_setup will both print some information before return '0', so there is no need to print again in "Unknown kernel command line parameters". Should I send another patch to repair the rest "return 0" in hugetlb? Some other tests for current linux-master: cmdline: hugepagesz=1G hugepages=1 hugepagesz=1G hugepages=2 dmesg: HugeTLB: hugepagesz=1G specified twice, ignoring Unknown kernel command line parameters " hugepagesz=1G hugepages=2" cmdline: hugepagesz=1Y hugepages=1 dmesg: HugeTLB: unsupported hugepagesz=1Y HugeTLB: hugepages=1 does not follow a valid hugepagesz, ignoring Unknown kernel command line parameters "hugepagesz=1Y hugepages=1" -- Peng Liu .