From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pf0-f199.google.com (mail-pf0-f199.google.com [209.85.192.199]) by kanga.kvack.org (Postfix) with ESMTP id 40F836B02C4 for ; Thu, 11 May 2017 16:01:48 -0400 (EDT) Received: by mail-pf0-f199.google.com with SMTP id c6so27505560pfj.5 for ; Thu, 11 May 2017 13:01:48 -0700 (PDT) Received: from mail-pg0-x242.google.com (mail-pg0-x242.google.com. [2607:f8b0:400e:c05::242]) by mx.google.com with ESMTPS id v130si952122pgb.188.2017.05.11.13.01.47 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 11 May 2017 13:01:47 -0700 (PDT) Received: by mail-pg0-x242.google.com with SMTP id i63so4736439pgd.2 for ; Thu, 11 May 2017 13:01:47 -0700 (PDT) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\)) Subject: Re: [RFC 04/10] x86/mm: Pass flush_tlb_info to flush_tlb_others() etc From: Nadav Amit In-Reply-To: <51ec06f28360a1cc505649acaf0c9db905824115.1494160201.git.luto@kernel.org> Date: Thu, 11 May 2017 13:01:44 -0700 Content-Transfer-Encoding: quoted-printable Message-Id: References: <51ec06f28360a1cc505649acaf0c9db905824115.1494160201.git.luto@kernel.org> Sender: owner-linux-mm@kvack.org List-ID: To: Andy Lutomirski Cc: X86 ML , "linux-kernel@vger.kernel.org" , Borislav Petkov , Linus Torvalds , Andrew Morton , Mel Gorman , "linux-mm@kvack.org" , Rik van Riel , Dave Hansen , Nadav Amit , Michal Hocko , Sasha Levin > On May 7, 2017, at 5:38 AM, Andy Lutomirski wrote: >=20 > @@ -243,15 +237,15 @@ static void flush_tlb_func(void *info) > return; > } >=20 > - if (f->flush_end =3D=3D TLB_FLUSH_ALL) { > + if (f->end =3D=3D TLB_FLUSH_ALL) { > local_flush_tlb(); > trace_tlb_flush(TLB_REMOTE_SHOOTDOWN, TLB_FLUSH_ALL); > } else { > unsigned long addr; > unsigned long nr_pages =3D > - (f->flush_end - f->flush_start) / PAGE_SIZE; > - addr =3D f->flush_start; > - while (addr < f->flush_end) { > + (f->end - f->start) / PAGE_SIZE; > + addr =3D f->start; > + while (addr < f->end) { > __flush_tlb_single(addr); > addr +=3D PAGE_SIZE; > } > @@ -260,33 +254,27 @@ static void flush_tlb_func(void *info) > } >=20 > void native_flush_tlb_others(const struct cpumask *cpumask, > - struct mm_struct *mm, unsigned long = start, > - unsigned long end) > + const struct flush_tlb_info *info) > { > - struct flush_tlb_info info; > - > - info.flush_mm =3D mm; > - info.flush_start =3D start; > - info.flush_end =3D end; > - > count_vm_tlb_event(NR_TLB_REMOTE_FLUSH); > - if (end =3D=3D TLB_FLUSH_ALL) > + if (info->end =3D=3D 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); > + (info->end - info->start) >> = PAGE_SHIFT); I know it is stupid, but since you already change the code, can you make flush_tlb_func() and native_flush_tlb_others() consistent in the way they compute the number of pages? (either =E2=80=98>> PAGE_SHIFT=E2=80=99 = or =E2=80=98/ PAGE_SIZE=E2=80=99)? On a different topic: I do not like or actually understand why = TLBSTATE_OK is defined as 1 and not 0. The very least it would generate a better = code. Thanks, Nadav= -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org