Messages in this thread | ![/](/images/icornerl.gif) | | From | David Wuertele <> | Subject | Do I need kswapd if I don't have swap? | Date | Sat, 22 Nov 2003 17:35:57 -0800 |
| |
Using 2.4.18 on my 32MB RAM embedded MIPS system, malloc() goes bye-bye:
/* Malloc as much as possible, then return */ #include <stdio.h> #define UNIT 1024 /* one kilobyte */ int main () { unsigned int j, totalmalloc=0, totalwrote=0, totalread=0; while (1) { unsigned char *buf = (unsigned char *) malloc (UNIT); if (!buf) return 0; totalmalloc += UNIT; fprintf (stderr, "%u ", totalmalloc); for (j=0; j<UNIT; j++) buf[j] = j % 256; totalwrote += UNIT; fprintf (stderr, "%u ", totalwrote); for (j=0; j<UNIT; j++) if (buf[j] != (j % 256)) return -1; totalread += UNIT; fprintf (stderr, "%u\n", totalread); } }
I expected this program to malloc most of my embedded MIPS's 32MB of system RAM, then eventually return with a -1 or a -2. Unfortunately, it hangs having finally printed:
M26916864 W26916864 R26916864
The malloc call isn't even returning. What could explain that?
I don't have swap space configured, and I notice several kernel threads that I figure might be assuming I have swap. For example:
3 root S [ksoftirqd_CPU0] 4 root S [kswapd] 5 root S [bdflush] 6 root S [kupdated] 7 root S [mtdblockd]
Do I need any of these if I don't have swap? Are there any special kernel configs I should be doing if I don't have swap?
Thanks, Dave
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| ![\](/images/icornerr.gif) |