* 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