linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Steve Pratt/Austin/IBM" <slpratt@us.ibm.com>
To: linux-kernel@vger.kernel.org
Cc: torvalds@transmeta.com, linux-mm@kvack.org
Subject: [PATCH] 2.4.0-test10-pre6  TLB flush race in establish_pte
Date: Mon, 30 Oct 2000 15:31:22 -0600	[thread overview]
Message-ID: <OFB4731A18.0D8D8BC1-ON85256988.0074562B@raleigh.ibm.com> (raw)

Back in April there were discussions about the race in establish_pte with
the flush_tlb before the set_pte.  Many options were discussed, but due in
part to a concern about S/390 having introduced the code, no patch ever
appeared.  I talked with Martin Schwidefsky of the S/390 Linux development
team and he said that:

>the establish_pte was in fact introduced because of Linux/390. We wanted
to use the special S/390 instruction ipte (invalidate page >table entry).
In the meantime we found out that we need a lot more changes to be able to
use this instruction, so we disabled it again. >Until we have a proper
patch you should revoke the establish_pte change if you found it to be
faulty. I too think there is a race >condition.

So while there may be a more elegant solution down the road, I would like
to see the simple fix put back into 2.4.  Here is the patch to essential
put the code back to the way it was before the S/390 merge.  Patch is
against 2.4.0-test10pre6.

--- linux/mm/memory.c    Fri Oct 27 15:26:14 2000
+++ linux-2.4.0-test10patch/mm/memory.c  Fri Oct 27 15:45:54 2000
@@ -781,8 +781,8 @@
  */
 static inline void establish_pte(struct vm_area_struct * vma, unsigned long address, pte_t *page_table, pte_t entry)
 {
-    flush_tlb_page(vma, address);
     set_pte(page_table, entry);
+    flush_tlb_page(vma, address);
     update_mmu_cache(vma, address, entry);
 }




Linux Technology Center - IBM Corporation
11400 Burnet Road
Austin, TX  78758
(512) 838-9763  EMAIL: SLPratt@US.IBM.COM

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

             reply	other threads:[~2000-10-30 21:32 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-10-30 21:31 Steve Pratt/Austin/IBM [this message]
2000-10-30 21:39 ` [PATCH] 2.4.0-test10-pre6 TLB flush race in establish_pte Kanoj Sarcar
2000-10-31  0:30 ` Andrea Arcangeli
2000-10-31 16:23   ` Steven Pratt
2000-10-31 16:44     ` Andrea Arcangeli
2000-10-31 18:42 Ulrich.Weigand
2000-10-31 19:13 ` Andrea Arcangeli

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=OFB4731A18.0D8D8BC1-ON85256988.0074562B@raleigh.ibm.com \
    --to=slpratt@us.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=torvalds@transmeta.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).