LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* [PATCH] Configure out doublefault exception handler (Linux Tiny)
@ 2008-02-12 10:08 Thomas Petazzoni
  2008-02-12 13:04 ` Sam Ravnborg
  2008-02-17 17:59 ` Ingo Molnar
  0 siblings, 2 replies; 9+ messages in thread
From: Thomas Petazzoni @ 2008-02-12 10:08 UTC (permalink / raw)
  To: Andrew Morton, Ingo Molnar, Thomas Gleixner, H. Anvin, Matt Mackall
  Cc: Linux-tiny, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 2268 bytes --]

Hi,

Enclosed patch allows to configure out the doublefault exception
handler. The original patch of Matt Mackall added the option in
init/Kconfig, but because this is a x86-specific thing, I thought
arch/x86/Kconfig would be a better place. Is that correct ?

This patch applies on top on the DMI scanning code patch I've sent
yesterday, because the DOUBLEFAULT config option is right after the DMI
config option. Is that ok, or should I propose a patch on top of a
vanilla 2.6.25-rc1 ?

Thanks for your review and comments,

Thomas

---


This patch adds the ability to disable the doublefault exception
handler, in order to save some kernel space. The doublefault exception
handler was already conditionnaly compiled using CONFIG_DOUBLEFAULT,
but there was no way to change the value of this configuration
option. The option is only visible if CONFIG_EMBEDDED is selected, in
order to not confuse other users.

The kernel space savings are as follows:

   text    data     bss     dec     hex filename
1076076  128656   98304 1303036  13e1fc vmlinux.before
1075772  119952   94208 1289932  13aecc vmlinux.after
   -304   -8704   -4096  -13104   -3330 +/-

This patch is part of the Linux Tiny project, and is based on previous
work by Matt Mackall <mpm@selenic.com>.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

---
 arch/x86/Kconfig |    7 +++++++
 1 file changed, 7 insertions(+)

Index: linux/arch/x86/Kconfig
===================================================================
--- linux.orig/arch/x86/Kconfig
+++ linux/arch/x86/Kconfig
@@ -439,6 +439,13 @@
 	  affected by entries in the DMI blacklist. Required by PNP
 	  BIOS code.
 
+config DOUBLEFAULT
+	default y
+	bool "Enable doublefault exception handler" if EMBEDDED
+	help
+	  This option allows trapping of rare doublefault exceptions
+	  that would otherwise cause a system to silently reboot.
+
 config GART_IOMMU
 	bool "GART IOMMU support" if EMBEDDED
 	default y


-- 
Thomas Petazzoni, thomas.petazzoni@enix.org, http://thomas.enix.org
Jabber, thomas.petazzoni@jabber.dk
Toulibre, http://www.toulibre.org - APRIL, http://www.april.org
Fingerprint : 0BE1 4CF3 CEA4 AC9D CC6E  1624 F653 CB30 98D3 F7A7

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] Configure out doublefault exception handler (Linux Tiny)
  2008-02-12 10:08 [PATCH] Configure out doublefault exception handler (Linux Tiny) Thomas Petazzoni
@ 2008-02-12 13:04 ` Sam Ravnborg
  2008-02-12 14:00   ` Thomas Petazzoni
  2008-02-17 17:59 ` Ingo Molnar
  1 sibling, 1 reply; 9+ messages in thread
From: Sam Ravnborg @ 2008-02-12 13:04 UTC (permalink / raw)
  To: Thomas Petazzoni
  Cc: Andrew Morton, Ingo Molnar, Thomas Gleixner, H. Anvin,
	Matt Mackall, Linux-tiny, linux-kernel

On Tue, Feb 12, 2008 at 11:08:25AM +0100, Thomas Petazzoni wrote:
> Hi,
> 
> Enclosed patch allows to configure out the doublefault exception
> handler. The original patch of Matt Mackall added the option in
> init/Kconfig, but because this is a x86-specific thing, I thought
> arch/x86/Kconfig would be a better place. Is that correct ?
> 
> This patch applies on top on the DMI scanning code patch I've sent
> yesterday, because the DOUBLEFAULT config option is right after the DMI
> config option. Is that ok, or should I propose a patch on top of a
> vanilla 2.6.25-rc1 ?
> 
> Thanks for your review and comments,

We already have this in arch/x86/Kconfig.debug:

config DOUBLEFAULT
        default y
        bool "Enable doublefault exception handler" if EMBEDDED
        depends on X86_32
        help
          This option allows trapping of rare doublefault exceptions that
          would otherwise cause a system to silently reboot. Disabling this
          option saves about 4k and might cause you much additional grey
          hair.


It may need a small update if this is valid for both 32 and 64 bit.

	Sam

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] Configure out doublefault exception handler (Linux Tiny)
  2008-02-12 13:04 ` Sam Ravnborg
