Re: [RFC -tip] x86: introduce ENTRY(KPROBE)_X86 assembly helpersto catch unbalanced declaration

From: Ingo Molnar
Date: Sun Nov 23 2008 - 14:31:59 EST



* Cyrill Gorcunov <gorcunov@xxxxxxxxx> wrote:

> [Ingo Molnar - Sun, Nov 23, 2008 at 08:00:25PM +0100]
> |
> | * Cyrill Gorcunov <gorcunov@xxxxxxxxx> wrote:
> |
> | > [Ingo Molnar - Sun, Nov 23, 2008 at 07:54:17PM +0100]
> | > |
> | > | * Cyrill Gorcunov <gorcunov@xxxxxxxxx> wrote:
> | > |
> | > | > [Sam Ravnborg - Sun, Nov 23, 2008 at 07:12:48PM +0100]
> | > | > ...
> | > | > | >
> | > | > | > I don't have -next tree on my laptop, neither cross-compile tools but
> | > | > | > if someone could test it -- it would be great. But I used gas macros
> | > | > | > here -- i doubt other architectures has the same syntax. At least
> | > | > | > PDP-11 would beat us with ';' symbol :)
> | > | > |
> | > | > | If we include this in any of the 100+ trees that Stephen sucks
> | > | > | into -next we will get it tried out.
> | > | > |
> | > | > | Ingo has so and so does others so getting it into -next
> | > | > | is rather easy. Then the automated builds will tell of if
> | > | > | it fails on any of the toolchains used there.
> | > | > |
> | > | > | Sam
> | > | > |
> | > | >
> | > | > Sam, to be clear, you mean that I could put this stuff into general
> | > | > include/linux/linkage.h with general names as ENTRY/END and the same
> | > | > for KPROBE so it could be merged into -next tree for testing? If
> | > | > yes, that as I said there will be a lot of errors so build will
> | > | > stuck in a moment 'cause of unbalanced ENTRY. Not sure if it's a
> | > | > good idea :)
> | > |
> | > | neither do i think it's a particularly good idea. Lets first prototype
> | > | it on x86, see how it works out in practice, and then see whether it
> | > | can be generic. Then it can just be lifted into the generic linkage.h
> | > | separately, and we can then see whether it causes new problems.
> | > |
> | > | Ingo
> | > |
> | >
> | > So be it :) Btw I think Alexander is right -- better to use .warning
> | > instead of .error (and without .abort) even on x86. Could you update
> | > Ingo?
> |
> | .error is perfectly fine because that way automated tests that we do
> | on -tip will catch any bugs, we really dont want to mis-annotate these
> | things. Warnings tend to only pile up and rarely get fixed - without
> | enforcement mechanism that causes people to fix them.
> |
> | Ingo
> |
>
> Just got an error in implementation -- we have to support nested
> ENTRY without problem. Will check. What a surprise :-)

do you mean:

ENTRY(system_call)
ENTRY(system_call_after_swapgs)
...
END(system_call)

that's more of a bug - system_call_after_swapgs is not a real entry
point, we just need the label of it. Perhaps something like __ENTRY()
for that case would be enough.

nor is this one real:

ENTRY(interrupt)
ENTRY(irq_entries_start)
...
END(irq_entries_start)
END(interrupt)

do we really need .irq_entries_start?

I think in general we should define a flat hierarchy of entries.

Ingo
--
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/