From owner-svn-src-projects@FreeBSD.ORG Thu May 12 13:22:15 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5B7D6106564A; Thu, 12 May 2011 13:22:15 +0000 (UTC) (envelope-from asmrookie@gmail.com) Received: from mail-yi0-f54.google.com (mail-yi0-f54.google.com [209.85.218.54]) by mx1.freebsd.org (Postfix) with ESMTP id BA2368FC1A; Thu, 12 May 2011 13:22:14 +0000 (UTC) Received: by yie12 with SMTP id 12so634359yie.13 for ; Thu, 12 May 2011 06:22:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=A2UIrtnYzNLA9JyvtMJTX41JU+iMaVFfoi4DTN3XKd0=; b=XPMsFmLo413iMwJq+9nEJc5ENbL4Yv0+9sMcE2A0M/8XZIauyonECCJn2HswMIGywu 3MvtoJR40nszU/M2OX/dxbFCM/seEkWxnT41hP0upRUsTKHUGIyE0P77Z7koKWiWQSKf SaQPRdqeFxS2/jZu66R3xM580/hpCQrHdwKMQ= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; b=Y/KPbC9UzLFRpnpPlXE6E/+Pyrc6sG2AaDYNTDXXKvloRTnRmNC+jDda983FdxYCEZ 2pksBuQIRKHmcinR3iLTL2UqGC5PIlZpQGOnlCfbALEs/q0pY6tn2nnaO1gIHgCxDaPF i1U9BNKusZtlkEaK8JHGznCBDKwJ7IZ8cdRS0= MIME-Version: 1.0 Received: by 10.236.153.103 with SMTP id e67mr157690yhk.372.1305206534013; Thu, 12 May 2011 06:22:14 -0700 (PDT) Sender: asmrookie@gmail.com Received: by 10.236.111.33 with HTTP; Thu, 12 May 2011 06:22:13 -0700 (PDT) In-Reply-To: References: <201105080039.p480doiZ021493@svn.freebsd.org> Date: Thu, 12 May 2011 15:22:13 +0200 X-Google-Sender-Auth: MVkdUTKdf4bPOdXH28kOqQTShxw Message-ID: From: Attilio Rao To: Artem Belevich Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Cc: svn-src-projects@freebsd.org, Oleksandr Tymoshenko , src-committers@freebsd.org, Warner Losh , Bruce Evans Subject: Re: svn commit: r221614 - projects/largeSMP/sys/powerpc/include X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 May 2011 13:22:15 -0000 2011/5/12 Artem Belevich : > On Thu, May 12, 2011 at 5:15 AM, Attilio Rao wrote: >> 2011/5/8 Attilio Rao : >>> Author: attilio >>> Date: Sun May =C2=A08 00:39:49 2011 >>> New Revision: 221614 >>> URL: http://svn.freebsd.org/changeset/base/221614 >>> >>> Log: >>> =C2=A0All architectures define the size-bounded types (uint32_t, uint64= _t, etc.) >>> =C2=A0starting from base C types (int, long, etc). >> >> mips seems having the same issue, so here is my patch: >> http://www.freebsd.org/~attilio/largeSMP/mips-atomic.diff > > I see at least one problem. N32 ABI is ILP32 even though it can use > 64-bit registers for "long long". I'm sorry but this _longlong is non standard for our atomic scheme, nothing in the kernel uses it and in general I'd say to not add them if not strictly necessary. Said that, in the -CURRENT code it doesn't seem present, or I'm missing it? >> #if defined(__mips_n64) || defined(__mips_n32) >> static __inline void >>-atomic_set_64(__volatile uint64_t *p, uint64_t v) >>+atomic_set_long(__volatile u_long *p, u_long v) > > Using _long here would not match the assembly on N32. > > If you stick with your changes, then you should drop __mips_n32 from > the ifdef above. > You may also want to add atomic_*_longlong for n32. Actually, for o64 as = well. I'm not entirely sure in which way the above is different... or at least, I may have overlooked the _long support for __mips_n32... can you please elaborate a bit more? > I think for mips sticking with atomic_*_ would be a better fit > considering ABI zoo we potentially have to deal with. Actually you still have them, it is just the dipendency that changes. Attilio --=20 Peace can only be achieved by understanding - A. Einstein