Note: this question really belongs on <[EMAIL PROTECTED]>. [Pannaga Bhushan] > I am looking for a setup where I need to have a certain amount > of data always available to the kernel. The size of data I am looking > at is abt 40MB(preferably, but I will settle for 20MB too) . So the > normal kmalloc will not help me. So what I did was, I created a hole > in kernel space by putting the following line in vmlinux.lds > > ALIGN(4096); > __hole_start = .; > . = . + 0xmy_size; > __hole_end = .;
I assume you also tried the old-fashioned C method: #include <asm/page.h> static char __hole_start[0xmy_size] __attribute__((__aligned__(PAGE_SIZE))); Did that not work either? > 1. Is there any other way I can get to keep 40MB(or even 20MB) of > contiguous kernel memory space ? There used to be a patch out there called `bigphysarea' - look around, perhaps someone is still maintaining it. It should do what you want. > 2. Abt the 17MB hole, I am able to use after the _end = .; > .... is this 17MB really there in kernel image?('cos it isn't in > any segment and also it appears after _end). I doubt it is accessible, but that is really uninformed speculation on my part. > (basically, i want by data in kernel space always available to kernel > without having to bother abt swapping the pages back) User space could allocate this space and then call mlockall(). That does not guarantee *physically* contiguous space, though, and is only accessible within to the address space of that one process. Peter ------------------------------------------------------- This sf.net email is sponsored by: See the NEW Palm Tungsten T handheld. Power & Color in a compact size! http://ads.sourceforge.net/cgi-bin/redirect.pl?palm0001en _______________________________________________ kbuild-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/kbuild-devel