Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755224AbcC1RoN (ORCPT ); Mon, 28 Mar 2016 13:44:13 -0400 Received: from smtp-outbound-2.vmware.com ([208.91.2.13]:50691 "EHLO smtp-outbound-2.vmware.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751212AbcC1RoL (ORCPT ); Mon, 28 Mar 2016 13:44:11 -0400 From: Nadav Amit To: "linux-mm@kvack.org" CC: "tglx@linutronix.de" , "mingo@redhat.com" , "hpa@zytor.com" , "x86@kernel.org" , "mgorman@suse.de" , "sasha.levin@oracle.com" , "akpm@linux-foundation.org" , "riel@redhat.com" , "dave.hansen@linux.intel.com" , "luto@kernel.org" , "kirill.shutemov@linux.intel.com" , "mhocko@suse.com" , "jmarchan@redhat.com" , "hughd@google.com" , "vdavydov@virtuozzo.com" , "minchan@kernel.org" , "linux-kernel@vger.kernel.org" Subject: Re: [PATCH v2 1/2] x86/mm: TLB_REMOTE_SEND_IPI should count pages Thread-Topic: [PATCH v2 1/2] x86/mm: TLB_REMOTE_SEND_IPI should count pages Thread-Index: AQHRiRDjQsN3eT76L0CjnYiKGRsSY59vILuA Date: Mon, 28 Mar 2016 17:44:09 +0000 Message-ID: References: <1458980705-121507-1-git-send-email-namit@vmware.com> <1458980705-121507-2-git-send-email-namit@vmware.com> In-Reply-To: <1458980705-121507-2-git-send-email-namit@vmware.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-messagesentrepresentingtype: 1 x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [10.113.170.11] Content-Type: text/plain; charset="utf-8" Content-ID: <8EEF474E3F37434CA8B72ED2DF6E1F53@vmware.com> MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by mail.home.local id u2SHiJnF009760 Content-Length: 1708 Lines: 62 The commit message should have said: Fixes: 5b74283ab251b9db55cbbe31d19ca72482103290 (and not what it currently says). Let me know whether to submit v3. Nadav On 3/26/16, 1:25 AM, "Nadav Amit" wrote: >TLB_REMOTE_SEND_IPI was recently introduced, but it counts bytes instead >of pages. In addition, it does not report correctly the case in which >flush_tlb_page flushes a page. Fix it to be consistent with other TLB >counters. > >Fixes: 4595f9620cda8a1e973588e743cf5f8436dd20c6 > >Signed-off-by: Nadav Amit >--- > arch/x86/mm/tlb.c | 12 +++++++++--- > 1 file changed, 9 insertions(+), 3 deletions(-) > >diff --git a/arch/x86/mm/tlb.c b/arch/x86/mm/tlb.c >index 8f4cc3d..5fb6ada 100644 >--- a/arch/x86/mm/tlb.c >+++ b/arch/x86/mm/tlb.c >@@ -106,8 +106,6 @@ static void flush_tlb_func(void *info) > > if (f->flush_mm != this_cpu_read(cpu_tlbstate.active_mm)) > return; >- if (!f->flush_end) >- f->flush_end = f->flush_start + PAGE_SIZE; > > count_vm_tlb_event(NR_TLB_REMOTE_FLUSH_RECEIVED); > if (this_cpu_read(cpu_tlbstate.state) == TLBSTATE_OK) { >@@ -135,12 +133,20 @@ void native_flush_tlb_others(const struct cpumask *cpumask, > unsigned long end) > { > struct flush_tlb_info info; >+ >+ if (end == 0) >+ end = start + PAGE_SIZE; > info.flush_mm = mm; > info.flush_start = start; > info.flush_end = end; > > count_vm_tlb_event(NR_TLB_REMOTE_FLUSH); >- trace_tlb_flush(TLB_REMOTE_SEND_IPI, end - start); >+ if (end == TLB_FLUSH_ALL) >+ trace_tlb_flush(TLB_REMOTE_SEND_IPI, TLB_FLUSH_ALL); >+ else >+ trace_tlb_flush(TLB_REMOTE_SEND_IPI, >+ (end - start) >> PAGE_SHIFT); >+ > if (is_uv_system()) { > unsigned int cpu; > >-- >2.5.0 >