Hi Isaku,
Thank you for your comment. I attached a modified patch following
to your comment.
Thanks,
KAZ
Signed-off-by: Kazuhiro Suzuki <kaz@xxxxxxxxxxxxxx>
From: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
Subject: Re: [Xen-ia64-devel] [PATCH 0/12]MCA handler support for Xen/ia64 TAKE
2
Date: Tue, 28 Nov 2006 13:43:42 +0900
>
> Hi Kazuhiro.
> ia64_sal_get_state_info() can be called in interrupt context
> so that GFP_KERNEL shouldn't be used.
> irq_safe argument of ia64_log_get() should be checked?
>
>
> On Wed, Nov 08, 2006 at 07:24:16PM +0900, SUZUKI Kazuhiro wrote:
>
> > --- a/linux-2.6-xen-sparse/include/asm-ia64/sal.h 2006-09-13
> > 03:02:10.000000000 +0900
> > +++ b/linux-2.6-xen-sparse/include/asm-ia64/sal.h 2006-11-08
> > 16:02:49.000000000 +0900
> > @@ -42,6 +42,9 @@
> > #include <asm/pal.h>
> > #include <asm/system.h>
> > #include <asm/fpu.h>
> > +#ifdef CONFIG_XEN
> > +#include <asm/xen/xencomm.h>
> > +#endif
> >
> > extern spinlock_t sal_lock;
> >
> > @@ -686,10 +689,28 @@
> > /* Get the processor and platform information logged by SAL with respect
> > to the machine
> > * state at the time of the MCAs, INITs, CMCs, or CPEs.
> > */
> > +#ifdef CONFIG_XEN
> > +static inline u64 ia64_sal_get_state_info_size (u64 sal_info_type);
> > +#endif
> > +
> > static inline u64
> > ia64_sal_get_state_info (u64 sal_info_type, u64 *sal_info)
> > {
> > struct ia64_sal_retval isrv;
> > +#ifdef CONFIG_XEN
> > + if (is_running_on_xen()) {
> > + struct xencomm_handle *desc;
> > +
> > + if (xencomm_create(sal_info,
> > + ia64_sal_get_state_info_size(sal_info_type),
> > + &desc, GFP_KERNEL))
> > + return 0;
> > +
> > + SAL_CALL_REENTRANT(isrv, SAL_GET_STATE_INFO, sal_info_type, 0,
> > + desc, 0, 0, 0, 0);
> > + xencomm_free(desc);
> > + } else
> > +#endif
> > SAL_CALL_REENTRANT(isrv, SAL_GET_STATE_INFO, sal_info_type, 0,
> > sal_info, 0, 0, 0, 0);
> > if (isrv.status)
>
> --
> yamahata
diff -r 7e7846ea4ab3 linux-2.6-xen-sparse/include/asm-ia64/sal.h
--- a/linux-2.6-xen-sparse/include/asm-ia64/sal.h Mon Nov 27 10:10:57
2006 -0700
+++ b/linux-2.6-xen-sparse/include/asm-ia64/sal.h Thu Nov 30 10:52:00
2006 +0900
@@ -703,7 +703,7 @@ ia64_sal_get_state_info (u64 sal_info_ty
if (xencomm_create(sal_info,
ia64_sal_get_state_info_size(sal_info_type),
- &desc, GFP_KERNEL))
+ &desc, GFP_ATOMIC))
return 0;
SAL_CALL_REENTRANT(isrv, SAL_GET_STATE_INFO, sal_info_type, 0,
_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel
|