Messages in this thread | | | Date | Wed, 17 Apr 2013 19:17:26 -0500 | From | Robin Holt <> | Subject | Re: [PATCH -v5 5/5] Make reboot_cpuid a kernel parameter. |
| |
On Wed, Apr 17, 2013 at 03:15:33PM -0500, Robin Holt wrote: > On Wed, Apr 17, 2013 at 12:59:57PM -0700, H. Peter Anvin wrote: > > It is also worth noting that the documentation says reboot=s[mp]# > > whereas in fact only reboot=s# parse correctly. I consider this to be a > > bug. > > > > If we centralized the parser, we could take a string like > > > > "reboot=bios,smp32,warm" > > > > and parse it into: > > > > reboot_cpu = 32 > > reboot_mode = "bw" > > > > ... and pass the information in that form to the arch layer. I don't > > think we can do more parsing at that in the main kernel. > > OK. I will go back to the drawing board again.
There are 4 items being parsed out of reboot= for x86: - reboot_mode w[arm] | c[old] - reboot_cpu s[mp]#### - reboot_type b[ios] | a[cpi] | k[bd] | t[riple] | e[fi] | p[ci] - reboot_force f[orce]
This seems like a lot to push into the generic kernel just to make it appear consistent when there will be no real cross arch consistency.
Contrast that with: 1) New kernel parameter (reboot_cpu) which is clear and concise, uses standard parsing methods. 2) Backwards compatibility in that a user with an existing (broken) reboot=s32 on the command line will set reboot_cpu unless both were specified, in which case reboot_cpu takes precedence.
What is so fundamentally wrong with that? It accomplishes exactly what you had asked for in that existing users are not broken. We are introducing a new functionality in the general kernel. Why not introduce a new parameter associated with that functionality.
Thanks, Robin
| |