qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 0/7] target-ppc/linux-user: NPTL support


From: malc
Subject: Re: [Qemu-devel] [PATCH 0/7] target-ppc/linux-user: NPTL support
Date: Sat, 6 Jun 2009 03:04:38 +0400 (MSD)

On Thu, 4 Jun 2009, Nathan Froyd wrote:

> This patch series adds NPTL support in Linux user-mode emulation to
> 32-bit PowerPC targets.
> 
> The main complication comes from implementing atomic instructions
> properly.  We chose to implement a simplistic model:
> 
> - reserved loads record the value loaded;
> 
> - conditional stores check that the memory at the effective address
>   contains the value loaded by the previous reserved load, in addition
>   to all other checks.  if so, the store succeeds; otherwise, it fails.

I think this will break code that relies on the fact that ll/sc is not
affected by the ABA problem.

> 
> It is possible to implement something more sophisticated using mprotect:
> 
> - reserved loads write-protect the page from which the value is loaded;
> 
> - regular stores to the page (through SIGSEGV handling) remove the write
>   protection (which is roughly how the architecture really works);
> 
> - conditional stores fail if the page was not write-protected, in
>   addition to all other checks.  If the store succeeds, then the page is
>   unprotected.
> 
> but the simple scheme works well enough and should be somewhat faster.
> The simple scheme is what's already done for system mode, too; it's even
> slightly dumber in system mode because we don't check for equality of
> values.

[..snip..]

-- 
mailto:address@hidden




reply via email to

[Prev in Thread] Current Thread [Next in Thread]