RE: [Fault-injection-developer] RE: [PATCH] 2.5.44-kp2-fi1
Status: Alpha
Brought to you by:
rustyl
|
From: Lynch, R. <rus...@in...> - 2002-11-14 07:06:10
|
Actually, it's good practive to reply on each of the points, and argue
when you do not agree.
-rusty
-----Original Message-----
From: Zhuang, Louis [mailto:lou...@in...]
Sent: Wednesday, November 13, 2002 10:59 PM
To: 'Rusty Lynch'; Gao, Kevin; Wang, Frank; Wang, Stanley
Cc: fau...@li...
Subject: [Fault-injection-developer] RE: [PATCH] 2.5.44-kp2-fi1
As you wish, I am learning to speak rightly in a huge maillist. So I use the
maillist as a playground to practise. ;-) I'll refine my announcement when
the next patch. -Louis
> -----Original Message-----
> From: Rusty Lynch [mailto:ru...@li...]
> Sent: Thursday, November 14, 2002 2:48 PM
> To: Zhuang, Louis; Gao, Kevin; Wang, Frank; Wang, Stanley
> Cc: fau...@li...
> Subject: Re: [Fault-injection-developer] [PATCH] 2.5.44-kp2-fi1
>
>
>
> ----- Original Message -----
> From: "Zhuang, Louis" <lou...@in...>
> To: "Gao, Kevin" <kev...@in...>; "Wang, Frank"
> <fra...@in...>; "Wang, Stanley"
> <sta...@in...>; "Zhuang,
> Louis" <lou...@in...>
> Cc: <fau...@li...>
> Sent: Wednesday, November 13, 2002 6:51 PM
> Subject: [Fault-injection-developer] [PATCH] 2.5.44-kp2-fi1
>
>
> > Dear all,
> > Following is the first fault injection patch against
> 2.5.x sserials
> > kernel.
> 2.5.x is way to vauge. State exactly which version and any
> patches you depend on. It looks like you implemented on
> 2.5.44 with the kprobes patch applied.
>
> >kernel module part is ongoing.
> Everything is ongoing... unless you think this code is perfect :->
> > Please review it and give us
> > feedback.
>
> Check out some of the other patches submitted to LKML for some
> more hints on what to describe in your intro. For example:
>
> State which files are touched and why. Keep in mind that this
> patch will need to be submitted to lkml, where most people have
> never heard of FITH and almost everyone will look at this patch as
> yet another something else to break or slow down their server.
>
> > - Louis
> >
> > diff -Nur -X /root/dontdiff 44-kp/Makefile 44-kp-fi/Makefile
> > --- 44-kp/Makefile Sat Oct 19 12:01:12 2002
> > +++ 44-kp-fi/Makefile Wed Nov 13 16:28:48 2002
> > @@ -1,7 +1,7 @@
> > VERSION = 2
> > PATCHLEVEL = 5
> > SUBLEVEL = 44
> > -EXTRAVERSION =
> > +EXTRAVERSION =kp-fi
> Take this out.
>
> >
> > # *DOCUMENTATION*
> > # To see a list of typical targets execute "make help"
> > diff -Nur -X /root/dontdiff 44-kp/arch/i386/Config.help
> > 44-kp-fi/arch/i386/Config.help
> > --- 44-kp/arch/i386/Config.help Wed Nov 13 16:24:41 2002
> > +++ 44-kp-fi/arch/i386/Config.help Thu Nov 14 09:43:55 2002
>
> All fo the config stuff has been replaced in 2.5.46. Please
> update with the new Kconfig format.
>
> > @@ -1108,3 +1108,6 @@
> > register_kprobe(), and providing a callback
> function. This is useful
> > for kernel debugging, non-intrusive instrumentation
> and testing. If
> > in doubt, say "N".
> > + CONFIG_FI
> > + Say Y here if you want to enable Fault Injection
> (FI) mechanism. The FI
> > + can monitor MMIO/IO access in kernel.
> > diff -Nur -X /root/dontdiff 44-kp/arch/i386/config.in
> > 44-kp-fi/arch/i386/config.in
> > --- 44-kp/arch/i386/config.in Wed Nov 13 16:25:00 2002
> > +++ 44-kp-fi/arch/i386/config.in Thu Nov 14 09:46:44 2002
> > @@ -469,6 +469,9 @@
> > fi
> > bool ' Load all symbols for debugging/kksymoops'
> CONFIG_KALLSYMS
> > bool ' Kprobes' CONFIG_KPROBES
> > + if [ "$CONFIG_KPROBES" = "y" ]; then
> > + bool ' Fault Injection' CONFIG_FI
> > + fi
> > fi
> >
> > if [ "$CONFIG_X86_LOCAL_APIC" = "y" ]; then
> > diff -Nur -X /root/dontdiff 44-kp/arch/i386/kernel/i386_ksyms.c
> > 44-kp-fi/arch/i386/kernel/i386_ksyms.c
> > --- 44-kp/arch/i386/kernel/i386_ksyms.c Sat Oct 19 12:02:34 2002
> > +++ 44-kp-fi/arch/i386/kernel/i386_ksyms.c Thu Nov 14
> 10:25:53 2002
> > @@ -32,6 +32,7 @@
> > #include <asm/tlbflush.h>
> > #include <asm/nmi.h>
> > #include <asm/edd.h>
> > +#include <asm/fi.h>
> >
> > extern void dump_thread(struct pt_regs *, struct user *);
> > extern spinlock_t rtc_lock;
> > @@ -207,3 +208,9 @@
> > EXPORT_SYMBOL(edd);
> > EXPORT_SYMBOL(eddnr);
> > #endif
> > +
> > +#ifdef CONFIG_FI
> > +EXPORT_SYMBOL(irq_desc);
> > +EXPORT_SYMBOL(fi_page_fault);
> > +EXPORT_SYMBOL(fi_post_page_fault);
> > +#endif
> > diff -Nur -X /root/dontdiff 44-kp/arch/i386/kernel/traps.c
> > 44-kp-fi/arch/i386/kernel/traps.c
> > --- 44-kp/arch/i386/kernel/traps.c Wed Nov 13 16:25:00 2002
> > +++ 44-kp-fi/arch/i386/kernel/traps.c Thu Nov 14 09:34:36 2002
> > @@ -47,6 +47,7 @@
> > #include <asm/smp.h>
> > #include <asm/pgalloc.h>
> > #include <asm/arch_hooks.h>
> > +#include <asm/fi.h>
> >
> > #include <linux/irq.h>
> > #include <linux/module.h>
> > @@ -559,6 +560,9 @@
> > return 0;
> > }
> >
> > +int (*fi_post_page_fault) (unsigned long condition,
> > + struct pt_regs *reg);
> > +
> > /*
> > * Our handling of the processor debug registers is
> non-trivial.
> > * We do not clear them on entry and exit from the
> kernel. Therefore
> > @@ -595,6 +599,9 @@
> > if (kwatch_handler(condition, regs))
> > return 1;
> >
> > + if (fi_post_page_fault && fi_post_page_fault(condition, regs))
> > + return 1;
> > +
> > /* Interrupts not disabled for normal trap handling. */
> > restore_interrupts(regs);
> >
> > diff -Nur -X /root/dontdiff 44-kp/arch/i386/mm/fault.c
> > 44-kp-fi/arch/i386/mm/fault.c
> > --- 44-kp/arch/i386/mm/fault.c Wed Nov 13 16:24:41 2002
> > +++ 44-kp-fi/arch/i386/mm/fault.c Thu Nov 14 09:33:35 2002
> > @@ -26,6 +26,7 @@
> > #include <asm/pgalloc.h>
> > #include <asm/hardirq.h>
> > #include <asm/desc.h>
> > +#include <asm/fi.h>
> >
> > extern void die(const char *,struct pt_regs *,long);
> >
> > @@ -127,6 +128,7 @@
> > }
> >
> > asmlinkage void do_invalid_op(struct pt_regs *, unsigned long);
> > +int (*fi_page_fault) ( struct pt_regs *regs, unsigned
> long address);
> >
> > /*
> > * This routine handles page faults. It determines
> the address,
> > @@ -154,7 +156,9 @@
> >
> > if (kprobe_running() && kprobe_fault_handler(regs, 14))
> > return;
> > -
> > + if (fi_page_fault && fi_page_fault(regs, address))
> > + return;
> > +
> > /* It's safe to allow irq's after cr2 has been saved */
> > if (regs->eflags & X86_EFLAGS_IF)
> > local_irq_enable();
> > diff -Nur -X /root/dontdiff 44-kp/drivers/net/e100/e100.h
> > 44-kp-fi/drivers/net/e100/e100.h
> > --- 44-kp/drivers/net/e100/e100.h Sat Oct 19 12:01:20 2002
> > +++ 44-kp-fi/drivers/net/e100/e100.h Wed Nov 13 17:15:28 2002
> > @@ -100,7 +100,7 @@
> >
> > #define E100_MAX_NIC 16
> >
> > -#define E100_MAX_SCB_WAIT 100 /* Max udelays in wait_scb */
> > +#define E100_MAX_SCB_WAIT 5000 /* Max udelays in wait_scb */
>
> Did you mean to include this?
>
> > #define E100_MAX_CU_IDLE_WAIT 50 /* Max udelays in
> wait_cus_idle */
> >
> > /* HWI feature related constant */
> > diff -Nur -X /root/dontdiff 44-kp/include/asm-i386/fi.h
> > 44-kp-fi/include/asm-i386/fi.h
> > --- 44-kp/include/asm-i386/fi.h Thu Jan 1 08:00:00 1970
> > +++ 44-kp-fi/include/asm-i386/fi.h Thu Nov 14 09:26:53 2002
> > @@ -0,0 +1,8 @@
> > +#ifndef _ASM_FI_H
> > +#define _ASM_FI_H
> > +#ifdef CONFIG_FI
>
> We should us _I386_FI_H or _ASMI386_FI_H since other
> architectures could have a fi.h also.
>
> > +extern int (*fi_page_fault) ( struct pt_regs *regs,
> unsigned long
> address);
> > +extern int (*fi_post_page_fault) (unsigned long condition,
> > + struct pt_regs *reg);
> > +#endif
> > +#endif /* _ASM_FI_H */
> > diff -Nur -X /root/dontdiff 44-kp/kernel/ksyms.c
> 44-kp-fi/kernel/ksyms.c
> > --- 44-kp/kernel/ksyms.c Sat Oct 19 12:01:08 2002
> > +++ 44-kp-fi/kernel/ksyms.c Thu Nov 14 10:25:32 2002
> > @@ -601,3 +601,7 @@
> >
> > /* debug */
> > EXPORT_SYMBOL(dump_stack);
> > +
> > +#ifdef CONFIG_FI
> > +EXPORT_SYMBOL(module_list);
> > +#endif
> >
> >
> > -------------------------------------------------------
> > This sf.net email is sponsored by: Are you worried about
> > your web server security? Click here for a FREE Thawte
> > Apache SSL Guide and answer your Apache SSL security
> > needs: http://www.gothawte.com/rd523.html
> > _______________________________________________
> > Fault-injection-developer mailing list
> > Fau...@li...
> >
https://lists.sourceforge.net/lists/listinfo/fault-injection-developer
-------------------------------------------------------
This sf.net email is sponsored by: To learn the basics of securing
your web site with SSL, click here to get a FREE TRIAL of a Thawte
Server Certificate: http://www.gothawte.com/rd524.html
_______________________________________________
Fault-injection-developer mailing list
Fau...@li...
https://lists.sourceforge.net/lists/listinfo/fault-injection-developer
|