From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5D2CBC3ABD8 for ; Fri, 16 May 2025 12:40:00 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id DE3426B0138; Fri, 16 May 2025 08:39:58 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D70CC6B015A; Fri, 16 May 2025 08:39:58 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B22126B015B; Fri, 16 May 2025 08:39:58 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 8ABE86B0138 for ; Fri, 16 May 2025 08:39:58 -0400 (EDT) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 31DE5B7297 for ; Fri, 16 May 2025 12:39:59 +0000 (UTC) X-FDA: 83448728118.05.564C771 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by imf05.hostedemail.com (Postfix) with ESMTP id B7576100003 for ; Fri, 16 May 2025 12:39:56 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=RxlKu+lT; spf=pass (imf05.hostedemail.com: domain of dhildenb@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=dhildenb@redhat.com; dmarc=pass (policy=quarantine) header.from=redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1747399196; a=rsa-sha256; cv=none; b=PE+UTE/+mjs5nQKjlLfT0lyNwoDFB0GZJZsTeg4FOXAg5B81KIWlxoSkNxXRTxVLGtSXmu ETDMnCv7TSE84xrBPr+tNYMXH54/0y01DonfvB147zZIsKhTP8xDjqZt/I61amwF57P1LW GWeCVs32tiaMymO4ZvMmLcjAprLXQkk= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=RxlKu+lT; spf=pass (imf05.hostedemail.com: domain of dhildenb@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=dhildenb@redhat.com; dmarc=pass (policy=quarantine) header.from=redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1747399196; h=from:from:sender: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:dkim-signature; bh=7YgkObtSLivpA2litK1mMvMA1rBOwW9ugDKcEb23+bA=; b=J50tRyZ/eu3D+aaHDFtAiA+U9M6mF9A/Cm0sx/+dxjDpwr+eTOpnJobaqb9TaxKHKC3PbJ /BfaY1Utxa4sDVioduNM0t2kNM4Yqi5hAO1B80R3wmAoCCR+3oxAO2GT5fXDzGu55siBM4 YvqCtS2zGvWkM918WdSFI93J4be8Aps= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1747399196; 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; bh=7YgkObtSLivpA2litK1mMvMA1rBOwW9ugDKcEb23+bA=; b=RxlKu+lTF85PU9V+46iK7O+vHNnHdKgedIaYCZgnfv3kon2Ex9xSkxM3953GiccB/GSl9L Z8msqNVlTetqioFfETkmL6JNj4I6gbVyzeY4DA0vum1/wvFvLE3ld3Esf0KWV1YpVdufUe agUTtki/YfZo5AFJcJJ1usqOK0adO14= Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-392-9tMpFcu3Pmusdx4KrUp9CA-1; Fri, 16 May 2025 08:39:55 -0400 X-MC-Unique: 9tMpFcu3Pmusdx4KrUp9CA-1 X-Mimecast-MFC-AGG-ID: 9tMpFcu3Pmusdx4KrUp9CA_1747399194 Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-43cf3168b87so11272205e9.2 for ; Fri, 16 May 2025 05:39:54 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747399194; x=1748003994; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=7YgkObtSLivpA2litK1mMvMA1rBOwW9ugDKcEb23+bA=; b=haqUcnvRbuXAy8OKbOCgpFPRKKulDnKz0SHIoauHd+XyeikccKDz++Zw0EixYUwYjK nABDBkotkA22uDCYkPOiiicVmJp1PHA7HoNFv6L2/VH79CwUwmcwjxQyi2D5huayxJSd Wzl8bKuwQeuSJApKYP1dDGbJD/oM3whJIipQdeijuZJDQDL5DINchjtAaUtQHtaiEMnB mhhwmvXSjK68SANaDn1wn8A0CbdwzMp6MW2mq3d9c4RtM8Y+c1A8/6fOPv2lGv0kroBq 9D1o+emDmtDFSlPB+VhliBMGxP/COkK/O8ckUbklDiC5xpLx4/Xubry/L40mowQ9ZDuv 4HAQ== X-Forwarded-Encrypted: i=1; AJvYcCXjA0DmRTcyjdmodiR4mweisIPB/Drq/rheQqB15wbLq0R6aX24a535ptir+9i2pRDU+vZvB7nJSg==@kvack.org X-Gm-Message-State: AOJu0Yzd42kbcU/tvkltFSzKGpGQy37mR0Ll1Mr3HlyDrdN5AtEo9V7k AV+4U71vrYiF+87RARoFu0fNaHWpUu+dOy5ihVOO2vdEBM22rsqfy6SMFQP43i16iGnwlEtH6WM DylGU52Zh1i9IcuWrJa8A1InWzcNi1AnJkgiMSmwdxHt2E5WCMQcM X-Gm-Gg: ASbGncuQtcdoF9znSdu//sKfn2VL5/lEJsRD9FgfP6yC5YUUGSTBBwD2fRFxGV+7AxL sf7LMSTpkg7Zcfonmh7dt1wzJm2ClXZbaX7PXuWSs4iQZHQGrawdv8OPVIdTjm6g/Dtf91fEE7e 4/6eBWA4OfRP77pIQbquhbf/5CLiAUzkFLdAnxGOpHH9FAUIGN1LS0V3jm4b1UYSLdxdauQ/hg1 KgyAVX4z96LXXGncJ14BU4TftnkdvvK5ssDSok26giV8ZYbeBAQYiRrvna6kvCO/t97nWNP3T0m EDw3COwXUs3Ny04r0W6hm5uBLXKa1MeyprG4C9WyjpTH/+LMWqpNoBhspRdDu4wlqmpZjKe2 X-Received: by 2002:a05:6000:184c:b0:3a0:7139:d178 with SMTP id ffacd0b85a97d-3a35c845c40mr3418584f8f.51.1747399193748; Fri, 16 May 2025 05:39:53 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEE8vebfbLiwPBSuYo/cxaTZC41xWsZgY9lUxeJJRumkx2bu9v71dWhPZlXOhuoGEIxFJdFsw== X-Received: by 2002:a05:6000:184c:b0:3a0:7139:d178 with SMTP id ffacd0b85a97d-3a35c845c40mr3418562f8f.51.1747399193358; Fri, 16 May 2025 05:39:53 -0700 (PDT) Received: from localhost (p200300d82f474700e6f9f4539ece7602.dip0.t-ipconnect.de. [2003:d8:2f47:4700:e6f9:f453:9ece:7602]) by smtp.gmail.com with UTF8SMTPSA id ffacd0b85a97d-3a35ca8caaasm2674423f8f.83.2025.05.16.05.39.51 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 16 May 2025 05:39:52 -0700 (PDT) From: David Hildenbrand To: linux-kernel@vger.kernel.org Cc: linux-s390@vger.kernel.org, kvm@vger.kernel.org, linux-mm@kvack.org, David Hildenbrand , Christian Borntraeger , Janosch Frank , Claudio Imbrenda , Heiko Carstens , Vasily Gorbik , Alexander Gordeev , Sven Schnelle , Thomas Huth , Matthew Wilcox , Zi Yan , Sebastian Mitterle Subject: [PATCH v1 2/3] s390/uv: always return 0 from s390_wiggle_split_folio() if successful Date: Fri, 16 May 2025 14:39:45 +0200 Message-ID: <20250516123946.1648026-3-david@redhat.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250516123946.1648026-1-david@redhat.com> References: <20250516123946.1648026-1-david@redhat.com> MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: LmqmFECFtKo-6-cjixM8kLei2naZf61twptZW0ScCzA_1747399194 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: 8bit content-type: text/plain; charset="US-ASCII"; x-default=true X-Rspam-User: X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: B7576100003 X-Stat-Signature: 1cx6ibwtzi3ysf3pyoouidm5m7xppub9 X-HE-Tag: 1747399196-973056 X-HE-Meta: U2FsdGVkX18eCtkPaWaS7YVwXBPD4HbaO7p/O06wua1uY59nI5K1CZBqVYV9o7vh4zPrJHL1f5pBUkavCptvhVA8crjMNrp1B0IbP9CpnjUbtgFzKrnPmjYx67EiGP7H/c+7nXNSSlgm9PcRN9t0yxXI639+zU+gBKNi3RstlYvDVVOiNWkQdD5NOb0Om174piAKYFEZkpGq5pVC8pajGk2vlsKtm4dip5wniLa9/RucMVbAjHIQcHwlksMrXnPe84OJAtSjUW+IuDizecvRvYXTnip61Crc1CtE23p42baiW1SdsLlFNX8UGcI7PiwVuMDs74kDATzzvJoNvhgZDkxrzTIz4pa4a/w8IXTKTo7jG9k/t5bViHY7hINhKDs30VYRoLDftfGMsjqin2QbV4kqxH4dvrhtzEg7bvCOnrYTRWniIh3Y1sXLRePLg1bJM8mBI9gW6Y1VQVFqo4PDDQkl2JFWJDVwM6lOJxHc2/d6Cg8PzjQb4mzOyhPuqKnwlsvqYzebnW5NZlG89ocCT0Ja+5JmoYVsJ6BpK47nTfvKSh5atsTsp03Za3ui0E0IopZAnYa9OQanupn0i0pDzCqrbOHIqr4vcKsohm9g3KJ50EVXvg9OLoMMRTdF0zSLBKk/+Ly+7Vc5WZN7aS0xgBD2hP8Qrfg6/WNew9QbFWfUvLvDlGKCV1K3pkMyrpoXfYPvS1dC0oJoec3safnWN9gVEuyeNQ8LCyKHJmPIinhzruTO6wqsTGgwWwbu473ZIMcTUxfRcZTbxNWXF0Z/lH529RRUR64mz5Zs146TWOE1DOA1J1f8DmnFyOtMtYbLjTxQcJ+2sF7fDWQyetY0eByTJmyd5njcijjLvo43RzhZNTiJxx+FNU8B8NWSKjOwTJr3JHjSWfF9Y57UKPvEu9DnHeVwPNiVafJj/xy4QWr+OWQXWBhpqSqElkl0vYlAX+us6xROG8yhBrL1NDz 1FvgqfD6 6T2Fh9Ub3Jk8BnHDiDrpyIrxUt3oODXUTHvm/W1M2QESBhkhM5Bwh3unss8R/lWhYSoFWmGXbd4GS5M7/33o8BB5PPVz/evxFzqRvUKLYvW1y4SFOppjJaRkNee60RLRGnHU8Kt+zZfPOh/qigfJX6HAf0OiesZzoUqvILJ3ewEs/hyVfrx5GyBdYI/cZn0mvopdUomPVOI+j3jjXQPT18uVk1X2Xfv4ZNpfw4xh0K2MeEqiLfaJUcPupqNgJKz1gwoMhf/r3Pv1LI4pZlK1h31DLndIeHVSLSLdvPJgX2I6xjOCp1N0tqN3GUfxDp5YofrZutxygPhBvXYq6wP0yEU2x5FGOmsrTzpK73XQ2ME/G3we1qqoj7jqTBWG0cv6lsU89KR0PoUW2UPVOtJTwvzE90fYZPFg8aTNnttHSzWPK9tarHY/RU8OrGtFChzIWTJMGAYYyj6OcShcnQWGHabyPBmQ/33DGWDvpW4zNyvLUf4eJH2YQVUuifvbAsuYbuF1Hdh1MRy8k8w2AfTICDYWTvOqjrH2zj4e7 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Let's consistently return 0 if the operation was successful, and just detect ourselves whether splitting is required -- folio_test_large() is a cheap operation. Update the documentation. Should we simply always return -EAGAIN instead of 0, so we don't have to handle it in the caller? Not sure, staring at the documentation, this way looks a bit cleaner. Signed-off-by: David Hildenbrand --- arch/s390/kernel/uv.c | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/arch/s390/kernel/uv.c b/arch/s390/kernel/uv.c index 2cc3b599c7fe3..f6ddb2b54032e 100644 --- a/arch/s390/kernel/uv.c +++ b/arch/s390/kernel/uv.c @@ -324,34 +324,36 @@ static int make_folio_secure(struct mm_struct *mm, struct folio *folio, struct u } /** - * s390_wiggle_split_folio() - try to drain extra references to a folio and optionally split. + * s390_wiggle_split_folio() - try to drain extra references to a folio and + * split the folio if it is large. * @mm: the mm containing the folio to work on * @folio: the folio - * @split: whether to split a large folio * * Context: Must be called while holding an extra reference to the folio; * the mm lock should not be held. - * Return: 0 if the folio was split successfully; - * -EAGAIN if the folio was not split successfully but another attempt - * can be made, or if @split was set to false; - * -EINVAL in case of other errors. See split_folio(). + * Return: 0 if the operation was successful; + * -EAGAIN if splitting the large folio was not successful, + * but another attempt can be made; + * -EINVAL in case of other folio splitting errors. See split_folio(). */ -static int s390_wiggle_split_folio(struct mm_struct *mm, struct folio *folio, bool split) +static int s390_wiggle_split_folio(struct mm_struct *mm, struct folio *folio) { int rc; lockdep_assert_not_held(&mm->mmap_lock); folio_wait_writeback(folio); lru_add_drain_all(); - if (split) { + + if (folio_test_large(folio)) { folio_lock(folio); rc = split_folio(folio); folio_unlock(folio); if (rc != -EBUSY) return rc; + return -EAGAIN; } - return -EAGAIN; + return 0; } int make_hva_secure(struct mm_struct *mm, unsigned long hva, struct uv_cb_header *uvcb) @@ -394,7 +396,7 @@ int make_hva_secure(struct mm_struct *mm, unsigned long hva, struct uv_cb_header mmap_read_unlock(mm); if (rc == -E2BIG || rc == -EBUSY) { - rc = s390_wiggle_split_folio(mm, folio, rc == -E2BIG); + rc = s390_wiggle_split_folio(mm, folio); if (!rc) rc = -EAGAIN; } -- 2.49.0