x86: cpa: move flush to cpa

The set_memory_* and set_pages_* family of API's currently requires the
callers to do a global tlb flush after the function call; forgetting this is
a very nasty deathtrap. This patch moves the global tlb flush into
each of the callers

Signed-off-by: Arjan van de Ven <[email protected]>
Signed-off-by: Ingo Molnar <[email protected]>
Signed-off-by: Thomas Gleixner <[email protected]>
This commit is contained in:
Thomas Gleixner 2008-01-30 13:34:07 +01:00 • committed by Ingo Molnar
commit d7c8f21a8c
12 changed files with 72 additions and 115 deletions

View file

@ -124,13 +124,8 @@ static int vmlfb_alloc_vram_area(struct vram_area *va, unsigned max_order,
/*
* Change caching policy of the linear kernel map to avoid
* mapping type conflicts with user-space mappings.
* The first global_flush_tlb() is really only there to do a global
* wbinvd().
*/
global_flush_tlb();
set_pages_uc(virt_to_page(va->logical), va->size >> PAGE_SHIFT);
global_flush_tlb();
printk(KERN_DEBUG MODULE_NAME
": Allocated %ld bytes vram area at 0x%08lx\n",
@ -156,7 +151,6 @@ static void vmlfb_free_vram_area(struct vram_area *va)
set_pages_wb(virt_to_page(va->logical),
va->size >> PAGE_SHIFT);
global_flush_tlb();
/*
* Decrease the usage count on the pages we've used