Received: by 2002:a25:c205:0:0:0:0:0 with SMTP id s5csp821511ybf; Thu, 27 Feb 2020 00:04:03 -0800 (PST) X-Google-Smtp-Source: APXvYqwjVcaKe53fnGQbSDR5CurdHjRrSNSHX8tWQLwkZcS1RPVjh1s8Ahp17vOdPY7Fqkx+EPey X-Received: by 2002:a9d:6290:: with SMTP id x16mr2164379otk.343.1582790643843; Thu, 27 Feb 2020 00:04:03 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1582790643; cv=none; d=google.com; s=arc-20160816; b=QUhqLEqLYfWbSROv7KKH2hWDUckuEIQ+2FrmUblhVmkHESy7QzdECKnEaFym0y5WEa lKsKgXXRpjcXODIQ15auFATOQsZUVdC1qAMdYk8hOy6lqe3pawaGYbLq1lLNOsOpUh7y MlT/YrEfCLAzPsrbYkuE33Q+po26oVOaz/qzUBMFGsFDw3VTVXcn7/xXd20rTZSGo3Fc WVArAoptvzf0jqHQ3gsMfAzffTpWn5N2nyE0sckBbu93g3VoEWBwFy3HzdYqQ5ra4jWk h+hhQBr1pYy1Z37ocuPsajYbI9LEXUzLP62R9QOxJk8pNjyPhX/5Ewx98ZXqXlr8xXx+ lu5g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date:autocrypt :from:references:cc:to:subject; bh=E/7K1BgA5csSoUVd3liuCctzmpMvaQHrm51gIAVkziI=; b=u7DtEgZp4eRT8qh06ZTPNoi5mVRaVMDBZYyo7AMBcG8kFZ7tDuyd1A7wkT7Lj8dMUB nBhjAuO02D7vWZILkgqZa2rbsvyKIonyn4908ecKswjZlV9bNDabqEoKruS9bLMUpjLy 4QenudhGfpupa03J9plPSqZsDNeks1xIz+9OlXnBeU3pmEGQHe0sU0Fn3Q2bmpKvaqa2 4eqj/tYYOqPkD2rZr+O896AQvksvtdLuVPqvkLRxNI1+Oq7GLIkw0UOyYjjuXY5nGL5V m7MnTszZ8AMEdCG2ny2TsC2ZtbNhG/HQsl6i/WG048TMFQxa3Mvz9kxTwYLYc0Nc4K54 6TgA== ARC-Authentication-Results: i=1; mx.google.com; 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=fail (p=NONE sp=NONE dis=NONE) header.from=ibm.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id y18si1082894otg.39.2020.02.27.00.03.27; Thu, 27 Feb 2020 00:04:03 -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; 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=fail (p=NONE sp=NONE dis=NONE) header.from=ibm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728503AbgB0ICi (ORCPT + 99 others); Thu, 27 Feb 2020 03:02:38 -0500 Received: from mx0b-001b2d01.pphosted.com ([148.163.158.5]:45382 "EHLO mx0a-001b2d01.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726999AbgB0ICh (ORCPT ); Thu, 27 Feb 2020 03:02:37 -0500 Received: from pps.filterd (m0098421.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id 01R80AVa129724 for ; Thu, 27 Feb 2020 03:02:36 -0500 Received: from e06smtp07.uk.ibm.com (e06smtp07.uk.ibm.com [195.75.94.103]) by mx0a-001b2d01.pphosted.com with ESMTP id 2ydqfvkurs-1 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=NOT) for ; Thu, 27 Feb 2020 03:02:36 -0500 Received: from localhost by e06smtp07.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Thu, 27 Feb 2020 08:02:34 -0000 Received: from b06cxnps3075.portsmouth.uk.ibm.com (9.149.109.195) by e06smtp07.uk.ibm.com (192.168.101.137) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; (version=TLSv1/SSLv3 cipher=AES256-GCM-SHA384 bits=256/256) Thu, 27 Feb 2020 08:02:31 -0000 Received: from d06av23.portsmouth.uk.ibm.com (d06av23.portsmouth.uk.ibm.com [9.149.105.59]) by b06cxnps3075.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 01R82TI458916868 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 27 Feb 2020 08:02:29 GMT Received: from d06av23.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 94B84A405B; Thu, 27 Feb 2020 08:02:29 +0000 (GMT) Received: from d06av23.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 4EAC7A4055; Thu, 27 Feb 2020 08:02:29 +0000 (GMT) Received: from oc7455500831.ibm.com (unknown [9.152.224.219]) by d06av23.portsmouth.uk.ibm.com (Postfix) with ESMTP; Thu, 27 Feb 2020 08:02:29 +0000 (GMT) Subject: Re: linux-next: manual merge of the akpm-current tree with the kvms390 tree To: John Hubbard , Stephen Rothwell , Andrew Morton , Janosch Frank Cc: Linux Next Mailing List , Linux Kernel Mailing List , Claudio Imbrenda , David Hildenbrand References: <20200227141148.05d7d502@canb.auug.org.au> <1217420e-42e4-9179-883f-125cf278caec@nvidia.com> From: Christian Borntraeger Autocrypt: addr=borntraeger@de.ibm.com; prefer-encrypt=mutual; keydata= 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 nS4h0HDFPrrp1C2EMVYIQrMokWvlFZbCpsdYbBI= Date: Thu, 27 Feb 2020 09:02:29 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1 MIME-Version: 1.0 In-Reply-To: <1217420e-42e4-9179-883f-125cf278caec@nvidia.com> Content-Type: text/plain; charset=windows-1252 Content-Language: en-US Content-Transfer-Encoding: 7bit X-TM-AS-GCONF: 00 x-cbid: 20022708-0028-0000-0000-000003DE69E1 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 20022708-0029-0000-0000-000024A3883F Message-Id: <9bf8aa40-d92b-3d85-9999-c376f05fa963@de.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.138,18.0.572 definitions=2020-02-27_02:2020-02-26,2020-02-27 signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 clxscore=1015 malwarescore=0 suspectscore=0 priorityscore=1501 phishscore=0 adultscore=0 bulkscore=0 impostorscore=0 lowpriorityscore=0 mlxlogscore=999 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2001150001 definitions=main-2002270064 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 27.02.20 06:58, John Hubbard wrote: > On 2/26/20 7:11 PM, Stephen Rothwell wrote: >> Hi all, >> >> Today's linux-next merge of the akpm-current tree got a conflict in: >> >> mm/gup.c >> >> between commit: >> >> 732b80e677b8 ("mm/gup/writeback: add callbacks for inaccessible pages") >> >> from the kvms390 tree and commit: >> >> 9947ea2c1e60 ("mm/gup: track FOLL_PIN pages") >> >> from the akpm-current tree. >> >> I fixed it up (see below - maybe not optimally) and can carry the fix as >> necessary. This is now fixed as far as linux-next is concerned, but any >> non trivial conflicts should be mentioned to your upstream maintainer >> when your tree is submitted for merging. You may also want to consider >> cooperating with the maintainer of the conflicting tree to minimise any >> particularly complex conflicts. >> > > Yes. Changes to mm/gup.c really should normally go through linux-mm and > Andrew's tree, if at all possible. This would have been caught, and figured out > on linux-mm, had that been done--instead of leaving the linux-next maintainer > trying to guess at how to resolve the conflict. Yes. This patch should go via Andrew. Claudio is going to provide a fixed up version that takes care of the new semantics. This patch was posted several times on linux-mm (also before rc1) and I will drop it from my tree due to the conflict. > > +Cc David Hildenbrand, who I see looked at the kvms390 proposed patch a bit. > Maybe he has some opinions, especially about my questions below. > > The fix-up below may (or may not) need some changes: > > > diff --cc mm/gup.c > index 354bcfbd844b,f589299b0d4a..000000000000 > --- a/mm/gup.c > +++ b/mm/gup.c > @@@ -269,18 -470,11 +468,19 @@@ retry > goto retry; > } > > + /* try_grab_page() does nothing unless FOLL_GET or FOLL_PIN is set. */ > + if (unlikely(!try_grab_page(page, flags))) { > + page = ERR_PTR(-ENOMEM); > + goto out; > + } > + if (flags & FOLL_GET) { > > > If I'm reading the diff correctly, I believe that line should *maybe* be changed to: > > if (flags & (FOLL_GET | FOLL_PIN)) { > > ...because each of those flags has a similar effect: pinned pages for DMA or RDMA > use. So either flag will require a call to arch_make_page_accessible()...except that > I'm not sure that's what you want. Would the absence of a call to > arch_make_page_accessible() cause things like pin_user_pages() to not work correctly? > Seems like it would, to me. > > (I'm pretty unhappy that we have to ask this at the linux-next level.) > > Also below... > > > - if (unlikely(!try_get_page(page))) { > - page = ERR_PTR(-ENOMEM); > - goto out; > - } > + ret = arch_make_page_accessible(page); > + if (ret) { > + put_page(page); > > > put_page() only works with FOLL_GET. So if we do allow to get here via either FOLL_GET or > FOLL_PIN, the we need to do an unpin_user_page(), like this: > > if (flags & FOLL_PIN) > unpin_user_page(page); > else > put_page(page); > > > > + page = ERR_PTR(ret); > + goto out; > + } > + } > if (flags & FOLL_TOUCH) { > if ((flags & FOLL_WRITE) && > !pte_dirty(pte) && !PageDirty(page)) > > thanks, >