slab.c change request

From: Mr. Berkley Shands (berkley@cs.wustl.edu)
Date: Fri Apr 28 2000 - 13:58:18 EST


So flame me if I don't know where to send a VM change to :-)

berkley

-- 
               berkley@cs.wustl.edu	"Software Enforcer"

[1.] One line summary of the problem: Kernel does not allocate large enough memory blocks [2.] Full description of the problem/report: on big machines (> 256mb RAM), there is sometimes a need to allocate large chunks of contiguous memory (gigabit network cards, etc) a 1.2Gb/sec network card can hit the PCI bus at 95-107 MByte/sec. a 768 MB P3-600 can buffer up to 6 seconds of data :-) Really now, a 256K buffer will not handle that data rate. Make it reasonable at 2MBytes.

[3.] Keywords (i.e., modules, networking, kernel): request, intel, alpha, slab.c, kmalloc

[4.] Kernel version (from /proc/version): [5.] Output of Oops.. message (if applicable) with symbolic information resolved (see Documentation/oops-tracing.txt) [6.] A small shell script or example program which triggers the problem (if possible) [7.] Environment [7.1.] Software (add the output of the ver_linux script here) [7.2.] Processor information (from /proc/cpuinfo): [7.3.] Module information (from /proc/modules): [7.4.] Loaded driver and hardware information (/proc/ioports, /proc/iomem) [7.5.] PCI information ('lspci -vvv' as root) [7.6.] SCSI information (from /proc/scsi/scsi) [7.7.] Other information that might be relevant to the problem (please look in /proc and include all information that you think to be relevant): This is applicable to Intel and Alpha, likely to Sparc too. [X.] Other notes, patches, fixes, workarounds:

diff -Naur linux-2.3.99-pre6-clean/mm/slab.c linux-2.3.99-pre6/mm/slab.c --- linux-2.3.99-pre6-clean/mm/slab.c Wed Apr 12 11:12:35 2000 +++ linux-2.3.99-pre6/mm/slab.c Fri Apr 28 11:03:52 2000 @@ -299,10 +299,10 @@ #define SLAB_C_MAGIC 0x4F17A36DUL /* maximum size of an obj (in 2^order pages) */ -#define SLAB_OBJ_MAX_ORDER 5 /* 32 pages */ +#define SLAB_OBJ_MAX_ORDER 9 /* 32 pages */ /* WUARL */ /* maximum num of pages for a slab (prevents large requests to the VM layer) */ -#define SLAB_MAX_GFP_ORDER 5 /* 32 pages */ +#define SLAB_MAX_GFP_ORDER 9 /* 32 pages */ /* WUARL */ /* the 'preferred' minimum num of objs per slab - maybe less for large objs */ #define SLAB_MIN_OBJS_PER_SLAB 4 @@ -346,6 +346,10 @@ {32768, NULL}, {65536, NULL}, {131072, NULL}, + {256 * 1024, NULL}, /* WUARL */ + {512 * 1024, NULL}, + {1024 * 1024, NULL}, + {2048 * 1024, NULL}, /* WUARL */ {0, NULL} }; @@ -368,7 +372,11 @@ "size-16384", "size-32768", "size-65536", - "size-131072" + "size-131072", /* start WUARL additions */ + "size-256 * 1024", + "size-512 * 1024", + "size-1024 * 1024", + "size-2048 * 1024" /* end WUARL additions */ }; /* internal cache of cache description objs */

Thank you


- 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/



This archive was generated by hypermail 2b29 : Sun Apr 30 2000 - 21:00:15 EST