From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 120739 invoked by alias); 21 Oct 2016 15:03:02 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Received: (qmail 120729 invoked by uid 89); 21 Oct 2016 15:03:01 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.8 required=5.0 tests=AWL,BAYES_00,KAM_LAZY_DOMAIN_SECURITY autolearn=no version=3.3.2 spammy=H*Ad:U*davem, Hx-languages-length:953, adhemerval.zanella@linaro.org, adhemervalzanellalinaroorg X-HELO: shards.monkeyblade.net Date: Fri, 21 Oct 2016 15:03:00 -0000 Message-Id: <20161021.110249.687908473092175894.davem@davemloft.net> To: adhemerval.zanella@linaro.org Cc: andreas@gaisler.com, libc-alpha@sourceware.org Subject: Re: Remove sparcv8 support From: David Miller In-Reply-To: <2ebab6ef-3ca4-9ee5-3158-488f368b8a8d@linaro.org> References: <48cdf008-b66a-d411-a07a-5a38595978b9@linaro.org> <5809D90E.1090005@gaisler.com> <2ebab6ef-3ca4-9ee5-3158-488f368b8a8d@linaro.org> Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-SW-Source: 2016-10/txt/msg00355.txt.bz2 From: Adhemerval Zanella Date: Fri, 21 Oct 2016 11:13:09 -0200 > This is because new algorithm uses atomic_compare_exchange_weak_release and > for pre-v9 sparc32 it will have to use a lock embedded into the barrier > (as for previous implementation). Ideally we would like to do in a way that > can be embedded into the generic code so that you don't have to maintain > sparc-specific files. I would not put that into a generic implementation, such a scheme deadlocks in the presence of signals. And yes the existing sparc v7 locking deadlocks this way as well and has done so since day one, many of the threaded test cases in glibc timeout and fail for this very reason. The only long term solution is to do what ARM and others have done which is provide an atomic primitive in the Linux kernel which executes via a system call or similar which will eliminate the signal based deadlocks.