On Wed, 7 Sep 2005 04:25, Adam Petaccia wrote: > I think this patch is missing an IFDEF or something (I'm not really a > programmer, I just like to pretend). Anyway, I've tried building -ck2 > without swap enabled, and it failed. Just to make sure, I make'd > distclean, and I get the following: > > LD .tmp_vmlinux1 > mm/built-in.o: In function `zone_watermark_ok': > mm/page_alloc.c:763: undefined reference to `delay_prefetch' > mm/built-in.o: In function `swap_setup': > mm/swap.c:485: undefined reference to `prepare_prefetch' > make: *** [.tmp_vmlinux1] Error 1
Bad layout on my part. Try this patch on top. Cheers, Con
Index: linux-2.6.13-ck2test/include/linux/swap.h =================================================================== --- linux-2.6.13-ck2test.orig/include/linux/swap.h 2005-09-07 20:25:40.000000000 +1000 +++ linux-2.6.13-ck2test/include/linux/swap.h 2005-09-07 20:35:12.000000000 +1000 @@ -186,6 +186,32 @@ extern int shmem_unuse(swp_entry_t entry extern void swap_unplug_io_fn(struct backing_dev_info *, struct page *); +#ifdef CONFIG_SWAP_PREFETCH +/* mm/swap_prefetch.c */ +extern void prepare_prefetch(void); +extern void add_to_swapped_list(unsigned long index); +extern void remove_from_swapped_list(unsigned long index); +extern void delay_prefetch(void); + +#else /* CONFIG_SWAP_PREFETCH */ +static inline void add_to_swapped_list(unsigned long index) +{ +} + +static inline void prepare_prefetch(void) +{ +} + +static inline void remove_from_swapped_list(unsigned long index) +{ +} + +static inline void delay_prefetch(void) +{ +} + +#endif /* CONFIG_SWAP_PREFETCH */ + #ifdef CONFIG_SWAP /* linux/mm/page_io.c */ extern int swap_readpage(struct file *, struct page *); @@ -249,32 +275,6 @@ static inline void put_swap_token(struct __put_swap_token(mm); } -#ifdef CONFIG_SWAP_PREFETCH -/* mm/swap_prefetch.c */ -extern void prepare_prefetch(void); -extern void add_to_swapped_list(unsigned long index); -extern void remove_from_swapped_list(unsigned long index); -extern void delay_prefetch(void); - -#else /* CONFIG_SWAP_PREFETCH */ -static inline void add_to_swapped_list(unsigned long index) -{ -} - -static inline void prepare_prefetch(void) -{ -} - -static inline void remove_from_swapped_list(unsigned long index) -{ -} - -static inline void delay_prefetch(void) -{ -} - -#endif /* CONFIG_SWAP_PREFETCH */ - #else /* CONFIG_SWAP */ #define total_swap_pages 0