public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Export swapper_space
@ 2004-06-03 15:19 Russell King
  2004-06-03 15:37 ` Christoph Hellwig
  0 siblings, 1 reply; 5+ messages in thread
From: Russell King @ 2004-06-03 15:19 UTC (permalink / raw)
  To: Linux Kernel List, Andrew Morton, Linus Torvalds

swapper_space appears to be needed by modules:

  Building modules, stage 2.
  MODPOST
*** Warning: "swapper_space" [drivers/block/loop.ko] undefined!
*** Warning: "swapper_space" [drivers/scsi/st.ko] undefined!
*** Warning: "swapper_space" [drivers/scsi/sg.ko] undefined!

--- orig/mm/swap_state.c	Mon May 24 11:26:25 2004
+++ linux/mm/swap_state.c	Thu Jun  3 16:11:58 2004
@@ -6,7 +6,7 @@
  *
  *  Rewritten to use page cache, (C) 1998 Stephen Tweedie
  */
-
+#include <linux/module.h>
 #include <linux/mm.h>
 #include <linux/kernel_stat.h>
 #include <linux/swap.h>
@@ -38,6 +38,7 @@ struct address_space swapper_space = {
 	.a_ops		= &swap_aops,
 	.backing_dev_info = &swap_backing_dev_info,
 };
+EXPORT_SYMBOL(swapper_space);
 
 #define INC_CACHE_INFO(x)	do { swap_cache_info.x++; } while (0)
 

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:  2.6 PCMCIA      - http://pcmcia.arm.linux.org.uk/
                 2.6 Serial core

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

* Re: Export swapper_space
  2004-06-03 15:19 Export swapper_space Russell King
@ 2004-06-03 15:37 ` Christoph Hellwig
  2004-06-03 16:01   ` Russell King
  0 siblings, 1 reply; 5+ messages in thread
From: Christoph Hellwig @ 2004-06-03 15:37 UTC (permalink / raw)
  To: Linux Kernel List, Andrew Morton, Linus Torvalds

On Thu, Jun 03, 2004 at 04:19:10PM +0100, Russell King wrote:
> swapper_space appears to be needed by modules:
> 
>   Building modules, stage 2.
>   MODPOST
> *** Warning: "swapper_space" [drivers/block/loop.ko] undefined!
> *** Warning: "swapper_space" [drivers/scsi/st.ko] undefined!
> *** Warning: "swapper_space" [drivers/scsi/sg.ko] undefined!

Please not.  This seems to be some cache-flushing magic on the stranger
architectures again :)  Can you check how they're using it in the end
and hopefully fix it by uninlining something?


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

* Re: Export swapper_space
  2004-06-03 15:37 ` Christoph Hellwig
@ 2004-06-03 16:01   ` Russell King
  2004-06-03 17:08     ` Andrew Morton
  0 siblings, 1 reply; 5+ messages in thread
From: Russell King @ 2004-06-03 16:01 UTC (permalink / raw)
  To: Christoph Hellwig, Linux Kernel List, Andrew Morton,
	Linus Torvalds

On Thu, Jun 03, 2004 at 04:37:27PM +0100, Christoph Hellwig wrote:
> On Thu, Jun 03, 2004 at 04:19:10PM +0100, Russell King wrote:
> > swapper_space appears to be needed by modules:
> > 
> >   Building modules, stage 2.
> >   MODPOST
> > *** Warning: "swapper_space" [drivers/block/loop.ko] undefined!
> > *** Warning: "swapper_space" [drivers/scsi/st.ko] undefined!
> > *** Warning: "swapper_space" [drivers/scsi/sg.ko] undefined!
> 
> Please not.  This seems to be some cache-flushing magic on the stranger
> architectures again :)  Can you check how they're using it in the end
> and hopefully fix it by uninlining something?

extern struct address_space swapper_space;
static inline struct address_space *page_mapping(struct page *page)
{
        struct address_space *mapping = NULL;
 
        if (unlikely(PageSwapCache(page)))
                mapping = &swapper_space;
        else if (likely(!PageAnon(page)))
                mapping = page->mapping;
        return mapping;
}

I'll leave that for someone else to sort out.

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:  2.6 PCMCIA      - http://pcmcia.arm.linux.org.uk/
                 2.6 Serial core

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

* Re: Export swapper_space
  2004-06-03 16:01   ` Russell King
@ 2004-06-03 17:08     ` Andrew Morton
  2004-06-03 17:21       ` Russell King
  0 siblings, 1 reply; 5+ messages in thread
From: Andrew Morton @ 2004-06-03 17:08 UTC (permalink / raw)
  To: Russell King; +Cc: hch, linux-kernel, torvalds

Russell King <rmk+lkml@arm.linux.org.uk> wrote:
>
> > Please not.  This seems to be some cache-flushing magic on the stranger
>  > architectures again :)  Can you check how they're using it in the end
>  > and hopefully fix it by uninlining something?
> 
>  extern struct address_space swapper_space;
>  static inline struct address_space *page_mapping(struct page *page)
>  {
>          struct address_space *mapping = NULL;
>   
>          if (unlikely(PageSwapCache(page)))
>                  mapping = &swapper_space;
>          else if (likely(!PageAnon(page)))
>                  mapping = page->mapping;
>          return mapping;
>  }

Christoph means "can arm uninline flush_dcache_page()"?

It looks like that would be the best approach - it's quite a large function.

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

* Re: Export swapper_space
  2004-06-03 17:08     ` Andrew Morton
@ 2004-06-03 17:21       ` Russell King
  0 siblings, 0 replies; 5+ messages in thread
From: Russell King @ 2004-06-03 17:21 UTC (permalink / raw)
  To: Andrew Morton; +Cc: hch, linux-kernel, torvalds

On Thu, Jun 03, 2004 at 10:08:26AM -0700, Andrew Morton wrote:
> Christoph means "can arm uninline flush_dcache_page()"?
> 
> It looks like that would be the best approach - it's quite a large function.

Grumble.  We could, though I didn't expect it to become a large
function...  I guess the bloat monster has been fed again. ;(

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:  2.6 PCMCIA      - http://pcmcia.arm.linux.org.uk/
                 2.6 Serial core

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

end of thread, other threads:[~2004-06-03 17:29 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-06-03 15:19 Export swapper_space Russell King
2004-06-03 15:37 ` Christoph Hellwig
2004-06-03 16:01   ` Russell King
2004-06-03 17:08     ` Andrew Morton
2004-06-03 17:21       ` Russell King

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