Received: by 2002:a19:771d:0:0:0:0:0 with SMTP id s29csp1270677lfc; Wed, 1 Jun 2022 13:44:34 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyMo+ymjvsmvRVwg41Vsun5sbxeTNk6JwrY4BfkPNu5rBXJ4JsjmO53+yxa54RQL6b4DhEI X-Received: by 2002:a17:90a:4291:b0:1e2:92f3:20d1 with SMTP id p17-20020a17090a429100b001e292f320d1mr1214392pjg.163.1654116274214; Wed, 01 Jun 2022 13:44:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1654116274; cv=none; d=google.com; s=arc-20160816; b=QPki/TPXhGXfgR7iqEXsf8FEFEaWbTwy/IitBMs0ZxyjSFFy8SAaIKUE7R3R98LvVN VMxGC329Cc6HRAFSCgeEwSkVr4lyg5fphUg9e1IN/NA0wcDy5PHMHbwOAr0TFIfdcNv9 /VJ4siI69+dTucjx1MK4Xh2WuQ/0dFAaV0D75VqML8oWkCulGTZ7AwMb3ke/0bBoSsa9 h0IlUWoQnxQ5IqkGU7yXGjKhohzDBj2mJVQhL2EFyNH0sma1c53TEeJhVVkcxu4A6jDR xJ6EnlBQ0OqLDclp282+dy9QgQsNptEaNzGM2gNOGXlG4vMF8etzaEGv4VJsZi+Qy1W4 qkxQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=nfVh87Az55i8k1gppBZujWqK4+28GKuAIhgQbFoYIrE=; b=WmFU4zJW/IRupjIYMkSIz2nXMSjkM0n5AY9cKf2JT0Jg/u9WOlE/i4h0CJujYse1gr +URB6ownfHvAXqE8cgMVevQo5fCJWlbnPEbwU4eevly08m9jNTmIAI9a1XxFAcD5+43Y /u1LSNk7WfDYOk7+XfBP+/slMJrG+D+d4OnJz0PGa8+HATdCT6HBoHKvU2mQ3QNEJ+1S +eIQqGcCCIiSbIYjOQZBzuldhdRyzjuUICqcLPlGpFmwKwjweR5oFbVYJ6w3Ja00VojO l1i5Ea2EDqTabE8S7hLM/d04xbZgmr5ucnCESacQhrcReLp8cgXuXhfpLMkK1nu7WLp3 P/FA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ibm.com header.s=pp1 header.b="DNei/iN5"; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=ibm.com Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [23.128.96.19]) by mx.google.com with ESMTPS id q6-20020a17090311c600b0016203a9282esi4059428plh.375.2022.06.01.13.44.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 01 Jun 2022 13:44:34 -0700 (PDT) Received-SPF: softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) client-ip=23.128.96.19; Authentication-Results: mx.google.com; dkim=pass header.i=@ibm.com header.s=pp1 header.b="DNei/iN5"; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=ibm.com Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 6CECD1FE392; Wed, 1 Jun 2022 12:52:22 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1355880AbiFAPxq (ORCPT + 99 others); Wed, 1 Jun 2022 11:53:46 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60552 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1355864AbiFAPxn (ORCPT ); Wed, 1 Jun 2022 11:53:43 -0400 Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3FF8D483B8 for ; Wed, 1 Jun 2022 08:53:42 -0700 (PDT) Received: from pps.filterd (m0098396.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 251Fm4Ai020740; Wed, 1 Jun 2022 15:53:24 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding; s=pp1; bh=nfVh87Az55i8k1gppBZujWqK4+28GKuAIhgQbFoYIrE=; b=DNei/iN5ZUMb/fhoeF8N3+AMX1yBGoLSbB8rCQgfvhUfUBHOMokYAG3RAQDFcO2VTqwS fwoqfA1u4WkUW8tlb/Bi0Gw9dGdwDuQzxydkJ5E2GPnyFbsw751cqeHO/DPKaonds+ML Ybad3MWotaN7tDUhYtV1e04gAyZWIBBdQJaGXVWEHjoeub4TFf79cvDFx1mTMX6J1yjs bOQL11rZl9wGXk941P1rZQiuRiJKy2kfoah05TbggN92EqGc4OVKYN5928taXDeeIPjL S75StaCtjbWs0e2NcrvSaoqjHVFtkQQV8iKXcIFgnJ6VZ2sVjT6K/01s8CDi6/rezYaz AA== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3geb2tr3af-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 01 Jun 2022 15:53:23 +0000 Received: from m0098396.ppops.net (m0098396.ppops.net [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 251FrNCG010550; Wed, 1 Jun 2022 15:53:23 GMT Received: from ppma04ams.nl.ibm.com (63.31.33a9.ip4.static.sl-reverse.com [169.51.49.99]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3geb2tr39s-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 01 Jun 2022 15:53:23 +0000 Received: from pps.filterd (ppma04ams.nl.ibm.com [127.0.0.1]) by ppma04ams.nl.ibm.com (8.16.1.2/8.16.1.2) with SMTP id 251FdUB9028296; Wed, 1 Jun 2022 15:53:21 GMT Received: from b06cxnps4075.portsmouth.uk.ibm.com (d06relay12.portsmouth.uk.ibm.com [9.149.109.197]) by ppma04ams.nl.ibm.com with ESMTP id 3gbcae5u4u-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 01 Jun 2022 15:53:20 +0000 Received: from d06av24.portsmouth.uk.ibm.com (d06av24.portsmouth.uk.ibm.com [9.149.105.60]) by b06cxnps4075.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 251FrHNv49283486 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 1 Jun 2022 15:53:17 GMT Received: from d06av24.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id BCB3042045; Wed, 1 Jun 2022 15:53:17 +0000 (GMT) Received: from d06av24.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 5661E42041; Wed, 1 Jun 2022 15:53:17 +0000 (GMT) Received: from localhost.localdomain (unknown [9.145.172.57]) by d06av24.portsmouth.uk.ibm.com (Postfix) with ESMTP; Wed, 1 Jun 2022 15:53:17 +0000 (GMT) From: Laurent Dufour To: mpe@ellerman.id.au, benh@kernel.crashing.org, paulus@samba.org, nathanl@linux.ibm.com, haren@linux.vnet.ibm.com, npiggin@gmail.com Cc: linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org Subject: [PATCH 1/2] powerpc/mobility: Wait for memory transfer to complete Date: Wed, 1 Jun 2022 17:53:14 +0200 Message-Id: <20220601155315.35109-2-ldufour@linux.ibm.com> X-Mailer: git-send-email 2.36.1 In-Reply-To: <20220601155315.35109-1-ldufour@linux.ibm.com> References: <20220601155315.35109-1-ldufour@linux.ibm.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-TM-AS-GCONF: 00 X-Proofpoint-GUID: BAdduxIEm0NJZQRh1N5EeucS_G_8QcFG X-Proofpoint-ORIG-GUID: aDgUH9Xd3vz5W0lwqiztIfsC-Gq23559 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.874,Hydra:6.0.517,FMLib:17.11.64.514 definitions=2022-06-01_05,2022-06-01_01,2022-02-23_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 clxscore=1015 phishscore=0 adultscore=0 impostorscore=0 lowpriorityscore=0 suspectscore=0 bulkscore=0 mlxscore=0 mlxlogscore=937 malwarescore=0 priorityscore=1501 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2204290000 definitions=main-2206010072 X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RDNS_NONE, SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org In pseries_migration_partition(), loop until the memory transfer is complete. This way the calling drmgr process will not exit earlier, allowing callbacks to be run only once the migration is fully completed. This will also allow to manage the NMI watchdog state in the next commits. Signed-off-by: Laurent Dufour --- arch/powerpc/platforms/pseries/mobility.c | 34 +++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/arch/powerpc/platforms/pseries/mobility.c b/arch/powerpc/platforms/pseries/mobility.c index 78f3f74c7056..55612a1b07d6 100644 --- a/arch/powerpc/platforms/pseries/mobility.c +++ b/arch/powerpc/platforms/pseries/mobility.c @@ -427,6 +427,35 @@ static int wait_for_vasi_session_suspending(u64 handle) return ret; } +static void wait_for_vasi_session_completed(u64 handle) +{ + unsigned long state = 0; + int ret; + + pr_info("waiting for memory transfert to complete...\n"); + /* + * Wait for transition from H_VASI_RESUMED to + * H_VASI_COMPLETED. Treat anything else as an error. + */ + while (true) { + ret = poll_vasi_state(handle, &state); + + if (ret || state == H_VASI_COMPLETED) + break; + + if (state != H_VASI_RESUMED) { + pr_err("unexpected H_VASI_STATE result %lu\n", state); + ret = -EIO; + break; + } + + msleep(500); + } + + pr_info("memory transfert completed (ret:%d state:%ld).\n", + ret, state); +} + static void prod_single(unsigned int target_cpu) { long hvrc; @@ -673,9 +702,10 @@ static int pseries_migrate_partition(u64 handle) vas_migration_handler(VAS_SUSPEND); ret = pseries_suspend(handle); - if (ret == 0) + if (ret == 0) { post_mobility_fixup(); - else + wait_for_vasi_session_completed(handle); + } else pseries_cancel_migration(handle, ret); vas_migration_handler(VAS_RESUME); -- 2.36.1