From patchwork Wed Jun 21 09:38:38 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jan Beulich X-Patchwork-Id: 9801351 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id DE3B160329 for ; Wed, 21 Jun 2017 09:40:41 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 0F0CD28508 for ; Wed, 21 Jun 2017 09:40:40 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 03BE92853C; Wed, 21 Jun 2017 09:40:40 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.2 required=2.0 tests=BAYES_00, RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 7C44128508 for ; Wed, 21 Jun 2017 09:40:39 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dNc60-0000qT-HD; Wed, 21 Jun 2017 09:38:44 +0000 Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dNc5z-0000qA-5n for xen-devel@lists.xenproject.org; Wed, 21 Jun 2017 09:38:43 +0000 Received: from [85.158.137.68] by server-13.bemta-3.messagelabs.com id 1B/69-17076-2AE3A495; Wed, 21 Jun 2017 09:38:42 +0000 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrNIsWRWlGSWpSXmKPExsXS6fjDS3ehnVe kwaNNphbft0xmcmD0OPzhCksAYxRrZl5SfkUCa8ax2VNYCm4JVzz9+Yi5gXGxQBcjJ4eQQJ5E X8MLRhCbV8BOYt3c7awgtoSAocTphTdZuhg5OFgEVCUOzk8HCbMJqEu0PQMp4eAQETCQOHc0q YuRi4NZYC2TxMVZd5lAaoQFjCV+r3zGAjG+SGLrgdXsIDangL3EnGWv2UB6eQUEJf7uEAYJMw NtPX/mAcsERp5ZCJlZSDIQtpbEw1+3oGxtiWULXzODlDMLSEss/8cBYdpKTLwZganCQ2L7rPQ FjByrGDWKU4vKUot0DY31kooy0zNKchMzc3QNDYz1clOLixPTU3MSk4r1kvNzNzECA5UBCHYw btvueYhRkoNJSZT3gqxXpBBfUn5KZUZicUZ8UWlOavEhRhkODiUJ3r22QDnBotT01Iq0zBxgz MCkJTh4lER4l5kDpXmLCxJzizPTIVKnGBWlxHkbQfoEQBIZpXlwbbA4vcQoKyXMywh0iBBPQW pRbmYJqvwrRnEORiVh3gAboCk8mXklcNNfAS1mAlr84ogHyOKSRISUVAOjwQeJ0KPl12f3/iw xW1C1WPzEC+Om15e1+Fc8eFd7nv/IBdUTooc0Q8805+i/mLfDcJP11HVXDj/eO/vNfp3fHplG LKK/m+Zp5mza6na8X3lP9dm7Vff8E+K+JWksfyuVq8PtX24km1p/3GzBBYnjy6dWbLJ+7pPbz nuXQe7A752OPHla+ioeSizFGYmGWsxFxYkA9QbiiM4CAAA= X-Env-Sender: JBeulich@suse.com X-Msg-Ref: server-7.tower-31.messagelabs.com!1498037920!99123104!1 X-Originating-IP: [137.65.248.74] X-SpamReason: No, hits=0.0 required=7.0 tests= X-StarScan-Received: X-StarScan-Version: 9.4.19; banners=-,-,- X-VirusChecked: Checked Received: (qmail 34531 invoked from network); 21 Jun 2017 09:38:41 -0000 Received: from prv-mh.provo.novell.com (HELO prv-mh.provo.novell.com) (137.65.248.74) by server-7.tower-31.messagelabs.com with DHE-RSA-AES256-GCM-SHA384 encrypted SMTP; 21 Jun 2017 09:38:41 -0000 Received: from INET-PRV-MTA by prv-mh.provo.novell.com with Novell_GroupWise; Wed, 21 Jun 2017 03:38:39 -0600 Message-Id: <594A5ABE02000078001650C2@prv-mh.provo.novell.com> X-Mailer: Novell GroupWise Internet Agent 14.2.2 Date: Wed, 21 Jun 2017 03:38:38 -0600 From: "Jan Beulich" To: "xen-devel" References: <594A57B10200007800165012@prv-mh.provo.novell.com> <594A57B10200007800165012@prv-mh.provo.novell.com> In-Reply-To: <594A57B10200007800165012@prv-mh.provo.novell.com> Mime-Version: 1.0 Cc: Stefano Stabellini , Wei Liu , George Dunlap , Andrew Cooper , Ian Jackson , Tim Deegan Subject: [Xen-devel] [PATCH 11/11] gnttab: drop useless locking X-BeenThere: xen-devel@lists.xen.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" X-Virus-Scanned: ClamAV using ClamSMTP Holding any lock while accessing the maptrack entry fields is pointless, as these entries are protected by their associated active entry lock (which is being acquired later, before re-validating the fields read without holding the lock). Signed-off-by: Jan Beulich gnttab: drop useless locking Holding any lock while accessing the maptrack entry fields is pointless, as these entries are protected by their associated active entry lock (which is being acquired later, before re-validating the fields read without holding the lock). Signed-off-by: Jan Beulich --- a/xen/common/grant_table.c +++ b/xen/common/grant_table.c @@ -1122,19 +1122,14 @@ __gnttab_unmap_common( smp_rmb(); map = &maptrack_entry(lgt, op->handle); - grant_read_lock(lgt); - if ( unlikely(!read_atomic(&map->flags)) ) { - grant_read_unlock(lgt); gdprintk(XENLOG_INFO, "Zero flags for handle %#x\n", op->handle); op->status = GNTST_bad_handle; return; } dom = map->domid; - grant_read_unlock(lgt); - if ( unlikely((rd = rcu_lock_domain_by_id(dom)) == NULL) ) { /* This can happen when a grant is implicitly unmapped. */ --- a/xen/common/grant_table.c +++ b/xen/common/grant_table.c @@ -1122,19 +1122,14 @@ __gnttab_unmap_common( smp_rmb(); map = &maptrack_entry(lgt, op->handle); - grant_read_lock(lgt); - if ( unlikely(!read_atomic(&map->flags)) ) { - grant_read_unlock(lgt); gdprintk(XENLOG_INFO, "Zero flags for handle %#x\n", op->handle); op->status = GNTST_bad_handle; return; } dom = map->domid; - grant_read_unlock(lgt); - if ( unlikely((rd = rcu_lock_domain_by_id(dom)) == NULL) ) { /* This can happen when a grant is implicitly unmapped. */