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

Reply via email to