Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758284Ab2EYSHs (ORCPT ); Fri, 25 May 2012 14:07:48 -0400 Received: from rcsinet15.oracle.com ([148.87.113.117]:37758 "EHLO rcsinet15.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753442Ab2EYSHr (ORCPT ); Fri, 25 May 2012 14:07:47 -0400 Date: Fri, 25 May 2012 14:01:02 -0400 From: Konrad Rzeszutek Wilk To: "Liu, Jinsong" Cc: Borislav Petkov , "linux-kernel@vger.kernel.org" , "Luck, Tony" , "xen-devel@lists.xensource.com" Subject: Re: [Xen-devel] [PATCH 1/3] xen/mce: Add mcelog support for Xen platform (v2) Message-ID: <20120525180102.GA27280@phenom.dumpdata.com> References: <20120522092354.GB18578@aftab.osrc.amd.com> <20120524103023.GA27063@aftab.osrc.amd.com> <20120524184947.GA28338@phenom.dumpdata.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) X-Source-IP: ucsinet22.oracle.com [156.151.31.94] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2423 Lines: 64 On Fri, May 25, 2012 at 05:56:56PM +0000, Liu, Jinsong wrote: > Konrad Rzeszutek Wilk wrote: > >>>>>> -static struct miscdevice mce_chrdev_device = { > >>>>>> +struct miscdevice mce_chrdev_device = { > >>>>>> MISC_MCELOG_MINOR, > >>>>>> "mcelog", > >>>>>> &mce_chrdev_ops, > >>>>> > >>>>> You're still reusing those - pls, define your own 'struct > >>>>> miscdevice mce_chrdev_device' in drivers/xen/ or somewhere > >>>>> convenient and > >>>>> your own mce_chrdev_ops. The only thing you should be touching in > >>>>> arch/x86/.../mcheck/ is the export of MISC_MCELOG_MINOR. > >>>>> > >>>>> Thanks. > >>>> > >>>> I'm *not* reuse native code. > >>>> I have defined 'struct miscdevice xen_mce_chrdev_device' in > >>>> drivers/xen, and I also implement xen_mce_chrdev_ops, they are all > >>>> xen-self-contained. > >>>> > >>>> The patch just redirect native mce_chrdev_device to > >>>> xen_mce_chrdev_device when running under xen environment. > >>>> It didn't change any native code (except just cancel > >>>> mce_chrdev_device 'static'), and will not break native logic. > >>> > >>> Why are you doing that? > >>> > >>> Why don't you do > >>> > >>> misc_register(&xen_mce_chrdev_device); > >>> > >>> in xen_early_init_mcelog() ? > >>> > >>> This way there'll be no arch/x86/ dependencies at all. > >> > >> The reason is, if we do so, it would be covered by native > >> misc_register(&mce_chrdev_device) later when native kernel init (xen > >> init first and then start native kernel). > > > > Won't the second registration (so the original one) of the major > > fail? So the mce_log would just error out since somebody already > > registered? > > No, that would be device confliction, the 2nd register return as -EBUSY and un-predicetable result. And the existing code does not actually check the 'misc_register' return value? Ah yes. Perhaps then a fix to arch/x86/kernel/cpu/mcheck/mce.c to do the proper de-registration if 'misc_register' fails? Or just set 'mce_disabled=1' in the bootup of Xen, similar to how lguest.c does it? > I test it in your way, mcelog fail to fetch any error log. And that is b/c of? What exactly? > > Thanks, > Jinsong -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/