tile: support CONFIG_PREEMPT
This change adds support for CONFIG_PREEMPT (full kernel preemption). In addition to the core support, this change includes a number of places where we fix up uses of smp_processor_id() and per-cpu variables. I also eliminate the PAGE_HOME_HERE and PAGE_HOME_UNKNOWN values for page homing, as it turns out they weren't being used. Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
This commit is contained in:
@@ -172,7 +172,8 @@ void flush_remote(unsigned long cache_pfn, unsigned long cache_control,
|
||||
|
||||
static void homecache_finv_page_va(void* va, int home)
|
||||
{
|
||||
if (home == smp_processor_id()) {
|
||||
int cpu = get_cpu();
|
||||
if (home == cpu) {
|
||||
finv_buffer_local(va, PAGE_SIZE);
|
||||
} else if (home == PAGE_HOME_HASH) {
|
||||
finv_buffer_remote(va, PAGE_SIZE, 1);
|
||||
@@ -180,6 +181,7 @@ static void homecache_finv_page_va(void* va, int home)
|
||||
BUG_ON(home < 0 || home >= NR_CPUS);
|
||||
finv_buffer_remote(va, PAGE_SIZE, 0);
|
||||
}
|
||||
put_cpu();
|
||||
}
|
||||
|
||||
void homecache_finv_map_page(struct page *page, int home)
|
||||
|
Reference in New Issue
Block a user