public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Jamie Lokier <jamie@shareable.org>
To: Andrew Morton <akpm@osdl.org>
Cc: jun.nakajima@intel.com, davej@redhat.com, torvalds@osdl.org,
	linux-kernel@vger.kernel.org, richard.brunner@amd.com
Subject: Re: [PATCH] Mutilated form of Andi Kleen's AMD prefetch errata patch
Date: Wed, 1 Oct 2003 07:57:05 +0100	[thread overview]
Message-ID: <20031001065705.GI1131@mail.shareable.org> (raw)
In-Reply-To: <20030930233258.37ed9f7f.akpm@osdl.org>

Andrew Morton wrote:
> Looking at Andi's patch, it is also a dead box if the fault happens inside
> down_write(mmap_sem).  That should be fixed, methinks.
> 
> And I think we're also a bit deadlocky if it happens inside down_read(),
> because double down_read() is illegal because an intervening down_write()
> from another thread can block the second down_read().  Or maybe not: the
> rwsem semantics may have changed since I last looked.
> 
> And if the fault happens inside spinlock on a !CONFIG_PREEMPT kernel we end
> up doing down_read() with spinlocks held, I think?

Ouch, ouch and ouch.  You're right, it is a serious problem with the
patch.  It is easy enough to fix by making the fault handler not take
mmap_sem if the fault's in the kernel address range.  (With apologies
to the folk running kernel mode userspace...)

> Yup.  Although prefetch-loop-arrays doesn't sound like something which will
> deref a dud pointer?

It might deref off the end of a mapped region.

> > I understand you're advocating a policy that says we can't do anything
> > about old systems, but from 2.6 onwards apps can depend on not being
> > hit by that erratum in userspace, is that right?
> 
> I expect this will be backported to 2.4 asap.

I agree, but there's going to be an installed base of _current_ 2.4
kernels, on these AMD CPUs, for some years to come.  App and library
writers will have to know about the erratum if they want to use the
prefetch instruction, for a while yet.

Btw, does anyone know if the "prefetchw" instruction is affected by
the erratum?  I see that in current 2.6, only the "prefetchnta"
instruction is disabled so presumably "prefetchw" is ok?

-- Jamie

  reply	other threads:[~2003-10-01  6:57 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-10-01  4:30 [PATCH] Mutilated form of Andi Kleen's AMD prefetch errata patch Nakajima, Jun
2003-10-01  5:38 ` Jamie Lokier
2003-10-01  5:48   ` Andrew Morton
2003-10-01  6:13     ` Jamie Lokier
2003-10-01  6:32       ` Andrew Morton
2003-10-01  6:57         ` Jamie Lokier [this message]
     [not found] <7F740D512C7C1046AB53446D3720017304AFCF@scsmsx402.sc.intel.com.suse.lists.linux.kernel>
     [not found] ` <20031001053833.GB1131@mail.shareable.org.suse.lists.linux.kernel>
     [not found]   ` <20030930224853.15073447.akpm@osdl.org.suse.lists.linux.kernel>
     [not found]     ` <20031001061348.GE1131@mail.shareable.org.suse.lists.linux.kernel>
     [not found]       ` <20030930233258.37ed9f7f.akpm@osdl.org.suse.lists.linux.kernel>
2003-10-01  6:47         ` Andi Kleen
2003-10-01  7:00           ` Andrew Morton
2003-10-01  7:06             ` Andi Kleen
2003-10-01  7:31               ` Jamie Lokier
2003-10-01  7:41                 ` Andi Kleen
2003-10-01  8:02                 ` Hugh Dickins
2003-10-01  8:49                   ` Andi Kleen
2003-10-01  9:33                   ` Jamie Lokier
2003-10-01 14:51                     ` Andrew Morton
2003-10-01 14:56                       ` Andi Kleen
2003-10-01 15:19                         ` Andrew Morton
2003-10-01 15:24                           ` Andi Kleen
2003-10-01 16:18                       ` Jamie Lokier
2003-10-01  7:20           ` Jamie Lokier
2003-10-01  7:39             ` Andi Kleen
2003-10-01  8:20               ` Jamie Lokier
     [not found]         ` <20031001065705.GI1131@mail.shareable.org.suse.lists.linux.kernel>
2003-10-01  7:15           ` Andi Kleen
2003-10-01  7:24           ` Andi Kleen
2003-10-01  7:55             ` Jamie Lokier
2003-10-01  8:00               ` Andi Kleen
  -- strict thread matches above, loose matches on Subject: below --
2003-10-01  2:23 Nakajima, Jun
2003-10-01  2:51 ` Jamie Lokier
2003-10-01  3:14   ` Andrew Morton
2003-10-01  1:54 Nakajima, Jun
2003-10-01  2:07 ` Andrew Morton
2003-10-01  2:08 ` Mike Fedyk
     [not found] <20030930073814.GA26649@mail.jlokier.co.uk.suse.lists.linux.kernel>
     [not found] ` <20030930132211.GA23333@redhat.com.suse.lists.linux.kernel>
     [not found]   ` <20030930133936.GA28876@mail.shareable.org.suse.lists.linux.kernel>
     [not found]     ` <20030930135324.GC5507@redhat.com.suse.lists.linux.kernel>
     [not found]       ` <20030930144526.GC28876@mail.shareable.org.suse.lists.linux.kernel>
     [not found]         ` <20030930150825.GD5507@redhat.com.suse.lists.linux.kernel>
     [not found]           ` <20030930165450.GF28876@mail.shareable.org.suse.lists.linux.kernel>
     [not found]             ` <20030930172618.GE5507@redhat.com.suse.lists.linux.kernel>
2003-09-30 19:08               ` Andi Kleen
2003-09-30 20:08                 ` H. Peter Anvin
2003-09-30  7:38 Jamie Lokier
2003-09-30  8:01 ` Nick Piggin
2003-09-30 13:22 ` Dave Jones
2003-09-30 13:39   ` Jamie Lokier
2003-09-30 13:53     ` Dave Jones
2003-09-30 14:45       ` Jamie Lokier
2003-09-30 15:08         ` Dave Jones
2003-09-30 16:54           ` Jamie Lokier
2003-09-30 17:26             ` Dave Jones
2003-09-30 23:55               ` Jamie Lokier
2003-10-01  0:27                 ` Andrew Morton

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=20031001065705.GI1131@mail.shareable.org \
    --to=jamie@shareable.org \
    --cc=akpm@osdl.org \
    --cc=davej@redhat.com \
    --cc=jun.nakajima@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=richard.brunner@amd.com \
    --cc=torvalds@osdl.org \
    /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