From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752411AbcAEXik (ORCPT ); Tue, 5 Jan 2016 18:38:40 -0500 Received: from 216-12-86-13.cv.mvl.ntelos.net ([216.12.86.13]:50699 "EHLO brightrain.aerifal.cx" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752243AbcAEXie (ORCPT ); Tue, 5 Jan 2016 18:38:34 -0500 X-Greylist: delayed 652 seconds by postgrey-1.27 at vger.kernel.org; Tue, 05 Jan 2016 18:38:33 EST Date: Tue, 5 Jan 2016 18:27:35 -0500 From: Rich Felker To: "Michael S. Tsirkin" Cc: linux-kernel@vger.kernel.org, linux-sh@vger.kernel.org Subject: Re: [PATCH v2 31/32] sh: support a 2-byte smp_store_mb Message-ID: <20160105232735.GC238@brightrain.aerifal.cx> References: <1451572003-2440-1-git-send-email-mst@redhat.com> <1451572003-2440-32-git-send-email-mst@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1451572003-2440-32-git-send-email-mst@redhat.com> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Dec 31, 2015 at 09:09:47PM +0200, Michael S. Tsirkin wrote: > At the moment, xchg on sh only supports 4 and 1 byte values, so using it > from smp_store_mb means attempts to store a 2 byte value using this > macro fail. > > And happens to be exactly what virtio drivers want to do. > > Check size and fall back to a slower, but safe, WRITE_ONCE+smp_mb. Can you please do this for size 1 as well (i.e. all sizes != 4)? If you check the source, the code for size-1 xchg in sh cmpxchg-llsc.h is completely wrong and operates on a 32-bit object at the address passed to it. This code is presently unused anyway and I plan to submit a patch to remove the size 1 case. Rich