@ 2008-02-12 14:00   ` Thomas Petazzoni
  2008-02-12 16:02     ` Matt Mackall
  0 siblings, 1 reply; 9+ messages in thread
From: Thomas Petazzoni @ 2008-02-12 14:00 UTC (permalink / raw)
  To: Sam Ravnborg
  Cc: Linux-tiny, H. Anvin, Ingo Molnar, linux-kernel, Andrew Morton,
	Thomas Gleixner

[-- Attachment #1: Type: text/plain, Size: 583 bytes --]

Hi Sam,

Le Tue, 12 Feb 2008 14:04:28 +0100,
Sam Ravnborg <sam@ravnborg.org> a écrit :

> We already have this in arch/x86/Kconfig.debug:

Oops, my usual "find . -name Kconfig" missed it. Thanks for pointing it
out!

> It may need a small update if this is valid for both 32 and 64 bit.

Doesn't seem so: there's only a doublefault_32.c, no doublefault_64.c.
However, I don't know the details of x86_64.

Thanks,

Thomas
-- 
Thomas Petazzoni, Free Electrons
Free Embedded Linux Training Materials
on http://free-electrons.com/training
(More than 1500 pages!)

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] Configure out doublefault exception handler (Linux Tiny)
  2008-02-12 14:00   ` Thomas Petazzoni
@ 2008-02-12 16:02     ` Matt Mackall
  2008-02-15 12:00       ` Andi Kleen
  0 siblings, 1 reply; 9+ messages in thread
From: Matt Mackall @ 2008-02-12 16:02 UTC (permalink / raw)
  To: Thomas Petazzoni
  Cc: Sam Ravnborg, Linux-tiny, Andrew Morton, linux-kernel, H. Anvin,
	Ingo Molnar, Thomas Gleixner


On Tue, 2008-02-12 at 15:00 +0100, Thomas Petazzoni wrote:
> Hi Sam,
> 
> Le Tue, 12 Feb 2008 14:04:28 +0100,
> Sam Ravnborg <sam@ravnborg.org> a écrit :
> 
> > We already have this in arch/x86/Kconfig.debug:
> 
> Oops, my usual "find . -name Kconfig" missed it. Thanks for pointing it
> out!

The fact that you didn't have to add any makefile bits should have been
a hint.

> > It may need a small update if this is valid for both 32 and 64 bit.
> 
> Doesn't seem so: there's only a doublefault_32.c, no doublefault_64.c.
> However, I don't know the details of x86_64.

I bet there's some doublefault-handling code hiding somewhere. It's not
the sort of thing it'd make sense to take out of the architecture.

-- 
Mathematics is the supreme nostalgia of our time.


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] Configure out doublefault exception handler (Linux Tiny)
  2008-02-12 16:02     ` Matt Mackall
@ 2008-02-15 12:00       ` Andi Kleen
  2008-02-15 17:02         ` Matt Mackall
  0 siblings, 1 reply; 9+ messages in thread
From: Andi Kleen @ 2008-02-15 12:00 UTC (permalink / raw)
  To: Matt Mackall
  Cc: Thomas Petazzoni, Sam Ravnborg, Linux-tiny, Andrew Morton,
	linux-kernel, H. Anvin, Ingo Molnar, Thomas Gleixner

Matt Mackall <mpm@selenic.com> writes:
>
> I bet there's some doublefault-handling code hiding somewhere. It's not
> the sort of thing it'd make sense to take out of the architecture.

The big question is if it makes sense taking out of a kernel at all.
I still think the answer is no.

Or have you considered replacing die() and show_trace() etc. with a single
panic("the tiny gods say this won't happen") yet? That would be roughly 
equivalent.

