From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gleb Natapov Subject: Re: [PATCH] KVM/MIPS32: Export min_low_pfn. Date: Sat, 18 May 2013 09:36:33 +0300 Message-ID: <20130518063633.GC12957@redhat.com> References: <1368824818-22503-1-git-send-email-sanjayl@kymasys.com> <5196A458.7080400@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Sanjay Lal , linux-mips@linux-mips.org, kvm@vger.kernel.org, ralf@linux-mips.org, mtosatti@redhat.com To: David Daney Return-path: Received: from mx1.redhat.com ([209.132.183.28]:30245 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753041Ab3ERGgn (ORCPT ); Sat, 18 May 2013 02:36:43 -0400 Content-Disposition: inline In-Reply-To: <5196A458.7080400@gmail.com> Sender: kvm-owner@vger.kernel.org List-ID: On Fri, May 17, 2013 at 02:42:48PM -0700, David Daney wrote: > On 05/17/2013 02:06 PM, Sanjay Lal wrote: > >The KVM module uses the standard MIPS cache management routines, which use min_low_pfn. > >This creates and indirect dependency, requiring min_low_pfn to be exported. > > > >Signed-off-by: Sanjay Lal > >--- > > arch/mips/kernel/mips_ksyms.c | 6 ++++++ > > 1 file changed, 6 insertions(+) > > > >diff --git a/arch/mips/kernel/mips_ksyms.c b/arch/mips/kernel/mips_ksyms.c > >index 6e58e97..0299472 100644 > >--- a/arch/mips/kernel/mips_ksyms.c > >+++ b/arch/mips/kernel/mips_ksyms.c > >@@ -14,6 +14,7 @@ > > #include > > #include > > #include > >+#include > > > > extern void *__bzero(void *__s, size_t __count); > > extern long __strncpy_from_user_nocheck_asm(char *__to, > >@@ -60,3 +61,8 @@ EXPORT_SYMBOL(invalid_pte_table); > > /* _mcount is defined in arch/mips/kernel/mcount.S */ > > EXPORT_SYMBOL(_mcount); > > #endif > >+ > >+/* The KVM module uses the standard MIPS cache functions which use > >+ * min_low_pfn, requiring it to be exported. > >+ */ > >+EXPORT_SYMBOL(min_low_pfn); > > I think I asked this before, but I don't remember the answer: > > Why not put EXPORT_SYMBOL(min_low_pfn) in mm/bootmem.c adjacent to > where the symbol is defined? > He did answered here: http://permalink.gmane.org/gmane.comp.emulators.kvm.devel/109895. I suggested mips_ksyms.c solution as an option. > Cluttering up the kernel with multiple architectures all doing > architecture specific exports of the same symbol is not a clean way > of doing things. > > The second time something needs to be done, it should be factored > out into common code. > Exports are different. You define interface between the kernel and modules here, exporting the symbol may not be desirable for some arch. And min_low_pfn is not the only example. Anything in arch _ksyms files is like that: exported by some archs but not the others. -- Gleb.