[lc-devel] Patch is up
Status: Beta
Brought to you by:
nitin_sf
From: John R M. <jm...@st...> - 2003-10-13 21:33:30
|
Yes there's some damage :P I've a few bad hacks, the alg can't be changed on the fly, and DON'T use compalg= for now (I'm not sure about how well that really works). I'm running WKdm and there's absolutely no problems. WKdm is my default alg, compiled in, and I'm limited to 128MB RAM via mem=. Using 16x pages. compressed cache - statistics general - (S) swap cache support enabled - (P) page cache support enabled - compressed swap support enabled - maximum used size: 10112 KiB - comp page size: 64 KiB - failed allocations: 298 algorithm WKdm - (C) compressed pages: 19895 (S: 83% P: 16%) - (D) decompressed pages: 6592 (S: 98% P: 1%) D/C: 33% - (R) read pages: 1711 (S: 91% P: 8%) R/C: 8% - (W) written pages: 9276 (S: 100% P: 0%) W/C: 46% compression ratio: 52% (S: 50% P: 62%) I'm working on the patch more now, kind of hacking the algorithm inits out of proc.c and proc.h. I'll upload another patch in a few days probably, with the registration system in there. It's going to be a simple registration system. Probably the linked list will be as follows: struct comp_cache_registered { short algorithm_idx; char *name; comp_cache_init_function_t *init; struct comp_cache_registered *next; } on initialization I'll call ->init(). These will be referenced by their algorithm_idx, but the sysctl to list available algs will read their name. Also, the default alg will be chosen by name. I'm also working on making it SMP safe. Bear in mind I have NO idea what this really involves but I'm making it safe to run these side by side. At the same time. With both CPUs on the exact same instruction. Continuously. I have class right now so bye. --Bluefox Icy |