WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-ia64-devel

Re: [Xen-ia64-devel] [PATCH 0/12]MCA handler support for Xen/ia64 TAKE 2

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