lkml.org 
[lkml]   [1999]   [Oct]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patches in this message
/
Date
From
Subjectsome patches for 2.3.23
Hi Linus, hi others,
after some hours I got 2.3.23 to compile and almost to run.
I had to apply:
Missing symbols for serial, nfs, ncpfs.
Deadlock on nbd (observed with vmware-mount.pl).
Changed values in /proc/meminfo (vmware refuses to run
because of it thinks machine has less than 32MB
of memory).
SMP kernel refuses to run on UP (GP fault when clearing
'virtual' IOAPIC).
Unfortunately, it still does not work correctly... ncpfs uses:
static struct page* ncp_get_cached_page(inode, offset, used) {
hash = page_hash(inode, offset);
page = __find_locked_page(inode, offset, hash);
if (used || page)
return page;
page_cache = page_cache_alloc();
if (page_cache) {
page = page_cache_entry(page_cache);
if (add_to_page_cache_unique(page, inode, offset, hash)) {
page_cache_release(page);
page = NULL;
page_cache_free(page_cache);
}
}
return page;
}
Problem is that page contains an dangling 'buffers' pointer which
then kills kswapd in try_to_free_buffers() :-( Should I set
page->buffers = NULL after call to page_cache_entry() or what's
changed since 2.3.22 (2.3.23-pre2 worked fine for me).
Best regards,
Petr Vandrovec
vandrove@vc.cvut.cz



Missing __io_virt_debug for serial.c:
diff -urdN linux/arch/i386/kernel/i386_ksyms.c linux/arch/i386/kernel/i386_ksyms.c
--- linux/arch/i386/kernel/i386_ksyms.c Mon Oct 11 19:06:34 1999
+++ linux/arch/i386/kernel/i386_ksyms.c Sun Oct 24 20:20:09 1999
@@ -29,6 +29,7 @@
#endif

/* platform dependent support */
+EXPORT_SYMBOL(__io_virt_debug);
EXPORT_SYMBOL(boot_cpu_data);
EXPORT_SYMBOL(EISA_bus);
EXPORT_SYMBOL(MCA_bus);
Socket allocation must be atomic in nbd, otherwise deadlock occurs.
diff -urdN linux/drivers/block/nbd.c linux/drivers/block/nbd.c
--- linux/drivers/block/nbd.c Tue Jul 6 05:07:02 1999
+++ linux/drivers/block/nbd.c Sun Oct 24 16:08:47 1999
@@ -43,6 +43,8 @@
#define MAJOR_NR NBD_MAJOR
#include <linux/nbd.h>

+#include <net/sock.h>
+
#define LO_MAGIC 0x68797548

static int nbd_blksizes[MAX_NBD];
@@ -105,6 +107,7 @@


do {
+ sock->sk->allocation = GFP_ATOMIC;
iov.iov_base = buf;
iov.iov_len = size;
msg.msg_name = NULL;
meminfo changed values (and I think that sysinfo syscall got changed too):
diff -urdN linux/fs/proc/array.c linux/fs/proc/array.c
--- linux/fs/proc/array.c Tue Oct 19 20:56:26 1999
+++ linux/fs/proc/array.c Sun Oct 24 23:50:23 1999
@@ -364,16 +364,17 @@
* display in kilobytes.
*/
#define K(x) ((x) << (PAGE_SHIFT - 10))
-
+#define BtoK(x) ((x) >> 10)
+#define PtoB(x) ((x) << (PAGE_SHIFT))
si_meminfo(&i);
si_swapinfo(&i);
len = sprintf(buffer, " total: used: free: shared: buffers: cached:\n"
"Mem: %8lu %8lu %8lu %8lu %8lu %8u\n"
"Swap: %8lu %8lu %8lu\n",
- K(i.totalram), K(i.totalram-i.freeram), K(i.freeram),
- K(i.sharedram), K(i.bufferram),
- K(atomic_read(&page_cache_size)), K(i.totalswap),
- K(i.totalswap-i.freeswap), K(i.freeswap));
+ PtoB(i.totalram), PtoB(i.totalram-i.freeram), PtoB(i.freeram),
+ PtoB(i.sharedram), PtoB(i.bufferram),
+ (unsigned long)(atomic_read(&page_cache_size)), (i.totalswap),
+ (i.totalswap-i.freeswap), (i.freeswap));
/*
* Tagged format, for easy grepping and expansion.
* The above will go away eventually, once the tools
@@ -385,19 +386,21 @@
"MemShared: %8lu kB\n"
"Buffers: %8lu kB\n"
"Cached: %8u kB\n"
- "HighTotal: %8lu kB\n"
- "HighFree: %8lu kB\n"
"SwapTotal: %8lu kB\n"
- "SwapFree: %8lu kB\n",
+ "SwapFree: %8lu kB\n"
+ "HighTotal: %8lu kB\n"
+ "HighFree: %8lu kB\n",
K(i.totalram),
K(i.freeram),
K(i.sharedram),
K(i.bufferram),
K(atomic_read(&page_cache_size)),
+ BtoK(i.totalswap),
+ BtoK(i.freeswap),
K(i.totalhigh),
- K(i.freehigh),
- K(i.totalswap),
- K(i.freeswap));
+ K(i.freehigh));
+#undef PtoB
+#undef BtoK
#undef K
}

Missing __get_pages & console_loglevel for few modules (vfat, nfs, ncpfs):
diff -urdN linux/kernel/ksyms.c linux/kernel/ksyms.c
--- linux/kernel/ksyms.c Mon Oct 18 20:26:37 1999
+++ linux/kernel/ksyms.c Sun Oct 24 20:19:18 1999
@@ -91,6 +91,7 @@
EXPORT_SYMBOL(exit_sighand);

/* internal kernel memory management */
+EXPORT_SYMBOL(__get_pages);
EXPORT_SYMBOL(__get_free_pages);
EXPORT_SYMBOL(free_pages);
EXPORT_SYMBOL(__free_page);
@@ -257,6 +258,7 @@
EXPORT_SYMBOL(tty_get_baud_rate);
EXPORT_SYMBOL(do_SAK);
EXPORT_SYMBOL(console_print);
+EXPORT_SYMBOL(console_loglevel);

/* filesystem registration */
EXPORT_SYMBOL(register_filesystem);
GPFault when SMP kernel runs on UP machine without SMP tables:
diff -urdN linux/arch/i386/kernel/smpboot.c linux/arch/i386/kernel/smpboot.c
--- linux/arch/i386/kernel/smpboot.c Wed Oct 20 20:32:17 1999
+++ linux/arch/i386/kernel/smpboot.c Sun Oct 24 22:59:05 1999
@@ -821,8 +821,11 @@
* could use the real zero-page, but it's safer
* this way if some buggy code writes to this page ...
*/
- apic_phys = __pa(alloc_bootmem_pages(PAGE_SIZE));
- memset((void *)apic_phys, 0, PAGE_SIZE);
+ void* apic_virt;
+
+ apic_virt = alloc_bootmem_pages(PAGE_SIZE);
+ apic_phys = __pa(apic_virt);
+ memset(apic_virt, 0, PAGE_SIZE);
}
set_fixmap(FIX_APIC_BASE, apic_phys);
dprintk("mapped APIC to %08lx (%08lx)\n", APIC_BASE, apic_phys);
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:54    [W:0.101 / U:0.228 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site