-Andi

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] Configure out doublefault exception handler (Linux Tiny)
  2008-02-15 12:00       ` Andi Kleen
@ 2008-02-15 17:02         ` Matt Mackall
  2008-02-15 18:04           ` Andi Kleen
  0 siblings, 1 reply; 9+ messages in thread
From: Matt Mackall @ 2008-02-15 17:02 UTC (permalink / raw)
  To: Andi Kleen
  Cc: Thomas Petazzoni, Sam Ravnborg, Linux-tiny, Andrew Morton,
	linux-kernel, H. Anvin, Ingo Molnar, Thomas Gleixner


On Fri, 2008-02-15 at 13:00 +0100, Andi Kleen wrote:
> Matt Mackall <mpm@selenic.com> writes:
> >
> > I bet there's some doublefault-handling code hiding somewhere. It's not
> > the sort of thing it'd make sense to take out of the architecture.
> 
> The big question is if it makes sense taking out of a kernel at all.
> I still think the answer is no.
> 
> Or have you considered replacing die() and show_trace() etc. with a single
> panic("the tiny gods say this won't happen") yet? That would be roughly 
> equivalent.

It's not a matter of "won't happen" so much as "not a damn thing we can
do when it does". There's very little point in having this sort of code
in a mass-market camera, phone, DVR, TV, etc. (of which there are
already millions running Linux). These devices have no console and
basically zero serviceability beyond firmware upgrades. If taking these
vestigial debugging features out means we can cram in more features that
consumers can actually see and will pay for, that's precisely what's
going to happen.

-- 
Mathematics is the supreme nostalgia of our time.


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] Configure out doublefault exception handler (Linux Tiny)
  2008-02-15 18:04           ` Andi Kleen
@ 2008-02-15 17:52             ` Matt Mackall
  0 siblings, 0 replies; 9+ messages in thread
From: Matt Mackall @ 2008-02-15 17:52 UTC (permalink / raw)
  To: Andi Kleen
  Cc: Thomas Petazzoni, Sam Ravnborg, Linux-tiny, Andrew Morton,
	linux-kernel, H. Anvin, Ingo Molnar, Thomas Gleixner


On Fri, 2008-02-15 at 19:04 +0100, Andi Kleen wrote:
> > do when it does". There's very little point in having this sort of code
> > in a mass-market camera, phone, DVR, TV, etc. (of which there are
> 
> Do any of them run with a x86 CPU?

Yes. The last PVR I worked on was just such a device, as was the very
first device I put Linux on (1.2 era). There are several families of x86
CPUs targeted at embedded so this shouldn't be a surprise.

-- 
Mathematics is the supreme nostalgia of our time.


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] Configure out doublefault exception handler (Linux Tiny)
  2008-02-15 17:02         ` Matt Mackall
@ 2008-02-15 18:04           ` Andi Kleen
  2008-02-15 17:52             ` Matt Mackall
  0 siblings, 1 reply; 9+ messages in thread
From: Andi Kleen @ 2008-02-15 18:04 UTC (permalink / raw)
  To: Matt Mackall
  Cc: Andi Kleen, Thomas Petazzoni, Sam Ravnborg, Linux-tiny,
	Andrew Morton, linux-kernel, H. Anvin, Ingo Molnar,
	Thomas Gleixner

> do when it does". There's very little point in having this sort of code
> in a mass-market camera, phone, DVR, TV, etc. (of which there are

Do any of them run with a x86 CPU?

-Andi

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] Configure out doublefault exception handler (Linux Tiny)
  2008-02-12 10:08 [PATCH] Configure out doublefault exception handler (Linux Tiny) Thomas Petazzoni
  2008-02-12 13:04 ` Sam Ravnborg
@ 2008-02-17 17:59 ` Ingo Molnar
  1 sibling, 0 replies; 9+ messages in thread
From: Ingo Molnar @ 2008-02-17 17:59 UTC (permalink / raw)
  To: Thomas Petazzoni
  Cc: Andrew Morton, Thomas Gleixner, H. Anvin, Matt Mackall,
	Linux-tiny, linux-kernel


* Thomas Petazzoni <thomas.petazzoni@enix.org> wrote:

> Enclosed patch allows to configure out the doublefault exception 
> handler. The original patch of Matt Mackall added the option in 
> init/Kconfig, but because this is a x86-specific thing, I thought 
> arch/x86/Kconfig would be a better place. Is that correct ?

we already have it for 32-bit - would you mind to do a patch to extend 
this to 64-bit as well?

> This patch applies on top on the DMI scanning code patch I've sent 
> yesterday, because the DOUBLEFAULT config option is right after the 
> DMI config option. Is that ok, or should I propose a patch on top of a 
> vanilla 2.6.25-rc1 ?

please send patches against x86.git:

  http://people.redhat.com/mingo/x86.git/README

	Ingo

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2008-02-17 17:59 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-02-12 10:08 [PATCH] Configure out doublefault exception handler (Linux Tiny) Thomas Petazzoni
2008-02-12 13:04 ` Sam Ravnborg
2008-02-12 14:00   ` Thomas Petazzoni
2008-02-12 16:02     ` Matt Mackall
2008-02-15 12:00       ` Andi Kleen
2008-02-15 17:02         ` Matt Mackall
2008-02-15 18:04           ` Andi Kleen
2008-02-15 17:52             ` Matt Mackall
2008-02-17 17:59 ` Ingo Molnar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).