From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1948534AbdEZSSh (ORCPT ); Fri, 26 May 2017 14:18:37 -0400 Received: from userp1040.oracle.com ([156.151.31.81]:23569 "EHLO userp1040.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S944464AbdEZSS1 (ORCPT ); Fri, 26 May 2017 14:18:27 -0400 Subject: Re: [PATCH v2 11/18] xen/pvcalls: implement accept command To: Stefano Stabellini , xen-devel@lists.xen.org References: <1495236179-27776-1-git-send-email-sstabellini@kernel.org> <1495236179-27776-11-git-send-email-sstabellini@kernel.org> Cc: linux-kernel@vger.kernel.org, jgross@suse.com, Stefano Stabellini From: Boris Ostrovsky Message-ID: Date: Fri, 26 May 2017 14:18:07 -0400 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: <1495236179-27776-11-git-send-email-sstabellini@kernel.org> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-Source-IP: aserv0021.oracle.com [141.146.126.233] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org > static void __pvcalls_back_accept(struct work_struct *work) > { > + struct sockpass_mapping *mappass = container_of( > + work, struct sockpass_mapping, register_work); > + struct sock_mapping *map; > + struct pvcalls_ioworker *iow; > + struct pvcalls_back_priv *priv; > + struct xen_pvcalls_response *rsp; > + struct xen_pvcalls_request *req; > + void *page = NULL; > + int notify; > + int ret = -EINVAL; > + unsigned long flags; > + > + priv = mappass->priv; > + /* We only need to check the value of "cmd" atomically on read. */ > + spin_lock_irqsave(&mappass->copy_lock, flags); > + req = &mappass->reqcopy; > + if (req->cmd != PVCALLS_ACCEPT) { > + spin_unlock_irqrestore(&mappass->copy_lock, flags); > + return; > + } > + spin_unlock_irqrestore(&mappass->copy_lock, flags); > + > + map = kzalloc(sizeof(*map), GFP_KERNEL); >>From here on, the code looks almost identical to connect. Can this be factored out? -boris