<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Sun, Mar 23, 2014 at 9:54 AM, Anup Buchke <span dir="ltr">&lt;<a href="mailto:anup.estuff@gmail.com" target="_blank">anup.estuff@gmail.com</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><span style="color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Arial,sans-serif;font-size:15px">For a user/kernel configuration of 3/1GB and (0-16M DMA , 16-896 - Low , 896 - 1024 - High )</span><br style="margin:0px;padding:0px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Arial,sans-serif;font-size:15px">


<b style="margin:0px;padding:0px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Arial,sans-serif;font-size:15px">Q:</b><span style="color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Arial,sans-serif;font-size:15px"> Is amount of memory allocated to Vmalloc limited to 128MB?</span><br style="margin:0px;padding:0px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Arial,sans-serif;font-size:15px">


<br style="margin:0px;padding:0px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Arial,sans-serif;font-size:15px"></div></blockquote><div>The upper 128MB in virtual space(HIGHMEM) is not a limit for allocation but for mapping of physical memory. So at a time you can allocate 128MB of memory using vmalloc which is mapped in physical memory. If you try to allocate more then the aged pages will be swapped out and new pages will goven that space.</div>

<div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><span style="color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Arial,sans-serif;font-size:15px">I read an article which said to increase the Vmalloc allocation size we need to either</span><br style="margin:0px;padding:0px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Arial,sans-serif;font-size:15px">


<b style="margin:0px;padding:0px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Arial,sans-serif;font-size:15px">1)</b><span style="color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Arial,sans-serif;font-size:15px"> Change user/kernel distribution like 2.75/1.25 which proportionately increase the address space available to High memory </span></div>

</blockquote><div><br></div><div>I don&#39;t think it is possible to have virtual address space split in fractions like you mentioned. But it you can have U/K split like 3:1, 2:2 and 1:3 by configuring it in Kernel. But 3:1 U/K split is the recommended one.</div>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><br style="margin:0px;padding:0px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Arial,sans-serif;font-size:15px">


<b style="margin:0px;padding:0px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Arial,sans-serif;font-size:15px">2)</b><span style="color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Arial,sans-serif;font-size:15px"> For a fixed user/kernel distribution reduce the low memory like 16-800 thereby increasing the size available for high memory.</span></div>

</blockquote><div>This is something that has to explored. </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><br style="margin:0px;padding:0px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Arial,sans-serif;font-size:15px">


<br style="margin:0px;padding:0px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Arial,sans-serif;font-size:15px"><span style="color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Arial,sans-serif;font-size:15px">In either of the case the memory for vmalloc is limited to user/kernel distribution . i.e. the amount of virtual address space available in high memory.</span></div>

</blockquote><div><br></div><div>Again there is not limit on allocation of memory but it comes with a cost of lot swap in, swap out of pages if you try to allocate more than 128MB.</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div dir="ltr"> <br style="margin:0px;padding:0px;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Arial,sans-serif;font-size:15px"></div></blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div dir="ltr"><span style="color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Arial,sans-serif;font-size:15px">I am a beginner, so please let me know if my understanding is correct..and rectify in-case of wrong.?</span><br>


<div><span style="color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Arial,sans-serif;font-size:15px"><br></span></div></div></blockquote><div><br></div><div>This all holds true for 32 bit architecture. For 64 bit machines (which I am running on my host) the virtual address space is huge and it is equally divided between U/K space. The HIGHMEM concept also does not come here as you have a huge amount of physical memory mapped to virtual address space in kernel.</div>
<div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><span style="color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Arial,sans-serif;font-size:15px"></span></div>
<div><span style="color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Arial,sans-serif;font-size:15px">Thanks,</span></div>

<div><span style="color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Arial,sans-serif;font-size:15px">Anup Buchke.</span></div></div>
<br>_______________________________________________<br>
Kernelnewbies mailing list<br>
<a href="mailto:Kernelnewbies@kernelnewbies.org" target="_blank">Kernelnewbies@kernelnewbies.org</a><br>
<a href="http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies" target="_blank">http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br>Thanks and Regards<br>Pramod<br>
</div></div>