Yes, graphical guys ask me the same questions, and the other device drivers which don't support scatter buffer also have this doubt.
Best Regards, Peter Chen |
On Mon, 2009-03-30 at 11:53 -0400, Peter Teoh wrote:
On Mon, Mar 30, 2009 at 8:13 AM, Peter Chen <hzpeterchen@xxxxxxxxx> wrote: > Hi all, > > I have two questions about alloc continual physical memory, hope you can > give me some tips. > > 1. How biggest continual physical memory the kernel can be ensured to give > during the kernel running? > 2. What is the threshold value for alloc_page and kmalloc? > both asking the same question. that is a difficult question to answer. it start changing when the system starts running, and perhaps the contiguity property is needed in graphic card drivers - are u in that area?
but check this out: http://lwn.net/Articles/211505/ it is trying to meet what you are asking - getting the memory to be less fragmented as much as possible. and look into the page migration (http://lwn.net/Articles/160201/) codes as well. BUT SOrry...i cannot answer your question. just have to call alloc_pages() or kmalloc()...and if it returned, contiguity is guaranteed. as for interpretation of /proc/slabinfo and its use to answer your question.....i think there may be a way.....but i am not sure. > This memory is demanded to alloc dymatically, not using alloc_bootmem during > the system bootup. > > Thank you in advance > > Best Regards, > Peter Chen