Message ID | 20140705112238.16142.42735.stgit@zurg (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Sat, 05 Jul 2014 15:22:38 +0400 Konstantin Khlebnikov <koct9i@gmail.com> wrote: > This fixes command # make checkstack for i386/x86_64. > Looks like $UTS_MACHINE is exactly what scripts/checkstack.pl needs. > > By default $UTS_MACHINE is equal to $ARCH, but some arch/${ARCH}/Makefile > overrides it. This patch updates it also in arch/x86/Makefile.um > > broken in ffee0de ("x86: Default to ARCH=x86 to avoid overriding CONFIG_64BIT") The changelog doesn't describe the bug which is being fixed. It should do so please. If there are any compiler/make error messages then those should be included. -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Tue, Jul 8, 2014 at 2:05 AM, Andrew Morton <akpm@linux-foundation.org> wrote: > On Sat, 05 Jul 2014 15:22:38 +0400 Konstantin Khlebnikov <koct9i@gmail.com> wrote: > >> This fixes command # make checkstack for i386/x86_64. >> Looks like $UTS_MACHINE is exactly what scripts/checkstack.pl needs. >> >> By default $UTS_MACHINE is equal to $ARCH, but some arch/${ARCH}/Makefile >> overrides it. This patch updates it also in arch/x86/Makefile.um >> >> broken in ffee0de ("x86: Default to ARCH=x86 to avoid overriding CONFIG_64BIT") > > The changelog doesn't describe the bug which is being fixed. It should > do so please. If there are any compiler/make error messages then those > should be included. > Oh, ok. checkstalk.pl needs either i386 or x86_64, x86 isn't enough. $ make checkstack objdump -d vmlinux $(find . -name '*.ko') | \ perl /home/blind/src/linux-stable/scripts/checkstack.pl x86 wrong or unknown architecture "x86" -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Tue, Jul 8, 2014 at 7:48 AM, Konstantin Khlebnikov <koct9i@gmail.com> wrote: > On Tue, Jul 8, 2014 at 2:05 AM, Andrew Morton <akpm@linux-foundation.org> wrote: >> On Sat, 05 Jul 2014 15:22:38 +0400 Konstantin Khlebnikov <koct9i@gmail.com> wrote: >> >>> This fixes command # make checkstack for i386/x86_64. >>> Looks like $UTS_MACHINE is exactly what scripts/checkstack.pl needs. >>> >>> By default $UTS_MACHINE is equal to $ARCH, but some arch/${ARCH}/Makefile >>> overrides it. This patch updates it also in arch/x86/Makefile.um >>> >>> broken in ffee0de ("x86: Default to ARCH=x86 to avoid overriding CONFIG_64BIT") >> >> The changelog doesn't describe the bug which is being fixed. It should >> do so please. If there are any compiler/make error messages then those >> should be included. >> > > Oh, ok. checkstalk.pl needs either i386 or x86_64, x86 isn't enough. > > $ make checkstack > objdump -d vmlinux $(find . -name '*.ko') | \ > perl /home/blind/src/linux-stable/scripts/checkstack.pl x86 > wrong or unknown architecture "x86" And now we need ARCH, SUBARCH and UTS_MACHINE on UML? :-(
On Tue, Jul 8, 2014 at 12:01 PM, Richard Weinberger <richard.weinberger@gmail.com> wrote: > On Tue, Jul 8, 2014 at 7:48 AM, Konstantin Khlebnikov <koct9i@gmail.com> wrote: >> On Tue, Jul 8, 2014 at 2:05 AM, Andrew Morton <akpm@linux-foundation.org> wrote: >>> On Sat, 05 Jul 2014 15:22:38 +0400 Konstantin Khlebnikov <koct9i@gmail.com> wrote: >>> >>>> This fixes command # make checkstack for i386/x86_64. >>>> Looks like $UTS_MACHINE is exactly what scripts/checkstack.pl needs. >>>> >>>> By default $UTS_MACHINE is equal to $ARCH, but some arch/${ARCH}/Makefile >>>> overrides it. This patch updates it also in arch/x86/Makefile.um >>>> >>>> broken in ffee0de ("x86: Default to ARCH=x86 to avoid overriding CONFIG_64BIT") >>> >>> The changelog doesn't describe the bug which is being fixed. It should >>> do so please. If there are any compiler/make error messages then those >>> should be included. >>> >> >> Oh, ok. checkstalk.pl needs either i386 or x86_64, x86 isn't enough. >> >> $ make checkstack >> objdump -d vmlinux $(find . -name '*.ko') | \ >> perl /home/blind/src/linux-stable/scripts/checkstack.pl x86 >> wrong or unknown architecture "x86" > > And now we need ARCH, SUBARCH and UTS_MACHINE on UML? :-( Nope UTS_MACHINE is autodetected, see hunk Makefile.x86 in my patch. I thought about cleaning this part of UML. For example we could move arch/x86/um into arch/um/x86 and use # make ARCH=um/x86 after collecting this stuff together it woud be easier to get rid of forever-broken parts. As I see UML has been designed to work everywhere but SMP seem never worked as well as any host os except of linux or other arch except x86. > > -- > Thanks, > //richard -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Am 08.07.2014 10:16, schrieb Konstantin Khlebnikov: > On Tue, Jul 8, 2014 at 12:01 PM, Richard Weinberger > <richard.weinberger@gmail.com> wrote: >> On Tue, Jul 8, 2014 at 7:48 AM, Konstantin Khlebnikov <koct9i@gmail.com> wrote: >>> On Tue, Jul 8, 2014 at 2:05 AM, Andrew Morton <akpm@linux-foundation.org> wrote: >>>> On Sat, 05 Jul 2014 15:22:38 +0400 Konstantin Khlebnikov <koct9i@gmail.com> wrote: >>>> >>>>> This fixes command # make checkstack for i386/x86_64. >>>>> Looks like $UTS_MACHINE is exactly what scripts/checkstack.pl needs. >>>>> >>>>> By default $UTS_MACHINE is equal to $ARCH, but some arch/${ARCH}/Makefile >>>>> overrides it. This patch updates it also in arch/x86/Makefile.um >>>>> >>>>> broken in ffee0de ("x86: Default to ARCH=x86 to avoid overriding CONFIG_64BIT") >>>> >>>> The changelog doesn't describe the bug which is being fixed. It should >>>> do so please. If there are any compiler/make error messages then those >>>> should be included. >>>> >>> >>> Oh, ok. checkstalk.pl needs either i386 or x86_64, x86 isn't enough. >>> >>> $ make checkstack >>> objdump -d vmlinux $(find . -name '*.ko') | \ >>> perl /home/blind/src/linux-stable/scripts/checkstack.pl x86 >>> wrong or unknown architecture "x86" >> >> And now we need ARCH, SUBARCH and UTS_MACHINE on UML? :-( > > Nope UTS_MACHINE is autodetected, see hunk Makefile.x86 in my patch. > > I thought about cleaning this part of UML. > For example we could move arch/x86/um into arch/um/x86 and use # make > ARCH=um/x86 No way. We moved the x86 stuff to arch/x86/ a few Years ago by design. > after collecting this stuff together it woud be easier to get rid of > forever-broken parts. > As I see UML has been designed to work everywhere but SMP seem never worked > as well as any host os except of linux or other arch except x86. Currently UML runs only on x86_32/64. Adding/fixing SMP support should be doable. Thanks, //richard -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Tue, Jul 8, 2014 at 12:20 PM, Richard Weinberger <richard@nod.at> wrote: > Am 08.07.2014 10:16, schrieb Konstantin Khlebnikov: >> On Tue, Jul 8, 2014 at 12:01 PM, Richard Weinberger >> <richard.weinberger@gmail.com> wrote: >>> On Tue, Jul 8, 2014 at 7:48 AM, Konstantin Khlebnikov <koct9i@gmail.com> wrote: >>>> On Tue, Jul 8, 2014 at 2:05 AM, Andrew Morton <akpm@linux-foundation.org> wrote: >>>>> On Sat, 05 Jul 2014 15:22:38 +0400 Konstantin Khlebnikov <koct9i@gmail.com> wrote: >>>>> >>>>>> This fixes command # make checkstack for i386/x86_64. >>>>>> Looks like $UTS_MACHINE is exactly what scripts/checkstack.pl needs. >>>>>> >>>>>> By default $UTS_MACHINE is equal to $ARCH, but some arch/${ARCH}/Makefile >>>>>> overrides it. This patch updates it also in arch/x86/Makefile.um >>>>>> >>>>>> broken in ffee0de ("x86: Default to ARCH=x86 to avoid overriding CONFIG_64BIT") >>>>> >>>>> The changelog doesn't describe the bug which is being fixed. It should >>>>> do so please. If there are any compiler/make error messages then those >>>>> should be included. >>>>> >>>> >>>> Oh, ok. checkstalk.pl needs either i386 or x86_64, x86 isn't enough. >>>> >>>> $ make checkstack >>>> objdump -d vmlinux $(find . -name '*.ko') | \ >>>> perl /home/blind/src/linux-stable/scripts/checkstack.pl x86 >>>> wrong or unknown architecture "x86" >>> >>> And now we need ARCH, SUBARCH and UTS_MACHINE on UML? :-( >> >> Nope UTS_MACHINE is autodetected, see hunk Makefile.x86 in my patch. >> >> I thought about cleaning this part of UML. >> For example we could move arch/x86/um into arch/um/x86 and use # make >> ARCH=um/x86 > > No way. We moved the x86 stuff to arch/x86/ a few Years ago by design. Ok, fine. We could leave it in arch/x86/um and use make ARCH=x86/um > >> after collecting this stuff together it woud be easier to get rid of >> forever-broken parts. >> As I see UML has been designed to work everywhere but SMP seem never worked >> as well as any host os except of linux or other arch except x86. > > Currently UML runs only on x86_32/64. > Adding/fixing SMP support should be doable. This might be quite difficult on top of current ptrace-based design. I thought about running userspace in kvm context, this might be much faster than ptrace but requires indirect uaccess like for 4gb-split. But it's very unlikely that I'll find time for that. > > Thanks, > //richard -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Am 08.07.2014 10:30, schrieb Konstantin Khlebnikov: > On Tue, Jul 8, 2014 at 12:20 PM, Richard Weinberger <richard@nod.at> wrote: >> Am 08.07.2014 10:16, schrieb Konstantin Khlebnikov: >>> On Tue, Jul 8, 2014 at 12:01 PM, Richard Weinberger >>> <richard.weinberger@gmail.com> wrote: >>>> On Tue, Jul 8, 2014 at 7:48 AM, Konstantin Khlebnikov <koct9i@gmail.com> wrote: >>>>> On Tue, Jul 8, 2014 at 2:05 AM, Andrew Morton <akpm@linux-foundation.org> wrote: >>>>>> On Sat, 05 Jul 2014 15:22:38 +0400 Konstantin Khlebnikov <koct9i@gmail.com> wrote: >>>>>> >>>>>>> This fixes command # make checkstack for i386/x86_64. >>>>>>> Looks like $UTS_MACHINE is exactly what scripts/checkstack.pl needs. >>>>>>> >>>>>>> By default $UTS_MACHINE is equal to $ARCH, but some arch/${ARCH}/Makefile >>>>>>> overrides it. This patch updates it also in arch/x86/Makefile.um >>>>>>> >>>>>>> broken in ffee0de ("x86: Default to ARCH=x86 to avoid overriding CONFIG_64BIT") >>>>>> >>>>>> The changelog doesn't describe the bug which is being fixed. It should >>>>>> do so please. If there are any compiler/make error messages then those >>>>>> should be included. >>>>>> >>>>> >>>>> Oh, ok. checkstalk.pl needs either i386 or x86_64, x86 isn't enough. >>>>> >>>>> $ make checkstack >>>>> objdump -d vmlinux $(find . -name '*.ko') | \ >>>>> perl /home/blind/src/linux-stable/scripts/checkstack.pl x86 >>>>> wrong or unknown architecture "x86" >>>> >>>> And now we need ARCH, SUBARCH and UTS_MACHINE on UML? :-( >>> >>> Nope UTS_MACHINE is autodetected, see hunk Makefile.x86 in my patch. >>> >>> I thought about cleaning this part of UML. >>> For example we could move arch/x86/um into arch/um/x86 and use # make >>> ARCH=um/x86 >> >> No way. We moved the x86 stuff to arch/x86/ a few Years ago by design. > > Ok, fine. We could leave it in arch/x86/um and use make ARCH=x86/um I don't like this. Please keep ARCH=um as is. >> >>> after collecting this stuff together it woud be easier to get rid of >>> forever-broken parts. >>> As I see UML has been designed to work everywhere but SMP seem never worked >>> as well as any host os except of linux or other arch except x86. >> >> Currently UML runs only on x86_32/64. >> Adding/fixing SMP support should be doable. > > This might be quite difficult on top of current ptrace-based design. > I thought about running userspace in kvm context, this might be much > faster than ptrace but requires indirect uaccess like for 4gb-split. > But it's very unlikely that I'll find time for that. Erm, UML is a systemcall emulator based on ptrace(). If you make it use any KVM backend there is 0 usecase for UML because we can just use qemu/kvmtool. Thanks, //richard -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Tue, Jul 8, 2014 at 12:33 PM, Richard Weinberger <richard@nod.at> wrote: > Am 08.07.2014 10:30, schrieb Konstantin Khlebnikov: >> On Tue, Jul 8, 2014 at 12:20 PM, Richard Weinberger <richard@nod.at> wrote: >>> Am 08.07.2014 10:16, schrieb Konstantin Khlebnikov: >>>> On Tue, Jul 8, 2014 at 12:01 PM, Richard Weinberger >>>> <richard.weinberger@gmail.com> wrote: >>>>> On Tue, Jul 8, 2014 at 7:48 AM, Konstantin Khlebnikov <koct9i@gmail.com> wrote: >>>>>> On Tue, Jul 8, 2014 at 2:05 AM, Andrew Morton <akpm@linux-foundation.org> wrote: >>>>>>> On Sat, 05 Jul 2014 15:22:38 +0400 Konstantin Khlebnikov <koct9i@gmail.com> wrote: >>>>>>> >>>>>>>> This fixes command # make checkstack for i386/x86_64. >>>>>>>> Looks like $UTS_MACHINE is exactly what scripts/checkstack.pl needs. >>>>>>>> >>>>>>>> By default $UTS_MACHINE is equal to $ARCH, but some arch/${ARCH}/Makefile >>>>>>>> overrides it. This patch updates it also in arch/x86/Makefile.um >>>>>>>> >>>>>>>> broken in ffee0de ("x86: Default to ARCH=x86 to avoid overriding CONFIG_64BIT") >>>>>>> >>>>>>> The changelog doesn't describe the bug which is being fixed. It should >>>>>>> do so please. If there are any compiler/make error messages then those >>>>>>> should be included. >>>>>>> >>>>>> >>>>>> Oh, ok. checkstalk.pl needs either i386 or x86_64, x86 isn't enough. >>>>>> >>>>>> $ make checkstack >>>>>> objdump -d vmlinux $(find . -name '*.ko') | \ >>>>>> perl /home/blind/src/linux-stable/scripts/checkstack.pl x86 >>>>>> wrong or unknown architecture "x86" >>>>> >>>>> And now we need ARCH, SUBARCH and UTS_MACHINE on UML? :-( >>>> >>>> Nope UTS_MACHINE is autodetected, see hunk Makefile.x86 in my patch. >>>> >>>> I thought about cleaning this part of UML. >>>> For example we could move arch/x86/um into arch/um/x86 and use # make >>>> ARCH=um/x86 >>> >>> No way. We moved the x86 stuff to arch/x86/ a few Years ago by design. >> >> Ok, fine. We could leave it in arch/x86/um and use make ARCH=x86/um > > I don't like this. Please keep ARCH=um as is. > >>> >>>> after collecting this stuff together it woud be easier to get rid of >>>> forever-broken parts. >>>> As I see UML has been designed to work everywhere but SMP seem never worked >>>> as well as any host os except of linux or other arch except x86. >>> >>> Currently UML runs only on x86_32/64. >>> Adding/fixing SMP support should be doable. >> >> This might be quite difficult on top of current ptrace-based design. >> I thought about running userspace in kvm context, this might be much >> faster than ptrace but requires indirect uaccess like for 4gb-split. >> But it's very unlikely that I'll find time for that. > > Erm, UML is a systemcall emulator based on ptrace(). > If you make it use any KVM backend there is 0 usecase for UML because we can just use qemu/kvmtool. But kernel stays in userspace, so it could be easily debugged. It's like merge kvmtool+linux into one application. > > Thanks, > //richard -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Am 08.07.2014 10:47, schrieb Konstantin Khlebnikov: > On Tue, Jul 8, 2014 at 12:33 PM, Richard Weinberger <richard@nod.at> wrote: >> Am 08.07.2014 10:30, schrieb Konstantin Khlebnikov: >>> On Tue, Jul 8, 2014 at 12:20 PM, Richard Weinberger <richard@nod.at> wrote: >>>> Am 08.07.2014 10:16, schrieb Konstantin Khlebnikov: >>>>> On Tue, Jul 8, 2014 at 12:01 PM, Richard Weinberger >>>>> <richard.weinberger@gmail.com> wrote: >>>>>> On Tue, Jul 8, 2014 at 7:48 AM, Konstantin Khlebnikov <koct9i@gmail.com> wrote: >>>>>>> On Tue, Jul 8, 2014 at 2:05 AM, Andrew Morton <akpm@linux-foundation.org> wrote: >>>>>>>> On Sat, 05 Jul 2014 15:22:38 +0400 Konstantin Khlebnikov <koct9i@gmail.com> wrote: >>>>>>>> >>>>>>>>> This fixes command # make checkstack for i386/x86_64. >>>>>>>>> Looks like $UTS_MACHINE is exactly what scripts/checkstack.pl needs. >>>>>>>>> >>>>>>>>> By default $UTS_MACHINE is equal to $ARCH, but some arch/${ARCH}/Makefile >>>>>>>>> overrides it. This patch updates it also in arch/x86/Makefile.um >>>>>>>>> >>>>>>>>> broken in ffee0de ("x86: Default to ARCH=x86 to avoid overriding CONFIG_64BIT") >>>>>>>> >>>>>>>> The changelog doesn't describe the bug which is being fixed. It should >>>>>>>> do so please. If there are any compiler/make error messages then those >>>>>>>> should be included. >>>>>>>> >>>>>>> >>>>>>> Oh, ok. checkstalk.pl needs either i386 or x86_64, x86 isn't enough. >>>>>>> >>>>>>> $ make checkstack >>>>>>> objdump -d vmlinux $(find . -name '*.ko') | \ >>>>>>> perl /home/blind/src/linux-stable/scripts/checkstack.pl x86 >>>>>>> wrong or unknown architecture "x86" >>>>>> >>>>>> And now we need ARCH, SUBARCH and UTS_MACHINE on UML? :-( >>>>> >>>>> Nope UTS_MACHINE is autodetected, see hunk Makefile.x86 in my patch. >>>>> >>>>> I thought about cleaning this part of UML. >>>>> For example we could move arch/x86/um into arch/um/x86 and use # make >>>>> ARCH=um/x86 >>>> >>>> No way. We moved the x86 stuff to arch/x86/ a few Years ago by design. >>> >>> Ok, fine. We could leave it in arch/x86/um and use make ARCH=x86/um >> >> I don't like this. Please keep ARCH=um as is. >> >>>> >>>>> after collecting this stuff together it woud be easier to get rid of >>>>> forever-broken parts. >>>>> As I see UML has been designed to work everywhere but SMP seem never worked >>>>> as well as any host os except of linux or other arch except x86. >>>> >>>> Currently UML runs only on x86_32/64. >>>> Adding/fixing SMP support should be doable. >>> >>> This might be quite difficult on top of current ptrace-based design. >>> I thought about running userspace in kvm context, this might be much >>> faster than ptrace but requires indirect uaccess like for 4gb-split. >>> But it's very unlikely that I'll find time for that. >> >> Erm, UML is a systemcall emulator based on ptrace(). >> If you make it use any KVM backend there is 0 usecase for UML because we can just use qemu/kvmtool. > > But kernel stays in userspace, so it could be easily debugged. > It's like merge kvmtool+linux into one application. You can already do this with qemu. It has a -gdb switch. Thanks, //richard -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Tue, Jul 8, 2014 at 12:50 PM, Richard Weinberger <richard@nod.at> wrote: > Am 08.07.2014 10:47, schrieb Konstantin Khlebnikov: >> On Tue, Jul 8, 2014 at 12:33 PM, Richard Weinberger <richard@nod.at> wrote: >>> Am 08.07.2014 10:30, schrieb Konstantin Khlebnikov: >>>> On Tue, Jul 8, 2014 at 12:20 PM, Richard Weinberger <richard@nod.at> wrote: >>>>> Am 08.07.2014 10:16, schrieb Konstantin Khlebnikov: >>>>>> On Tue, Jul 8, 2014 at 12:01 PM, Richard Weinberger >>>>>> <richard.weinberger@gmail.com> wrote: >>>>>>> On Tue, Jul 8, 2014 at 7:48 AM, Konstantin Khlebnikov <koct9i@gmail.com> wrote: >>>>>>>> On Tue, Jul 8, 2014 at 2:05 AM, Andrew Morton <akpm@linux-foundation.org> wrote: >>>>>>>>> On Sat, 05 Jul 2014 15:22:38 +0400 Konstantin Khlebnikov <koct9i@gmail.com> wrote: >>>>>>>>> >>>>>>>>>> This fixes command # make checkstack for i386/x86_64. >>>>>>>>>> Looks like $UTS_MACHINE is exactly what scripts/checkstack.pl needs. >>>>>>>>>> >>>>>>>>>> By default $UTS_MACHINE is equal to $ARCH, but some arch/${ARCH}/Makefile >>>>>>>>>> overrides it. This patch updates it also in arch/x86/Makefile.um >>>>>>>>>> >>>>>>>>>> broken in ffee0de ("x86: Default to ARCH=x86 to avoid overriding CONFIG_64BIT") >>>>>>>>> >>>>>>>>> The changelog doesn't describe the bug which is being fixed. It should >>>>>>>>> do so please. If there are any compiler/make error messages then those >>>>>>>>> should be included. >>>>>>>>> >>>>>>>> >>>>>>>> Oh, ok. checkstalk.pl needs either i386 or x86_64, x86 isn't enough. >>>>>>>> >>>>>>>> $ make checkstack >>>>>>>> objdump -d vmlinux $(find . -name '*.ko') | \ >>>>>>>> perl /home/blind/src/linux-stable/scripts/checkstack.pl x86 >>>>>>>> wrong or unknown architecture "x86" >>>>>>> >>>>>>> And now we need ARCH, SUBARCH and UTS_MACHINE on UML? :-( >>>>>> >>>>>> Nope UTS_MACHINE is autodetected, see hunk Makefile.x86 in my patch. >>>>>> >>>>>> I thought about cleaning this part of UML. >>>>>> For example we could move arch/x86/um into arch/um/x86 and use # make >>>>>> ARCH=um/x86 >>>>> >>>>> No way. We moved the x86 stuff to arch/x86/ a few Years ago by design. >>>> >>>> Ok, fine. We could leave it in arch/x86/um and use make ARCH=x86/um >>> >>> I don't like this. Please keep ARCH=um as is. >>> >>>>> >>>>>> after collecting this stuff together it woud be easier to get rid of >>>>>> forever-broken parts. >>>>>> As I see UML has been designed to work everywhere but SMP seem never worked >>>>>> as well as any host os except of linux or other arch except x86. >>>>> >>>>> Currently UML runs only on x86_32/64. >>>>> Adding/fixing SMP support should be doable. >>>> >>>> This might be quite difficult on top of current ptrace-based design. >>>> I thought about running userspace in kvm context, this might be much >>>> faster than ptrace but requires indirect uaccess like for 4gb-split. >>>> But it's very unlikely that I'll find time for that. >>> >>> Erm, UML is a systemcall emulator based on ptrace(). >>> If you make it use any KVM backend there is 0 usecase for UML because we can just use qemu/kvmtool. >> >> But kernel stays in userspace, so it could be easily debugged. >> It's like merge kvmtool+linux into one application. > > You can already do this with qemu. It has a -gdb switch. I know. But debugging/profiling of kernel code is much easier when it runs in userspace. I think this is the last use case where uml might beat normal hardware accelerated qemu/kvm. But without SMP and with that high overhead on each syscall and context/mm switch it's mostly useless. > > Thanks, > //richard -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Am 08.07.2014 11:03, schrieb Konstantin Khlebnikov: > I know. But debugging/profiling of kernel code is much easier when it > runs in userspace. > I think this is the last use case where uml might beat normal hardware > accelerated qemu/kvm. > But without SMP and with that high overhead on each syscall and > context/mm switch it's mostly useless. The major use case of UML is that you can run it on hardware without KVM support. Everyone else is using KVM. Thanks, //richard -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Tue, Jul 8, 2014 at 11:06 AM, Richard Weinberger <richard@nod.at> wrote: > Am 08.07.2014 11:03, schrieb Konstantin Khlebnikov: >> I know. But debugging/profiling of kernel code is much easier when it >> runs in userspace. >> I think this is the last use case where uml might beat normal hardware >> accelerated qemu/kvm. >> But without SMP and with that high overhead on each syscall and >> context/mm switch it's mostly useless. > > The major use case of UML is that you can run it on hardware without > KVM support. > Everyone else is using KVM. And that you don't need root permissions to run it. Which is why I'm still interested in an ARM port. Need... More... Spare... Time... Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Am 08.07.2014 11:09, schrieb Geert Uytterhoeven: > On Tue, Jul 8, 2014 at 11:06 AM, Richard Weinberger <richard@nod.at> wrote: >> Am 08.07.2014 11:03, schrieb Konstantin Khlebnikov: >>> I know. But debugging/profiling of kernel code is much easier when it >>> runs in userspace. >>> I think this is the last use case where uml might beat normal hardware >>> accelerated qemu/kvm. >>> But without SMP and with that high overhead on each syscall and >>> context/mm switch it's mostly useless. >> >> The major use case of UML is that you can run it on hardware without >> KVM support. >> Everyone else is using KVM. > > And that you don't need root permissions to run it. > Which is why I'm still interested in an ARM port. > Need... More... Spare... Time... You can use KVM also without being root. It depends on the rights of /dev/kvm. But yes, an ARM ports would be nice to have. :) Thanks, //richard -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Tue, Jul 8, 2014 at 11:14 AM, Richard Weinberger <richard@nod.at> wrote: >> And that you don't need root permissions to run it. > > You can use KVM also without being root. > It depends on the rights of /dev/kvm. Which are controlled by... root. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Am 08.07.2014 11:22, schrieb Geert Uytterhoeven: > On Tue, Jul 8, 2014 at 11:14 AM, Richard Weinberger <richard@nod.at> wrote: >>> And that you don't need root permissions to run it. >> >> You can use KVM also without being root. >> It depends on the rights of /dev/kvm. > > Which are controlled by... root. Okay, you need to run KVM on machines where root does not like you? ;-) Thanks, //richard -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Tue, Jul 8, 2014 at 9:48 AM, Konstantin Khlebnikov <koct9i@gmail.com> wrote: > On Tue, Jul 8, 2014 at 2:05 AM, Andrew Morton <akpm@linux-foundation.org> wrote: >> On Sat, 05 Jul 2014 15:22:38 +0400 Konstantin Khlebnikov <koct9i@gmail.com> wrote: >> >>> This fixes command # make checkstack for i386/x86_64. >>> Looks like $UTS_MACHINE is exactly what scripts/checkstack.pl needs. >>> >>> By default $UTS_MACHINE is equal to $ARCH, but some arch/${ARCH}/Makefile >>> overrides it. This patch updates it also in arch/x86/Makefile.um >>> >>> broken in ffee0de ("x86: Default to ARCH=x86 to avoid overriding CONFIG_64BIT") >> >> The changelog doesn't describe the bug which is being fixed. It should >> do so please. If there are any compiler/make error messages then those >> should be included. >> > > Oh, ok. checkstalk.pl needs either i386 or x86_64, x86 isn't enough. > > $ make checkstack > objdump -d vmlinux $(find . -name '*.ko') | \ > perl /home/blind/src/linux-stable/scripts/checkstack.pl x86 > wrong or unknown architecture "x86" I guess it still not descriptive enough. checkstack.pl searches patterns of machine instructions which are usually used for allocating stack frames. commit ffee0de ("x86: Default to ARCH=x86 to avoid overriding CONFIG_64BIT") had merged ARCH=i386 and ARCH=x86_64 into one ARCH=x86. checkstalk.pl needs either i386 or x86_64, x86 isn't enough. $ make checkstack objdump -d vmlinux $(find . -name '*.ko') | \ perl linux/scripts/checkstack.pl x86 wrong or unknown architecture "x86" This also might be fixed in checkstack.pl: i386 and x86_64 differs only in name of sp register: %esp/%rsp. -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/Makefile b/Makefile index b0ee945..50fb690 100644 --- a/Makefile +++ b/Makefile @@ -1416,18 +1416,9 @@ endif #ifeq ($(mixed-targets),1) PHONY += checkstack kernelrelease kernelversion image_name -# UML needs a little special treatment here. It wants to use the host -# toolchain, so needs $(SUBARCH) passed to checkstack.pl. Everyone -# else wants $(ARCH), including people doing cross-builds, which means -# that $(SUBARCH) doesn't work here. -ifeq ($(ARCH), um) -CHECKSTACK_ARCH := $(SUBARCH) -else -CHECKSTACK_ARCH := $(ARCH) -endif checkstack: $(OBJDUMP) -d vmlinux $$(find . -name '*.ko') | \ - $(PERL) $(src)/scripts/checkstack.pl $(CHECKSTACK_ARCH) + $(PERL) $(src)/scripts/checkstack.pl $(UTS_MACHINE) kernelrelease: @echo "$(KERNELVERSION)$$($(CONFIG_SHELL) $(srctree)/scripts/setlocalversion $(srctree))" diff --git a/arch/x86/Makefile.um b/arch/x86/Makefile.um index 36b62bc..8fc912b 100644 --- a/arch/x86/Makefile.um +++ b/arch/x86/Makefile.um @@ -3,6 +3,7 @@ core-y += arch/x86/crypto/ ifeq ($(CONFIG_X86_32),y) START := 0x8048000 +UTS_MACHINE := i386 LDFLAGS += -m elf_i386 ELF_ARCH := i386 ELF_FORMAT := elf32-i386 @@ -47,6 +48,7 @@ KBUILD_AFLAGS += -m64 LDFLAGS += -m elf_x86_64 KBUILD_CPPFLAGS += -m64 +UTS_MACHINE := x86_64 ELF_ARCH := i386:x86-64 ELF_FORMAT := elf64-x86-64
This fixes command # make checkstack for i386/x86_64. Looks like $UTS_MACHINE is exactly what scripts/checkstack.pl needs. By default $UTS_MACHINE is equal to $ARCH, but some arch/${ARCH}/Makefile overrides it. This patch updates it also in arch/x86/Makefile.um broken in ffee0de ("x86: Default to ARCH=x86 to avoid overriding CONFIG_64BIT") Signed-off-by: Konstantin Khlebnikov <koct9i@gmail.com> --- Makefile | 11 +---------- arch/x86/Makefile.um | 2 ++ 2 files changed, 3 insertions(+), 10 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html