Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1647448 > unrolled thread

[PATCH v2 10/11] x86/mm: Be more consistent wrt PAGE_SHIFT vs PAGE_SIZE in tlb flush code

Started byAndy Lutomirski <luto@kernel.org>
First post2017-05-23 00:40 +0200
Last post2017-05-23 01:50 +0200
Articles 3 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  [PATCH v2 10/11] x86/mm: Be more consistent wrt PAGE_SHIFT vs PAGE_SIZE in tlb flush code Andy Lutomirski <luto@kernel.org> - 2017-05-23 00:40 +0200
    Re: [PATCH v2 10/11] x86/mm: Be more consistent wrt PAGE_SHIFT vs  PAGE_SIZE in tlb flush code Nadav Amit <nadav.amit@gmail.com> - 2017-05-23 01:30 +0200
      Re: [PATCH v2 10/11] x86/mm: Be more consistent wrt PAGE_SHIFT vs  PAGE_SIZE in tlb flush code Andy Lutomirski <luto@kernel.org> - 2017-05-23 01:50 +0200

#1647448 — [PATCH v2 10/11] x86/mm: Be more consistent wrt PAGE_SHIFT vs PAGE_SIZE in tlb flush code

FromAndy Lutomirski <luto@kernel.org>
Date2017-05-23 00:40 +0200
Subject[PATCH v2 10/11] x86/mm: Be more consistent wrt PAGE_SHIFT vs PAGE_SIZE in tlb flush code
Message-ID<tK49z-385-5@gated-at.bofh.it>
Nadav pointed out that some code used PAGE_SIZE and other code used
PAGE_SHIFT.  Use PAGE_SHIFT instead of multiplying or dividing by
PAGE_SIZE.

Requested-by: Nadav Amit <nadav.amit@gmail.com>
Cc: Rik van Riel <riel@redhat.com>
Cc: Dave Hansen <dave.hansen@intel.com>
Cc: Nadav Amit <namit@vmware.com>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Arjan van de Ven <arjan@linux.intel.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Andy Lutomirski <luto@kernel.org>
---
 arch/x86/mm/tlb.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/arch/x86/mm/tlb.c b/arch/x86/mm/tlb.c
index 4bfadb869a1e..20659edd9347 100644
--- a/arch/x86/mm/tlb.c
+++ b/arch/x86/mm/tlb.c
@@ -220,8 +220,7 @@ static void flush_tlb_func_common(const struct flush_tlb_info *f,
 		trace_tlb_flush(reason, TLB_FLUSH_ALL);
 	} else {
 		unsigned long addr;
-		unsigned long nr_pages =
-			(f->end - f->start) / PAGE_SIZE;
+		unsigned long nr_pages = (f->end - f->start) >> PAGE_SHIFT;
 		addr = f->start;
 		while (addr < f->end) {
 			__flush_tlb_single(addr);
@@ -351,7 +350,7 @@ void flush_tlb_kernel_range(unsigned long start, unsigned long end)
 
 	/* Balance as user space task's flush, a bit conservative */
 	if (end == TLB_FLUSH_ALL ||
-	    (end - start) > tlb_single_page_flush_ceiling * PAGE_SIZE) {
+	    (end - start) > tlb_single_page_flush_ceiling >> PAGE_SHIFT) {
 		on_each_cpu(do_flush_tlb_all, NULL, 1);
 	} else {
 		struct flush_tlb_info info;
-- 
2.9.3

[toc] | [next] | [standalone]


#1647484 — Re: [PATCH v2 10/11] x86/mm: Be more consistent wrt PAGE_SHIFT vs PAGE_SIZE in tlb flush code

FromNadav Amit <nadav.amit@gmail.com>
Date2017-05-23 01:30 +0200
SubjectRe: [PATCH v2 10/11] x86/mm: Be more consistent wrt PAGE_SHIFT vs PAGE_SIZE in tlb flush code
Message-ID<tK4VX-3CT-17@gated-at.bofh.it>
In reply to#1647448
> 
> 	/* Balance as user space task's flush, a bit conservative */
> 	if (end == TLB_FLUSH_ALL ||
> -	    (end - start) > tlb_single_page_flush_ceiling * PAGE_SIZE) {
> +	    (end - start) > tlb_single_page_flush_ceiling >> PAGE_SHIFT) {

Shouldn’t it be << ?

Nadav

[toc] | [prev] | [next] | [standalone]


#1647497 — Re: [PATCH v2 10/11] x86/mm: Be more consistent wrt PAGE_SHIFT vs PAGE_SIZE in tlb flush code

FromAndy Lutomirski <luto@kernel.org>
Date2017-05-23 01:50 +0200
SubjectRe: [PATCH v2 10/11] x86/mm: Be more consistent wrt PAGE_SHIFT vs PAGE_SIZE in tlb flush code
Message-ID<tK5fk-3JA-13@gated-at.bofh.it>
In reply to#1647484
On Mon, May 22, 2017 at 4:24 PM, Nadav Amit <nadav.amit@gmail.com> wrote:
>>
>>       /* Balance as user space task's flush, a bit conservative */
>>       if (end == TLB_FLUSH_ALL ||
>> -         (end - start) > tlb_single_page_flush_ceiling * PAGE_SIZE) {
>> +         (end - start) > tlb_single_page_flush_ceiling >> PAGE_SHIFT) {
>
> Shouldn’t it be << ?

Gah, that's embarrassing.

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web