public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH]  implicit declaration of function `page_cache_release'
@ 2005-07-08 15:03 Olaf Hering
  2005-07-08 20:31 ` Andrew Morton
  2005-08-05 18:51 ` Benoit Boissinot
  0 siblings, 2 replies; 10+ messages in thread
From: Olaf Hering @ 2005-07-08 15:03 UTC (permalink / raw)
  To: Andrew Morton, linux-kernel


In file included from include2/asm/tlb.h:31,
                 from linux-2.6.13-rc2-olh/arch/ppc64/kernel/pSeries_lpar.c:37:
linux-2.6.13-rc2-olh/include/asm-generic/tlb.h: In function `tlb_flush_mmu':
linux-2.6.13-rc2-olh/include/asm-generic/tlb.h:77: warning: implicit declaration of function `release_pages'
linux-2.6.13-rc2-olh/include/asm-generic/tlb.h: In function `tlb_remove_page':
linux-2.6.13-rc2-olh/include/asm-generic/tlb.h:117: warning: implicit declaration of function `page_cache_release'

Signed-off-by: Olaf Hering <olh@suse.de>

 include/linux/pagemap.h |    2 +-
 include/linux/swap.h    |    1 +
 2 files changed, 2 insertions(+), 1 deletion(-)

Index: linux-2.6.13-rc2-olh/include/linux/pagemap.h
===================================================================
--- linux-2.6.13-rc2-olh.orig/include/linux/pagemap.h
+++ linux-2.6.13-rc2-olh/include/linux/pagemap.h
@@ -48,7 +48,7 @@ static inline void mapping_set_gfp_mask(
 
 #define page_cache_get(page)		get_page(page)
 #define page_cache_release(page)	put_page(page)
-void release_pages(struct page **pages, int nr, int cold);
+extern void release_pages(struct page **pages, int nr, int cold);
 
 static inline struct page *page_cache_alloc(struct address_space *x)
 {
Index: linux-2.6.13-rc2-olh/include/linux/swap.h
===================================================================
--- linux-2.6.13-rc2-olh.orig/include/linux/swap.h
+++ linux-2.6.13-rc2-olh/include/linux/swap.h
@@ -7,6 +7,7 @@
 #include <linux/mmzone.h>
 #include <linux/list.h>
 #include <linux/sched.h>
+#include <linux/pagemap.h>
 #include <asm/atomic.h>
 #include <asm/page.h>
 

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH]  implicit declaration of function `page_cache_release'
  2005-07-08 15:03 [PATCH] implicit declaration of function `page_cache_release' Olaf Hering
@ 2005-07-08 20:31 ` Andrew Morton
  2005-07-08 20:35   ` Olaf Hering
  2005-08-05 18:51 ` Benoit Boissinot
  1 sibling, 1 reply; 10+ messages in thread
From: Andrew Morton @ 2005-07-08 20:31 UTC (permalink / raw)
  To: Olaf Hering; +Cc: linux-kernel

