[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.