From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932199AbcFNRSf (ORCPT ); Tue, 14 Jun 2016 13:18:35 -0400 Received: from mga04.intel.com ([192.55.52.120]:23203 "EHLO mga04.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751727AbcFNRSd (ORCPT ); Tue, 14 Jun 2016 13:18:33 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.26,471,1459839600"; d="scan'208";a="997511819" Subject: Re: [PATCH] Linux VM workaround for Knights Landing A/D leak To: Nadav Amit , Lukasz Anaczkowski References: <1465919919-2093-1-git-send-email-lukasz.anaczkowski@intel.com> <7FB15233-B347-4A87-9506-A9E10D331292@gmail.com> Cc: LKML , linux-mm@kvack.org, Thomas Gleixner , Ingo Molnar , ak@linux.intel.com, kirill.shutemov@linux.intel.com, mhocko@suse.com, Andrew Morton , "H. Peter Anvin" , harish.srinivasappa@intel.com, lukasz.odzioba@intel.com From: Dave Hansen Message-ID: <57603C61.5000408@linux.intel.com> Date: Tue, 14 Jun 2016 10:18:25 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.8.0 MIME-Version: 1.0 In-Reply-To: <7FB15233-B347-4A87-9506-A9E10D331292@gmail.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 06/14/2016 09:47 AM, Nadav Amit wrote: > Lukasz Anaczkowski wrote: > >> > From: Andi Kleen >> > +void fix_pte_leak(struct mm_struct *mm, unsigned long addr, pte_t *ptep) >> > +{ > Here there should be a call to smp_mb__after_atomic() to synchronize with > switch_mm. I submitted a similar patch, which is still pending (hint). > >> > + if (cpumask_any_but(mm_cpumask(mm), smp_processor_id()) < nr_cpu_ids) { >> > + trace_tlb_flush(TLB_LOCAL_SHOOTDOWN, TLB_FLUSH_ALL); >> > + flush_tlb_others(mm_cpumask(mm), mm, addr, >> > + addr + PAGE_SIZE); >> > + mb(); >> > + set_pte(ptep, __pte(0)); >> > + } >> > +} Shouldn't that barrier be incorporated in the TLB flush code itself and not every single caller (like this code is)? It is insane to require individual TLB flushers to be concerned with the barriers.