Olaf Hering <olh@suse.de> wrote:
>
> 
> In file included from include2/asm/tlb.h:31,
>                  from linux-2.6.13-rc2-olh/arch/ppc64/kernel/pSeries_lpar.c:37:
> linux-2.6.13-rc2-olh/include/asm-generic/tlb.h: In function `tlb_flush_mmu':
> linux-2.6.13-rc2-olh/include/asm-generic/tlb.h:77: warning: implicit declaration of function `release_pages'
> linux-2.6.13-rc2-olh/include/asm-generic/tlb.h: In function `tlb_remove_page':
> linux-2.6.13-rc2-olh/include/asm-generic/tlb.h:117: warning: implicit declaration of function `page_cache_release'
> 
> Signed-off-by: Olaf Hering <olh@suse.de>
> 
>  include/linux/pagemap.h |    2 +-
>  include/linux/swap.h    |    1 +
>  2 files changed, 2 insertions(+), 1 deletion(-)
> 
> Index: linux-2.6.13-rc2-olh/include/linux/pagemap.h
> ===================================================================
> --- linux-2.6.13-rc2-olh.orig/include/linux/pagemap.h
> +++ linux-2.6.13-rc2-olh/include/linux/pagemap.h
> @@ -48,7 +48,7 @@ static inline void mapping_set_gfp_mask(
>  
>  #define page_cache_get(page)		get_page(page)
>  #define page_cache_release(page)	put_page(page)
> -void release_pages(struct page **pages, int nr, int cold);
> +extern void release_pages(struct page **pages, int nr, int cold);

Why this change?  I think that was just me saving disk space.

>  static inline struct page *page_cache_alloc(struct address_space *x)
>  {
> Index: linux-2.6.13-rc2-olh/include/linux/swap.h
> ===================================================================
> --- linux-2.6.13-rc2-olh.orig/include/linux/swap.h
> +++ linux-2.6.13-rc2-olh/include/linux/swap.h
> @@ -7,6 +7,7 @@
>  #include <linux/mmzone.h>
>  #include <linux/list.h>
>  #include <linux/sched.h>
> +#include <linux/pagemap.h>
>  #include <asm/atomic.h>
>  #include <asm/page.h>
>

Yup.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH]  implicit declaration of function `page_cache_release'
  2005-07-08 20:31 ` Andrew Morton
@ 2005-07-08 20:35   ` Olaf Hering
  0 siblings, 0 replies; 10+ messages in thread
From: Olaf Hering @ 2005-07-08 20:35 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

 On Fri, Jul 08, Andrew Morton wrote:

> > +++ linux-2.6.13-rc2-olh/include/linux/pagemap.h
> > @@ -48,7 +48,7 @@ static inline void mapping_set_gfp_mask(
> >  
> >  #define page_cache_get(page)		get_page(page)
> >  #define page_cache_release(page)	put_page(page)
> > -void release_pages(struct page **pages, int nr, int cold);
> > +extern void release_pages(struct page **pages, int nr, int cold);
> 
> Why this change?  I think that was just me saving disk space.

Its only used in mm/swap.c and in linux/swap.h.
However, swap.h is used in many places. If no extern works as well, just
drop that part.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] implicit declaration of function `page_cache_release'
  2005-07-08 15:03 [PATCH] implicit declaration of function `page_cache_release' Olaf Hering
  2005-07-08 20:31 ` Andrew Morton
@ 2005-08-05 18:51 ` Benoit Boissinot
  2005-08-05 19:00   ` Olaf Hering
  1 sibling, 1 reply; 10+ messages in thread
From: Benoit Boissinot @ 2005-08-05 18:51 UTC (permalink / raw)
  To: Olaf Hering; +Cc: Andrew Morton, linux-kernel

On 7/8/05, Olaf Hering <olh@suse.de> wrote:
> 
> In file included from include2/asm/tlb.h:31,
>                  from linux-2.6.13-rc2-olh/arch/ppc64/kernel/pSeries_lpar.c:37:
> linux-2.6.13-rc2-olh/include/asm-generic/tlb.h: In function `tlb_flush_mmu':
> linux-2.6.13-rc2-olh/include/asm-generic/tlb.h:77: warning: implicit declaration of function `release_pages'
> linux-2.6.13-rc2-olh/include/asm-generic/tlb.h: In function `tlb_remove_page':
> linux-2.6.13-rc2-olh/include/asm-generic/tlb.h:117: warning: implicit declaration of function `page_cache_release'
> 
This went in 2.6.13-rc3 (commit
542d1c88bd7f73e2e59d41b12e4a9041deea89e4), and broke sparc compilation
because of the following circular dependency:
asm-sparc/pgtable include linux/swap.h
linux/swap.h include now linux/pagemap.h
linux/pagemap.h include linux/mm.h
linux/mm.h include asm/pgtable.h

I haven't found a satisfactory way to resolve this, but i think the
patch should be removed (it removes a warning but breaks an
architecture).

Regards,

Benoit Boissinot

> Index: linux-2.6.13-rc2-olh/include/linux/pagemap.h
>  ===================================================================
> --- linux-2.6.13-rc2-olh.orig/include/linux/swap.h
> +++ linux-2.6.13-rc2-olh/include/linux/swap.h
> @@ -7,6 +7,7 @@
>  #include <linux/mmzone.h>
>  #include <linux/list.h>
>  #include <linux/sched.h>
> +#include <linux/pagemap.h>
>  #include <asm/atomic.h>
>  #include <asm/page.h>
>

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] implicit declaration of function `page_cache_release'
  2005-08-05 18:51 ` Benoit Boissinot
