Hi,
I have upgraded the kernel from 2.4.8 to 2.4.14 due freezing problems
with 2.4.8 (I think there must have been a deadlock with the memory/swap
handling. It only worked for 10 minutes to 6 hours).
My link problem started when I recompiled the kernel with
CONFIG_BLK_DEV_LOOP = y
and get the following problem:
ld -m elf_i386 -T /usr/src/linux-2.4.14/arch/i386/vmlinux.lds -e stext
arch/i386/kernel/head.o arch/i386/kernel/init_task.o init/main.o
init/version.o \
--start-group \
arch/i386/kernel/kernel.o arch/i386/mm/mm.o kernel/kernel.o mm/mm.o
fs/fs.o ipc/ipc.o \
drivers/char/char.o drivers/block/block.o drivers/misc/misc.o
drivers/net/net.o drivers/media/media.o drivers/char/drm/drm.o
drivers/net/fc/fc.o drivers/net/appletalk/appletalk.o
drivers/net/tokenring/tr.o drivers/net/wan/wan.o drivers/atm/atm.o
drivers/ide/idedriver.o drivers/cdrom/driver.o drivers/pci/driver.o
drivers/net/wireless/wireless_net.o drivers/pnp/pnp.o drivers/video/video.o
drivers/net/hamradio/hamradio.o drivers/md/mddev.o \
net/network.o \
/usr/src/linux-2.4.14/arch/i386/lib/lib.a
/usr/src/linux-2.4.14/lib/lib.a /usr/src/linux-2.4.14/arch/i386/lib/lib.a \
--end-group \
-o vmlinux
drivers/block/block.o: In function `lo_send':
drivers/block/block.o(.text+0xb2e9): undefined reference to
`deactivate_page'
drivers/block/block.o(.text+0xb325): undefined reference to
`deactivate_page'
I can see from in the changelog that the swap.h have been changed and the
deactivate_page function has been removed. I guess someone forgot to update
the loop.c file. Is there a patch available for the correction of loop.c?
When I compiled the kernel as a module I was able to install and run the
kernel
and actually my system have been stable for the last 14 hours.
Best regards
Terje
On Tue, 20 Nov 2001, Terje Dalen wrote:
> Hi,
Hi Terje,
>...
> drivers/block/block.o: In function `lo_send':
> drivers/block/block.o(.text+0xb2e9): undefined reference to
> `deactivate_page'
> drivers/block/block.o(.text+0xb325): undefined reference to
> `deactivate_page'
>
>
> I can see from in the changelog that the swap.h have been changed and the
> deactivate_page function has been removed. I guess someone forgot to update
> the loop.c file. Is there a patch available for the correction of loop.c?
>...
This is a known bug.
The following patch fixes it:
--- linux-2.4.14-broken/drivers/block/loop.c Thu Oct 25 13:58:34 2001
+++ linux-2.4.14/drivers/block/loop.c Mon Nov 5 17:06:08 2001
@@ -207,7 +207,6 @@
index++;
pos += size;
UnlockPage(page);
- deactivate_page(page);
page_cache_release(page);
}
return 0;
@@ -218,7 +217,6 @@
kunmap(page);
unlock:
UnlockPage(page);
- deactivate_page(page);
page_cache_release(page);
fail:
return -1;
> Best regards
> Terje
cu
Adrian
--
Get my GPG key: finger [email protected] | gpg --import
Fingerprint: B29C E71E FE19 6755 5C8A 84D4 99FC EA98 4F12 B400
Hey, Terje!
Just remove the two references to deactivate_page.
== Morten
On Tue, Nov 20, 2001 at 09:19:49AM +0100, Terje Dalen wrote:
> Hi,
>
> I have upgraded the kernel from 2.4.8 to 2.4.14 due freezing problems
> with 2.4.8 (I think there must have been a deadlock with the memory/swap
> handling. It only worked for 10 minutes to 6 hours).
>
> My link problem started when I recompiled the kernel with
>
> CONFIG_BLK_DEV_LOOP = y
>
> and get the following problem:
>
> ld -m elf_i386 -T /usr/src/linux-2.4.14/arch/i386/vmlinux.lds -e stext
> arch/i386/kernel/head.o arch/i386/kernel/init_task.o init/main.o
> init/version.o \
> --start-group \
> arch/i386/kernel/kernel.o arch/i386/mm/mm.o kernel/kernel.o mm/mm.o
> fs/fs.o ipc/ipc.o \
> drivers/char/char.o drivers/block/block.o drivers/misc/misc.o
> drivers/net/net.o drivers/media/media.o drivers/char/drm/drm.o
> drivers/net/fc/fc.o drivers/net/appletalk/appletalk.o
> drivers/net/tokenring/tr.o drivers/net/wan/wan.o drivers/atm/atm.o
> drivers/ide/idedriver.o drivers/cdrom/driver.o drivers/pci/driver.o
> drivers/net/wireless/wireless_net.o drivers/pnp/pnp.o drivers/video/video.o
> drivers/net/hamradio/hamradio.o drivers/md/mddev.o \
> net/network.o \
> /usr/src/linux-2.4.14/arch/i386/lib/lib.a
> /usr/src/linux-2.4.14/lib/lib.a /usr/src/linux-2.4.14/arch/i386/lib/lib.a \
> --end-group \
> -o vmlinux
> drivers/block/block.o: In function `lo_send':
> drivers/block/block.o(.text+0xb2e9): undefined reference to
> `deactivate_page'
> drivers/block/block.o(.text+0xb325): undefined reference to
> `deactivate_page'
>
>
> I can see from in the changelog that the swap.h have been changed and the
> deactivate_page function has been removed. I guess someone forgot to update
> the loop.c file. Is there a patch available for the correction of loop.c?
>
> When I compiled the kernel as a module I was able to install and run the
> kernel
> and actually my system have been stable for the last 14 hours.
>
> Best regards
> Terje
>
>
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
--
mvh
Morten Helgesen
UNIX System Administrator & C Developer
Nextframe AS
[email protected] / 93445641
http://www.nextframe.net