| To: | Joshua Kinard <kumba@gentoo.org> |
|---|---|
| Subject: | Re: [PATCH]: Improve atomic.h robustness |
| From: | Ralf Baechle <ralf@linux-mips.org> |
| Date: | Tue, 14 Aug 2012 14:37:13 +0200 |
| Cc: | Linux MIPS List <linux-mips@linux-mips.org> |
| In-reply-to: | <4FE7B86E.7030601@gentoo.org> |
| List-archive: | <http://www.linux-mips.org/archives/linux-mips/> |
| List-help: | <mailto:ecartis@linux-mips.org?Subject=help> |
| List-id: | linux-mips <linux-mips.eddie.linux-mips.org> |
| List-owner: | <mailto:ralf@linux-mips.org> |
| List-post: | <mailto:linux-mips@linux-mips.org> |
| List-software: | Ecartis version 1.0.0 |
| List-subscribe: | <mailto:ecartis@linux-mips.org?subject=subscribe%20linux-mips> |
| List-unsubscribe: | <mailto:ecartis@linux-mips.org?subject=unsubscribe%20linux-mips> |
| References: | <4FE7B86E.7030601@gentoo.org> |
| Sender: | linux-mips-bounce@linux-mips.org |
| User-agent: | Mutt/1.5.21 (2010-09-15) |
On Sun, Jun 24, 2012 at 09:01:34PM -0400, Joshua Kinard wrote: > I've maintained this patch, originally from Thiemo Seufer in 2004, for a > really long time, but I think it's time for it to get a look at for possible > inclusion. I have had no problems with it across various SGI systems over > the years. > > To quote the post here: > http://www.linux-mips.org/archives/linux-mips/2004-12/msg00000.html > > "the atomic functions use so far memory references for the inline > assembler to access the semaphore. This can lead to additional > instructions in the ll/sc loop, because newer compilers don't > expand the memory reference any more but leave it to the assembler. > > The appended patch uses registers instead, and makes the ll/sc > arguments more explicit. In some cases it will lead also to better > register scheduling because the register isn't bound to an output > any more." I have faint memories of having tried this myself and very ancient compilers didn't like the + constraint in inline assembler; somewhat less ancient compilers did generate slightly bigger code. With gcc 4.7 I am getting exactly the same codesize as without your patch applied. The patch shouldn't do anything to robustness but sureles makes the inline assembler a bit more readable so I'm queueing this for the next release. Thanks, Ralf |
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | Re: [PATCH v3 4/4] MIPS: ath79: don't override CPU ASE features, Gabor Juhos |
|---|---|
| Next by Date: | Re: [PATCH V6 4/5] USB: Add EHCI bus glue for Loongson1x SoCs (UPDATED), Florian Fainelli |
| Previous by Thread: | [PATCH 1/2] MIPS: Netlogic: define cpu_has_fpu macro, Jayachandran C |
| Next by Thread: | Re: [PATCH V6 4/5] USB: Add EHCI bus glue for Loongson1x SoCs (UPDATED), Florian Fainelli |
| Indexes: | [Date] [Thread] [Top] [All Lists] |