public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* vmalloc/vfree
@ 2002-09-10  1:12 Venu Vadapalli
  2002-09-10 13:33 ` vmalloc/vfree Brian Gerst
  0 siblings, 1 reply; 2+ messages in thread
From: Venu Vadapalli @ 2002-09-10  1:12 UTC (permalink / raw)
  To: linux-kernel

Looking at vmalloc implementation, it fills the page table mappings (pgd and 
pmd) of only init_mm. When other tasks access these pages their mappings are 
updated on demand by the page fault handler, right? Vfree, also, updates the 
entries of just init_mm and, of course, flushes the cache and the tlb. But 
what about other tasks that have acquired mappings to these pages?

-Venu



^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: vmalloc/vfree
  2002-09-10  1:12 vmalloc/vfree Venu Vadapalli
@ 2002-09-10 13:33 ` Brian Gerst
  0 siblings, 0 replies; 2+ messages in thread
From: Brian Gerst @ 2002-09-10 13:33 UTC (permalink / raw)
  To: Venu Vadapalli; +Cc: linux-kernel

Venu Vadapalli wrote:
> Looking at vmalloc implementation, it fills the page table mappings (pgd and 
> pmd) of only init_mm. When other tasks access these pages their mappings are 
> updated on demand by the page fault handler, right? Vfree, also, updates the 
> entries of just init_mm and, of course, flushes the cache and the tlb. But 
> what about other tasks that have acquired mappings to these pages?
> 
> -Venu

The pagetables for the kernel space are shared between all processes, 
except for the top level which is why the page fault handler exists. 
The actual pages that make up the shared pagetables never change once 
allocated which is the reason we can be lazy about updating the top 
level table of each task.

--
				Brian Gerst



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2002-09-10 13:29 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-09-10  1:12 vmalloc/vfree Venu Vadapalli
2002-09-10 13:33 ` vmalloc/vfree Brian Gerst

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox