Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp1205757imu; Wed, 23 Jan 2019 12:35:19 -0800 (PST) X-Google-Smtp-Source: ALg8bN5miNyX2mDaVa63QN7djkLiFEYzYQr9N5R5x8m+cEFh9bH9MUSf27gMXdVI6P1yadQssR5o X-Received: by 2002:a17:902:76cb:: with SMTP id j11mr3826868plt.179.1548275719211; Wed, 23 Jan 2019 12:35:19 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1548275719; cv=none; d=google.com; s=arc-20160816; b=jzpsZlDLxKee37GJabhKIe2JIhKamJwBmcpbj3cUfWVwCrmKIErAx9gUO4wdoQ3fVL QhuJ25qP9MKsKPCjn/HVUqTrSuRFzcVzI1R7vl09kuj5T97aZ62JHTOvIdNi/gBifVvi E4bXb/OvO8HtOy8ANjy7O3p8Vn5i1cuOFpSt5tPCZ4OrU/VqCKhUtjL8P4fODgrs/613 lQgxTXelCDGfhFaiX8b6xcNsCgtgW+3De0uWo7/V9nn0hElTivL+KHWhPUKPbAGOTDgG L9hyO3OGkbVzYfNR2gsmP4rkLxCVtdXucQapIO0HyNS8ZaGf8bD9mRlFjnFUFbk2uwR2 cwGQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=v3jNlULmSE1VwiKJZu9XoB4X2QYGbn4gc7r4/sN0uaE=; b=PcYq7lfjxAUa5n89SB6uO/d2SdxU2tTAQUWA28DOdUvz6GeVP9YDbW5HShGE/hJmBC SRa5kDboifxEdU5jAlACXuLGLbjEhjhfNsk47/TiPCv5/pMHzSKsVJwTUYcu5S0yiha1 t0rRwi8F9RXRW4PNnvBWTiJN1hQhJ3U9Xhua1BoZFGLKXK2IKWODYahJrqqQs8E5/DeO VB4tVQlBqKS04g+TJFZ0fMQqbf8T97PIPe20iEkgZ/VnZppgHWTU2Ix+JgkGMgHBBk3/ ixw4Ni8eBuJZAuEURG1EPS+sVdkXT1DmjxlEmcSgG2Y+m0p/pIdUOi+bxjSeV973jvR6 GoRw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@synopsys.com header.s=mail header.b=VCwEHtpu; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=synopsys.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id j6si4515475pfc.57.2019.01.23.12.35.02; Wed, 23 Jan 2019 12:35:19 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@synopsys.com header.s=mail header.b=VCwEHtpu; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=synopsys.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726367AbfAWUda (ORCPT + 99 others); Wed, 23 Jan 2019 15:33:30 -0500 Received: from smtprelay4.synopsys.com ([198.182.47.9]:44740 "EHLO smtprelay.synopsys.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726177AbfAWUd3 (ORCPT ); Wed, 23 Jan 2019 15:33:29 -0500 Received: from mailhost.synopsys.com (badc-mailhost2.synopsys.com [10.192.0.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtprelay.synopsys.com (Postfix) with ESMTPS id BFB4124E08FE; Wed, 23 Jan 2019 12:33:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=synopsys.com; s=mail; t=1548275609; bh=/YPzUCBU7GMseM6oGutvXPyXevw5WaEZWn2TeW3rLb0=; h=From:To:CC:Subject:Date:In-Reply-To:References:From; b=VCwEHtpuLINV899uuD3C4uvwIg3nf3I66r7K0NjIWgk3/IIsqDYzJjrhU6Rqoo7Zh QPegu7LIcLeeQPWfeHoJUNic3qZxpPlMmIaibbNObQE2S/tYvtx/01U42BEBOkJKlh HUJmlEeR4SDC/TuNN1RJwppUYEQiIyhWIIqv95LpyHqFT+VVmpvffsyzTA8+L0NCwX uNHAUx4T/Iq6k29s4iYvIdtfo5LwBtRIi0pWzDt8WNw5y8l7FFX4DHWYY3oLcCAMgj hZ64fDEo+IfbFBe8NDaGsjxVSjTnSFCJhUMfokS/5JYqcLV0kZD4aXXv0UVYdA/pPG T1W+VLqargwgw== Received: from US01WEHTC3.internal.synopsys.com (us01wehtc3.internal.synopsys.com [10.15.84.232]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by mailhost.synopsys.com (Postfix) with ESMTPS id A765EA0066; Wed, 23 Jan 2019 20:33:27 +0000 (UTC) Received: from IN01WEHTCA.internal.synopsys.com (10.144.199.104) by US01WEHTC3.internal.synopsys.com (10.15.84.232) with Microsoft SMTP Server (TLS) id 14.3.408.0; Wed, 23 Jan 2019 12:33:27 -0800 Received: from IN01WEHTCB.internal.synopsys.com (10.144.199.105) by IN01WEHTCA.internal.synopsys.com (10.144.199.103) with Microsoft SMTP Server (TLS) id 14.3.408.0; Thu, 24 Jan 2019 02:03:28 +0530 Received: from vineetg-Latitude-E7450.internal.synopsys.com (10.10.161.70) by IN01WEHTCB.internal.synopsys.com (10.144.199.243) with Microsoft SMTP Server (TLS) id 14.3.408.0; Thu, 24 Jan 2019 02:03:25 +0530 From: Vineet Gupta To: CC: , , , , Vineet Gupta , Miklos Szeredi , Ingo Molnar , Jani Nikula , Chris Wilson , Andrew Morton Subject: [PATCH v2 3/3] bitops.h: set_mask_bits() to return old value Date: Wed, 23 Jan 2019 12:33:04 -0800 Message-ID: <1548275584-18096-4-git-send-email-vgupta@synopsys.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1548275584-18096-1-git-send-email-vgupta@synopsys.com> References: <1548275584-18096-1-git-send-email-vgupta@synopsys.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.10.161.70] Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org | > Also, set_mask_bits is used in fs quite a bit and we can possibly come up | > with a generic llsc based implementation (w/o the cmpxchg loop) | | May I also suggest changing the return value of set_mask_bits() to old. | | You can compute the new value given old, but you cannot compute the old | value given new, therefore old is the better return value. Also, no | current user seems to use the return value, so changing it is without | risk. Link: http://lkml.kernel.org/g/20150807110955.GH16853@twins.programming.kicks-ass.net Suggested-by: Peter Zijlstra Cc: Miklos Szeredi Cc: Ingo Molnar Cc: Jani Nikula Cc: Chris Wilson Cc: Andrew Morton Reviewed-by: Anthony Yznaga Acked-by: Will Deacon Signed-off-by: Vineet Gupta --- include/linux/bitops.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/linux/bitops.h b/include/linux/bitops.h index 705f7c442691..602af23b98c7 100644 --- a/include/linux/bitops.h +++ b/include/linux/bitops.h @@ -246,7 +246,7 @@ static __always_inline void __assign_bit(long nr, volatile unsigned long *addr, new__ = (old__ & ~mask__) | bits__; \ } while (cmpxchg(ptr, old__, new__) != old__); \ \ - new__; \ + old__; \ }) #endif -- 2.7.4