@ 2005-08-05 19:00   ` Olaf Hering
  2005-08-05 19:18     ` Benoit Boissinot
  0 siblings, 1 reply; 10+ messages in thread
From: Olaf Hering @ 2005-08-05 19:00 UTC (permalink / raw)
  To: Benoit Boissinot; +Cc: Andrew Morton, linux-kernel

 On Fri, Aug 05, Benoit Boissinot wrote:

> On 7/8/05, Olaf Hering <olh@suse.de> wrote:
> > 
> > In file included from include2/asm/tlb.h:31,
> >                  from linux-2.6.13-rc2-olh/arch/ppc64/kernel/pSeries_lpar.c:37:
> > linux-2.6.13-rc2-olh/include/asm-generic/tlb.h: In function `tlb_flush_mmu':
> > linux-2.6.13-rc2-olh/include/asm-generic/tlb.h:77: warning: implicit declaration of function `release_pages'
> > linux-2.6.13-rc2-olh/include/asm-generic/tlb.h: In function `tlb_remove_page':
> > linux-2.6.13-rc2-olh/include/asm-generic/tlb.h:117: warning: implicit declaration of function `page_cache_release'
> > 
> This went in 2.6.13-rc3 (commit
> 542d1c88bd7f73e2e59d41b12e4a9041deea89e4), and broke sparc compilation
> because of the following circular dependency:
> asm-sparc/pgtable include linux/swap.h

Why does it need swap.h? Do the users of pgtable.h rely on swap.h?

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] implicit declaration of function `page_cache_release'
  2005-08-05 19:00   ` Olaf Hering
@ 2005-08-05 19:18     ` Benoit Boissinot
  2005-08-06 13:55       ` David S. Miller
  0 siblings, 1 reply; 10+ messages in thread
From: Benoit Boissinot @ 2005-08-05 19:18 UTC (permalink / raw)
  To: Olaf Hering; +Cc: Andrew Morton, linux-kernel, sparclinux

On 8/5/05, Olaf Hering <olh@suse.de> wrote:
>  On Fri, Aug 05, Benoit Boissinot wrote:
> 
> > On 7/8/05, Olaf Hering <olh@suse.de> wrote:
> > >
> > > In file included from include2/asm/tlb.h:31,
> > >                  from linux-2.6.13-rc2-olh/arch/ppc64/kernel/pSeries_lpar.c:37:
> > > linux-2.6.13-rc2-olh/include/asm-generic/tlb.h: In function `tlb_flush_mmu':
> > > linux-2.6.13-rc2-olh/include/asm-generic/tlb.h:77: warning: implicit declaration of function `release_pages'
> > > linux-2.6.13-rc2-olh/include/asm-generic/tlb.h: In function `tlb_remove_page':
> > > linux-2.6.13-rc2-olh/include/asm-generic/tlb.h:117: warning: implicit declaration of function `page_cache_release'
> > >
> > This went in 2.6.13-rc3 (commit
> > 542d1c88bd7f73e2e59d41b12e4a9041deea89e4), and broke sparc compilation
> > because of the following circular dependency:
> > asm-sparc/pgtable include linux/swap.h
> 
> Why does it need swap.h? Do the users of pgtable.h rely on swap.h?
> 
sparc is the only architecture to do that, it looks like it uses it
for boot time linking (BTFIXUP_*). I don't know anything about sparc,
so i can't fix it.

(adding sparclinux@vger.kernel.org to the cc list)

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] implicit declaration of function `page_cache_release'
  2005-08-05 19:18     ` Benoit Boissinot
@ 2005-08-06 13:55       ` David S. Miller
  2005-08-06 15:01         ` Olaf Hering
  0 siblings, 1 reply; 10+ messages in thread
From: David S. Miller @ 2005-08-06 13:55 UTC (permalink / raw)
  To: bboissin; +Cc: olh, akpm, linux-kernel, sparclinux

From: Benoit Boissinot <bboissin@gmail.com>
Date: Fri, 5 Aug 2005 21:18:38 +0200

