Received: by 2002:ab2:1347:0:b0:1f4:ac9d:b246 with SMTP id g7csp276920lqg; Thu, 11 Apr 2024 02:29:47 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCXNDSCb42m7AuPt/0nO8zj8+dNjFcfBkDwHuXm18DDmc9keWuVOy8uyat60wo7PS4uvUWmyplyXXWBDllYBzBzyvJDlTUrFoLTW6S6LxQ== X-Google-Smtp-Source: AGHT+IFoIODC93MV9agK00VxZwYj/gR0IYjeLxO2mzD58Z85auWcOmQStl6V0/trEyOwOpWjJ8UA X-Received: by 2002:a17:90a:ee89:b0:2a2:d4e6:160d with SMTP id i9-20020a17090aee8900b002a2d4e6160dmr4903209pjz.1.1712827786859; Thu, 11 Apr 2024 02:29:46 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1712827786; cv=pass; d=google.com; s=arc-20160816; b=MmZXAfhVA/ASIHVj/PYrOCUXcfSCzvSqc+G3sf1zlA2quRkcytup+wUp7wFvF9YISf nzTiSIpJXunoOBQgb1Td7+AwK5p49NnOLPodtlgL4MQ1eD8UYHZvTJDxfP+OASl4pHBg 3d4ztHLCMxEs3HDR3lRQdDaL3fkgAkH7cf2PWMsqwcHpu6Jqg9ziWPbMR6wCjjCphv69 MeMs64uO9299MWHC4gZGxzFNgDAJGIRLwP1iFoIb2OUyGqDDJTux6u6vMsfhFb00sOfp POn4nd8nuhAi1Cax9wGOeLL/U+7ND8Pc1WjRW9YRtCBHaa4I9kVsgCqHrETCBaoSjfp+ MqjQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:in-reply-to:organization:autocrypt :content-language:from:references:cc:to:subject:user-agent :mime-version:list-unsubscribe:list-subscribe:list-id:precedence :date:message-id:dkim-signature; bh=ADOmSHZc9jJY811In7b/HhEVg4Kn+fgkt58atONJ6W8=; fh=LjWQ4Cn6kfyninIuixx/5jjwzRYrOAqZOe/8ot1VxlA=; b=neoQmfPaClldRo4L47+FSeYQRhtDxNJbLuAx2RqhB0InMbdLMVJ2SeBd7eDKaeDxdc K6vqz9gcCxH3bAtSoo0/zFCqiCrOymmaoMpjb+ngxCICk4jMLpr2+6iAQ2CRbg9X3dnB Y8yZ27DrL8diH3NpUh5eMZ35AXrieAMh/aytZ0FN75PY2VAtpZ4R0yM8lh1Io+hZFldI Y/C3JdzE4qp880qNbzUmSZivcOHvyybHjtmYQ+UE1fuX43v24qqId+uzg8B0kqQfG+PO s5P1YceJTVlLwmGy1GG/qiVq7eo0tcQnRy3zD01Yqt96VLJsglfPJzb7xhpj0jXwov4r 1X3g==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=fGuOcNpO; arc=pass (i=1 spf=pass spfdomain=redhat.com dkim=pass dkdomain=redhat.com dmarc=pass fromdomain=redhat.com); spf=pass (google.com: domain of linux-kernel+bounces-140142-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-140142-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org. [2604:1380:40f1:3f00::1]) by mx.google.com with ESMTPS id a64-20020a639043000000b005f07f35d484si914360pge.755.2024.04.11.02.29.46 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 11 Apr 2024 02:29:46 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-140142-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) client-ip=2604:1380:40f1:3f00::1; Authentication-Results: mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=fGuOcNpO; arc=pass (i=1 spf=pass spfdomain=redhat.com dkim=pass dkdomain=redhat.com dmarc=pass fromdomain=redhat.com); spf=pass (google.com: domain of linux-kernel+bounces-140142-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-140142-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sy.mirrors.kernel.org (Postfix) with ESMTPS id 0DC8FB24C8A for ; Thu, 11 Apr 2024 09:10:20 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 280DA14430B; Thu, 11 Apr 2024 09:10:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="fGuOcNpO" Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6B94113DBB2 for ; Thu, 11 Apr 2024 09:10:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712826602; cv=none; b=Rsue2Lf3Tjc4iGcqThYtN42S4NNlJ4X/3GIddVI3YnmgsMHsHPGZ/P9RTDEI+KrYk8+wUREIjKaMmOJc5z3Z1OYzl17duZ4EJwcbXjLB45bL2sNnYoVrsM2VBESd/NGcxSUjzX9PPZ3iGJFMM2WEgD+nuaLYSfj7WG4l2c5WUdo= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712826602; c=relaxed/simple; bh=LomA8GUpI8sdRKFCa3Um4GsXgiOUnaIWKblSEHMm5+k=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=cllFouvtEpKma2yqWVsnwLbzYfu+5YCPTQoec6B+7wQP3IwJ0aGWcwdsx2KjceNoXnFX4/+wnHqFbpVknVwfIHl0IDomDVnbb+UyB+P/9hkGiuV6WvijxFpTxAELrJh4BtJYP7BqLL69d/gkBZpdFA4CB1idKWZQuVG88GzRHKo= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=fGuOcNpO; arc=none smtp.client-ip=170.10.133.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1712826599; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:autocrypt:autocrypt; bh=ADOmSHZc9jJY811In7b/HhEVg4Kn+fgkt58atONJ6W8=; b=fGuOcNpOdiSkdO4miLSty9wM4iyUgUaoQrDHfeiAcjwVTMFKqs3iFGMO3HQHNX58bzsxCm DWXoijhXL2uOP8RtuAamTBvqnbEwT3HkD2Rnm4UWX063AzR+kuA41nZ38SBFFLtUmteQEJ HPsC4nxzoGXny0/xKAC9uciP9x+xZpM= Received: from mail-lf1-f69.google.com (mail-lf1-f69.google.com [209.85.167.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-644-H6sWmy-lPMSAr6gpZ7FQ9g-1; Thu, 11 Apr 2024 05:09:56 -0400 X-MC-Unique: H6sWmy-lPMSAr6gpZ7FQ9g-1 Received: by mail-lf1-f69.google.com with SMTP id 2adb3069b0e04-516ce32c90aso5778694e87.0 for ; Thu, 11 Apr 2024 02:09:56 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712826595; x=1713431395; h=content-transfer-encoding:in-reply-to:organization:autocrypt :content-language:from:references:cc:to:subject:user-agent :mime-version:date:message-id:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to; bh=ADOmSHZc9jJY811In7b/HhEVg4Kn+fgkt58atONJ6W8=; b=kfW1eHydtHaZhc7wk9h8xFH6fjWJ1lIcZ66/TS2DKVKNHcC2hiekt0KjXGk1Hl2u3F 1ltMFuQfRRWumKZkvuyKMGeqhORzXDiBnps2trAto0wLiFwKEwv78AqBzPx3OdzBkMR6 Xy4RXox2h5EzWBbrXtXR/5Y3mdKF7PqpfSF4Z9keWTi+9q4vPfGU+sd42FUAG1gDG85r RS0KxoEJXuB1B1d8Uaf3B/BBcDVjZKy/GGu0J5zn52OV56FYKJRHMK3PngV1Ev11qdpS JTdy/plGRt0RGvhXqt8DOeV8vdc5XwgQ+bRvf6p//8sRbddXYpCTRCeRkIAYaDanWQRP elUQ== X-Gm-Message-State: AOJu0YyjiJwpNza4LbHOPqa7mNtg61z48ksYCFa4haMVSTgILMewox9p BrhZzD/qMTy59ZtjDlc6OkmTvBkCNFM/Dv/rUJ9sv8uxdYHu7qe/XA1+pX9bnqo2VWuNVxUBxOe Tf8/VaI1Iq80BHV2CgMQMUhtrUlPA3aXyOZSs4X+ZOoxNutTRycuovX6P351S7Q== X-Received: by 2002:ac2:523b:0:b0:516:d1cf:d9d9 with SMTP id i27-20020ac2523b000000b00516d1cfd9d9mr3036815lfl.62.1712826595225; Thu, 11 Apr 2024 02:09:55 -0700 (PDT) X-Received: by 2002:ac2:523b:0:b0:516:d1cf:d9d9 with SMTP id i27-20020ac2523b000000b00516d1cfd9d9mr3036792lfl.62.1712826594756; Thu, 11 Apr 2024 02:09:54 -0700 (PDT) Received: from ?IPV6:2003:cb:c724:4300:430f:1c83:1abc:1d66? (p200300cbc7244300430f1c831abc1d66.dip0.t-ipconnect.de. [2003:cb:c724:4300:430f:1c83:1abc:1d66]) by smtp.gmail.com with ESMTPSA id u7-20020adfeb47000000b0033ec9ddc638sm1285725wrn.31.2024.04.11.02.09.53 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 11 Apr 2024 02:09:54 -0700 (PDT) Message-ID: <272c0f71-e817-44a6-8798-0a1535427ba9@redhat.com> Date: Thu, 11 Apr 2024 11:09:53 +0200 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v1 2/5] s390/uv: convert gmap_make_secure() to work on folios To: Claudio Imbrenda Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-s390@vger.kernel.org, kvm@vger.kernel.org, Matthew Wilcox , Heiko Carstens , Vasily Gorbik , Alexander Gordeev , Christian Borntraeger , Sven Schnelle , Janosch Frank , Gerald Schaefer , Thomas Huth References: <20240404163642.1125529-1-david@redhat.com> <20240404163642.1125529-3-david@redhat.com> <20240410193150.655df790@p-imbrenda> From: David Hildenbrand Content-Language: en-US Autocrypt: addr=david@redhat.com; keydata= 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 WNyWQQ== Organization: Red Hat In-Reply-To: <20240410193150.655df790@p-imbrenda> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit [...] >> + if (rc == -E2BIG) { >> + /* >> + * Splitting might fail with -EBUSY due to unexpected folio >> + * references, just like make_folio_secure(). So handle it >> + * ahead of time without the PTL being held. >> + */ >> + folio_lock(folio); >> + rc = split_folio(folio); > > if split_folio returns -EAGAIN... > >> + folio_unlock(folio); >> + folio_put(folio); >> + } >> + >> if (rc == -EAGAIN) { > > ... we will not skip this ... > >> /* >> * If we are here because the UVC returned busy or partial >> * completion, this is just a useless check, but it is safe. >> */ >> - wait_on_page_writeback(page); >> - put_page(page); >> + folio_wait_writeback(folio); >> + folio_put(folio); > > ... and we will do one folio_put() too many > >> } else if (rc == -EBUSY) { >> /* >> * If we have tried a local drain and the page refcount > > are we sure that split_folio() can never return -EAGAIN now and in the > future too? Yes, and in contrast to documentation, that can actually happen! The documentation is even wrong: we return -EAGAIN if there are unexpected folio references (e.g., pinned), thanks for raising that. > > maybe just change it to } else if (... ? I think I'll make it all clearer by handling split_folio() return values separately. -- Cheers, David / dhildenb