Re: [PATCH 00/02] kexec: Move segment code to assembly files

From: Magnus Damm
Date: Tue Dec 05 2006 - 10:08:57 EST


On 12/5/06, Vivek Goyal <vgoyal@xxxxxxxxxx> wrote:
On Tue, Dec 05, 2006 at 10:37:57PM +0900, Magnus Damm wrote:
> kexec: Move segment code to assembly files
>
> The following patches rearrange the lowlevel kexec code to perform idt,
> gdt and segment setup code in assembly on the code page instead of doing
> it in inline assembly in the C files.
>

I don't think we should be doing this. I would rather prefer code to
keep in C for easier debugging, readability and maintenance.

I prefer to write code in C too, but I don't see how wrapping assembly
instructions in inline C makes the code any easier compared to raw
assembly. Either you understand the assembly or you don't.

> Our dom0 Xen port of kexec and kdump executes the code page from the
> hypervisor when kexec:ing into a new kernel. Putting as much code as
> possible on the code page allows us to keep the amount of duplicated
> code low.
>

Is Xen going upstream now? I heard now lhype+KVM seems to be the way.
Even if it is required, we should do it once Xen goes in.

I am not sure about status of the Xen merging effort. domU seemed to
be the top priority last time I heard something, but this change only
affects dom0 so it is probably even further away.

You have already moved page table setup code to assembly and we should
be getting rid of that code too.

This was recommended to me by Eric if I'm not mistaken, but if we can
move out parts of the assembly code to C then that would be great.

I would rather live with duplicated code than moving more code in assembly
which can be written in C. Understanding and debugging assembly code
is such a big pain.

Again, I think that is true for C code - not for inline assembly in C
files. But I guess you are talking about the already merged page table
a patches. My first version implemented the code in C, have a look at
the function create_mapping() which I think is very clear:

http://lists.osdl.org/pipermail/fastboot/2006-May/002838.html

The important question IMO is if this should be merged ahead of the
rest of the Xen stuff, and maybe it shouldn't.

Thanks,

/ magnus
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/