> On 8/5/05, Olaf Hering <olh@suse.de> wrote:
> >  On Fri, Aug 05, Benoit Boissinot wrote:
> > 
> > Why does it need swap.h? Do the users of pgtable.h rely on swap.h?
> > 
> sparc is the only architecture to do that, it looks like it uses it
> for boot time linking (BTFIXUP_*). I don't know anything about sparc,
> so i can't fix it.
> 
> (adding sparclinux@vger.kernel.org to the cc list)

It needs to have the swp_entry_t type fully visible in pgtable.h,
we can't work around this using macros.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] implicit declaration of function `page_cache_release'
  2005-08-06 13:55       ` David S. Miller
@ 2005-08-06 15:01         ` Olaf Hering
  2005-08-06 15:49           ` David S. Miller
  0 siblings, 1 reply; 10+ messages in thread
From: Olaf Hering @ 2005-08-06 15:01 UTC (permalink / raw)
  To: David S. Miller; +Cc: bboissin, akpm, linux-kernel, sparclinux

 On Sat, Aug 06, David S. Miller wrote:

> From: Benoit Boissinot <bboissin@gmail.com>
> Date: Fri, 5 Aug 2005 21:18:38 +0200
> 
> > On 8/5/05, Olaf Hering <olh@suse.de> wrote:
> > >  On Fri, Aug 05, Benoit Boissinot wrote:
> > > 
> > > Why does it need swap.h? Do the users of pgtable.h rely on swap.h?
> > > 
> > sparc is the only architecture to do that, it looks like it uses it
> > for boot time linking (BTFIXUP_*). I don't know anything about sparc,
> > so i can't fix it.
> > 
> > (adding sparclinux@vger.kernel.org to the cc list)
> 
> It needs to have the swp_entry_t type fully visible in pgtable.h,
> we can't work around this using macros.

So the patch should be reverted? Its only for CONFIG_SWAP=n, rather
unusual for KDE/GNOME tainted workstations...

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] implicit declaration of function `page_cache_release'
  2005-08-06 15:01         ` Olaf Hering
@ 2005-08-06 15:49           ` David S. Miller
  2006-05-22  7:11             ` Olaf Hering
  0 siblings, 1 reply; 10+ messages in thread
From: David S. Miller @ 2005-08-06 15:49 UTC (permalink / raw)
  To: olh; +Cc: bboissin, akpm, linux-kernel, sparclinux

From: Olaf Hering <olh@suse.de>
Date: Sat, 6 Aug 2005 17:01:03 +0200

> So the patch should be reverted? Its only for CONFIG_SWAP=n, rather
> unusual for KDE/GNOME tainted workstations...

Not necessarily, but the header dependencies should be fixed
up somehow.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] implicit declaration of function `page_cache_release'
  2005-08-06 15:49           ` David S. Miller
@ 2006-05-22  7:11             ` Olaf Hering
  0 siblings, 0 replies; 10+ messages in thread
From: Olaf Hering @ 2006-05-22  7:11 UTC (permalink / raw)
  To: David S. Miller; +Cc: bboissin, akpm, linux-kernel, sparclinux

 On Sat, Aug 06, David S. Miller wrote:

> From: Olaf Hering <olh@suse.de>
> Date: Sat, 6 Aug 2005 17:01:03 +0200
> 
> > So the patch should be reverted? Its only for CONFIG_SWAP=n, rather
> > unusual for KDE/GNOME tainted workstations...
> 
> Not necessarily, but the header dependencies should be fixed
> up somehow.

I think you are right once again.
(Just the time got a bit out of sync.)

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2006-05-22  7:11 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-07-08 15:03 [PATCH] implicit declaration of function `page_cache_release' Olaf Hering
2005-07-08 20:31 ` Andrew Morton
2005-07-08 20:35   ` Olaf Hering
2005-08-05 18:51 ` Benoit Boissinot
2005-08-05 19:00   ` Olaf Hering
2005-08-05 19:18     ` Benoit Boissinot
2005-08-06 13:55       ` David S. Miller
2005-08-06 15:01         ` Olaf Hering
2005-08-06 15:49           ` David S. Miller
2006-05-22  7:11             ` Olaf Hering

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox