/* When clflush is available always use it because it is much cheaper than WBINVD. */- if (a->full_flush || !cpu_has_clflush)+ if ((a->full_flush || !cpu_has_clflush) && !cpu_has_ss) asm volatile("wbinvd" ::: "memory"); list_for_each_entry(f, &a->l, l) {- if (!a->full_flush)+ if (!a->full_flush && !cpu_has_ss) clflush_cache_range((void *)f->addr, PAGE_SIZE); if (!a->full_flush) __flush_tlb_one(f->addr);