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 E72ABC4345F for ; Fri, 12 Apr 2024 14:35:52 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6F0316B0099; Fri, 12 Apr 2024 10:35:52 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 69FBC6B009B; Fri, 12 Apr 2024 10:35:52 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 567706B009C; Fri, 12 Apr 2024 10:35:52 -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 393E06B0099 for ; Fri, 12 Apr 2024 10:35:52 -0400 (EDT) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id F1972140EA9 for ; Fri, 12 Apr 2024 14:35:51 +0000 (UTC) X-FDA: 82001128902.13.FB8C744 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2065.outbound.protection.outlook.com [40.107.93.65]) by imf03.hostedemail.com (Postfix) with ESMTP id 38A6B2001D for ; Fri, 12 Apr 2024 14:35:49 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=OqdQgAyo; dmarc=pass (policy=reject) header.from=nvidia.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf03.hostedemail.com: domain of ziy@nvidia.com designates 40.107.93.65 as permitted sender) smtp.mailfrom=ziy@nvidia.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1712932549; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=j+glEmo/4Gst+5eGa2JU9E5KN/+TgZtAjq0ujB8gBaQ=; b=D0cuIc347R6FpQRpRP28YF/wEfz5xvAoU70viNiDnBN/jfGpn73mVqn5QNMbY6XtX26J33 JAzBCsbBs6sOy/a3bj+A6XmVp0RT2riUObJSRcohRDhucqeSjO8hQy5FItHk+YkWxegbp2 3rWPtVSZrxra6uMVBpDPZf+5+1SZl1Y= ARC-Authentication-Results: i=2; imf03.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=OqdQgAyo; dmarc=pass (policy=reject) header.from=nvidia.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf03.hostedemail.com: domain of ziy@nvidia.com designates 40.107.93.65 as permitted sender) smtp.mailfrom=ziy@nvidia.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1712932549; a=rsa-sha256; cv=pass; b=Hl97KatyiUswSuxX3lJSpUSrMoOEeyjRHV5gmn6OvdZOMPk8vwFKnVEz4/efnZJM+PviuT a488ulA9S+s0pxrbJC7sDOiNq/4FcRFOFurV939dFg8O9h60bIulopdsP8dY0twIAuBByk qRj4vtebKDHfoDAtMXGUrdun1pPA+U4= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=l65SgIZ1EVuha5U7m6lTLabblYeFRiKoBNG594h5EItpq4fwn7tyDcj7R7tgB5/EdNnXir1zPRGUIl+ueKPaPiZgoMc2mABYqCz28hUfwo3UmYyp8y/3VGMNHRWAF0Z/KhVqgNH1pgSD1E3k1I6ZQw3ahGsJBzuptpif6jdPEeaulwfJ04/9Dr7YnFbUBQgn5bHyZ8e2VmtSKZd1pzPzvwUzw/Dno9PkIPTelgeoSKexKScaKgMaR79vOTtia7rVvs1TbTTyItkoAB/BVX6Zxr/NJYW8EoJUCwGteE5uYQ0+Bp/wmWRc30p0+95xglzlGiwe3aU0gAoBJa4yK5zWsQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=j+glEmo/4Gst+5eGa2JU9E5KN/+TgZtAjq0ujB8gBaQ=; b=czi6aVs0J2k+pesxJXKnEVAiX62fe/vuIWUaeQaM03ULSiHnHVu7MvKXEg40Xn+QdT1BJvmlo6O0Xu8LGoKAa1cA/TXyHVqE/wOtSt5vEn2YoSo0Hj3WScOGMjj15uwjTaGlqtD4Z1nYkzKZDE1vMVE+Qo88NcS3qx2bfQbdZ/MD40TDV3cbUfrDfSRmkA7WjQLbEFKo3+X3EOcs3zucWorSsxxJuisocPQrKxwvRlr82OxpWAUiefF0yd/O+AA2oH4UXnk7HNDNYmeI2A5c8pO2522WVsX4AU/h4S+y2YY3GZIf5QBPA3TYkGU8w6gdPQNf2TJewkhYRhpgw0s35g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=j+glEmo/4Gst+5eGa2JU9E5KN/+TgZtAjq0ujB8gBaQ=; b=OqdQgAyoxDsvWju41jguFFi4cvednkCpxrBPYIvByV1vXzrgK2IsaCf8RObdTntIvu8s+ca05KaokK7V1+n8xLpcX6d54AO3CK4r9OnHYG7wRlMdaCuVa1lYju5SBrONIm3dYUV2e8OtybhVbwh19wEBCRZz29B7EXeFOB+a5SXicKZPOuLLkr60Q6fmkeyBzUQJKG75S+ChFtPuKPbx+m8SQGTcVgJbR2pNtYw9AS6z1keowCONEUxiFa3yvSjpEgfAnGw9sokMu4WqUs5QM1mrjYLn2vkhdZgCjTPAasODJIDafFW6DCNy+pOV4tfU3m9DEF8VKBFznzwrGufeWQ== Received: from DS7PR12MB5744.namprd12.prod.outlook.com (2603:10b6:8:73::18) by CY8PR12MB8242.namprd12.prod.outlook.com (2603:10b6:930:77::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Fri, 12 Apr 2024 14:35:45 +0000 Received: from DS7PR12MB5744.namprd12.prod.outlook.com ([fe80::dc5c:2cf1:d5f5:9753]) by DS7PR12MB5744.namprd12.prod.outlook.com ([fe80::dc5c:2cf1:d5f5:9753%6]) with mapi id 15.20.7409.053; Fri, 12 Apr 2024 14:35:44 +0000 From: Zi Yan To: David Hildenbrand Cc: linux-mm@kvack.org, Andrew Morton , Matthew Wilcox , Yang Shi , Ryan Roberts , Barry Song <21cnbao@gmail.com>, linux-kernel@vger.kernel.org Subject: Re: [PATCH] mm/rmap: do not add fully unmapped large folio to deferred split list Date: Fri, 12 Apr 2024 10:35:42 -0400 X-Mailer: MailMate (1.14r6028) Message-ID: <2C698A64-268C-4E43-9EDE-6238B656A391@nvidia.com> In-Reply-To: References: <20240411153232.169560-1-zi.yan@sent.com> Content-Type: multipart/signed; boundary="=_MailMate_125EA509-6E8A-494B-BF22-530A29437C63_="; micalg=pgp-sha512; protocol="application/pgp-signature" X-ClientProxiedBy: BL1PR13CA0015.namprd13.prod.outlook.com (2603:10b6:208:256::20) To DS7PR12MB5744.namprd12.prod.outlook.com (2603:10b6:8:73::18) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS7PR12MB5744:EE_|CY8PR12MB8242:EE_ X-MS-Office365-Filtering-Correlation-Id: 5e32594e-1f91-4e8b-166a-08dc5afdd622 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: YvFaJ32yn+yGbXjTej5rgEs8GVBViAxbj5+/FlTJqmFyDqAuUoy4CI/elxvPquCSyyiixdWRnXRXN+O+y0vGlg5adxdwmHxK0f/K1hqiomdjV8zKJGdFuSUASvfisPAUC2osN4elei8zHc7WceUYD29ekcDOMRwJNNpGHR1a5CSftRMu0/GluyF+ORnyTzAIGFVrJzpwmpS4GAu5KFQt6B5BZFtBpDILLrG1BgTh14EZGwE0sIpLp/36OHZraeq3eMbdbXP41tp5tSYlWUIwBvdqP99/zbeOBf9Z+qQB4Pbr/VLIEK0DN7QEBNRUwfgzoLyWPcI0xj6KGcQM8I60tj9adXo/WpvL7RGJJihq4RbwqQfmR1Lg34MheZ5Brsrro0jjeAa2QCBzPPl4XC4mF7Ww+y7pSW4o5eAPaXyFF+qB/rucDyvK2z0f/IwSYGyKkw9VlEQcrruzvhITPvvLqJ6KGbUsSF68jys6KLuRL1pkFhaJUteor/Y2xaEVgjgqrEfcNRcil17sDo88B+To+XBk/7J9UM412ZGwxt1meZXsTIzUCE9ZLYcfHXgZEmwHN67n3GWtvKkTnWN7wAGEvES9iXTzUW1OO+H9RUbxzU82QCs/zd81ROpGaUetyvBpDdg+Bw+gy2XdrQaYHfX0cPJsBhsTmue++TrpdmajDP8= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR12MB5744.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376005)(1800799015)(366007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?2s0UAFq1IJu1oLalWzrvmZJIArS9O2l/BUT+UwtkbkMYLfiIdJAgBzjD+Odo?= =?us-ascii?Q?i0xwGgpVDeG7Ny26QAd1nnTjcnW4wFm5Gu5IvtgK9rCRepRRpiIG39SklKS7?= =?us-ascii?Q?3vddowW81lK01oAB4YBlrWC2Om6PREs8lWoOcgF2292LxrZ5ZwN7IYkIPTg/?= =?us-ascii?Q?y7QlxpSAxv6KD+OiF6ZpcamK15x30isR5LpLb8XS1NAJYtefKXHtAJTvuG4a?= =?us-ascii?Q?tez8j+JlVb5oIguUIKeXjdmaZYgTADhPgXo1WzDNRPORCb71kOqdmRjtIk3z?= =?us-ascii?Q?RMKB6cB1o5JZCvfRZ326QobDYz2gjBudbZRgRN+OWihh+73mrFmeJRuSL+pq?= =?us-ascii?Q?LcOasII8mIWkQKn6q/SP8xXJow60sKpxmyNIS/+DzSKKylfsDUVoi8bhTZz9?= =?us-ascii?Q?pI40iGIEgumgstd1ZczUZJLsu5oKz2N1YXnxSgnu8pmPLB4zZDFgqZ2x63GG?= =?us-ascii?Q?zi+TPg/FvuOJ6+af7DhGJiyAqv/mtyjr//KGUGOEaKcUroQ7rHMM1LzLPIXk?= =?us-ascii?Q?yd+ISmhdt9IW+752ChsSgTFKHVvfGxrgt16o2pw3niwSm8v4o6UF7hxBAh8r?= =?us-ascii?Q?bHN2gN61UXEBQhrcTgEGX+TKwXDYdyCvyAaQkRBESwSFQq8aRusjCFkeRlWD?= =?us-ascii?Q?knSmCnuT8WKBBIJyOX1oSIRJATjddWH9xqiwANH+gPMtI1B0cQtiPRLHxcsv?= =?us-ascii?Q?Wwp5Uz7TTrZX1j1oow8o4gAi7PksLS8yGDoHvCqkMiEXpnZtUBnb+IY/7qK6?= =?us-ascii?Q?QXctRMP8djTmxMhF+anV9S1nTTSuX81ZW/k87FJo46kbTxno9uORfWsUgTZd?= =?us-ascii?Q?aYNa9WSLzoWqbno7iLL3rV6gUr0vwU0Ov5Gs54rHvwDzqpf98KTwcKYDCkYB?= =?us-ascii?Q?Mc5ksZrshHe4a6gNTkgdV3CZ/79wtS9+ZcDYkLdoliXQgIoqFpqWp8JdIMdn?= =?us-ascii?Q?eaXr1U8ZzihghUVE7ElhyK8nWBBtWX8Lj0dh+cyQVl0/+dht7G/asIeJODUc?= =?us-ascii?Q?LqNmYaYcSlJ9WN+ynXr3j7lWD44vqEHw2AIrO//JezXWa6Mm9aFRkj60UwRx?= =?us-ascii?Q?tRlRfR3ClYKoadwrRLofOugtiuNvuVVJhD56sm8lLoNyLm2TsKXkcVH6AK1p?= =?us-ascii?Q?Gi5QIUUrpVvvduzzhq3werQvhXTIMLAtAH8ORUQZB5H1RmU28VWSzGIVJrcL?= =?us-ascii?Q?3L9CsbQzBbLhC9Ya7gslHd3WMLSjH0lCyK3xu5GhK6PV9HPP890Om33TEkGb?= =?us-ascii?Q?eAK5jaz12/Me1RQpPjOI4x4l/k2KrHNuCqk0IPAZfBfPEJ7bCaCYqx3VAjbi?= =?us-ascii?Q?YzITkEsT00/98ZcZbmjUNJp0U9AmdtdUkoytaEQLHuM32AJO3BVB/v65dtxF?= =?us-ascii?Q?u1PtX7yMmEvSa7yv0iObdPl2vAJzpmmJcwGjfNlZMTz8u6mLgpfqTGFpLpei?= =?us-ascii?Q?Ida5kjUVymTq+NZs6CgxlS74akXeCfVvQvIxcm/r6hdZE471NpPocL+PUcak?= =?us-ascii?Q?749wf6ATdkNI0o7cGnGdv1hiIKw16sZJcdaJZJX68sWRR+TEfgvxp2AfdkT9?= =?us-ascii?Q?fFL1sM6aFJzrpm6Yfnw=3D?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5e32594e-1f91-4e8b-166a-08dc5afdd622 X-MS-Exchange-CrossTenant-AuthSource: DS7PR12MB5744.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Apr 2024 14:35:44.6995 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: l4gpTcLPAAzA9wdQcKwHV0JwQFDgpFprSKNX2LnjWHwrsgSezSX/zwiJmRvi0RaU X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB8242 X-Rspamd-Queue-Id: 38A6B2001D X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: gxrxteh7cbyfxr3ta8x7edax7y3tdt64 X-HE-Tag: 1712932549-232884 X-HE-Meta: U2FsdGVkX18Jwa4nQVZfINYTQ3wbMqTqB9o/aJytLDL7es1UBPAK5vTqDN98lJGD8A9JVgYAyAQHTiwXPY5YRUuaArycaWs7cg32cx0d1BmMxzSpgtcZneaiA0Anzgn42szezaVHgjbHgadxSPL+Ofphb2lFqNWa6F+TGFu9gG02me3cjK8DiE5glzAV04BIcOgH9qUBv3IdwYhuxUZtk/y7zSiVmZywdC2449xJjFekF2eCTEWRzqrIK4tnFJpQOJquhOlXS5+WKZceHWWgkYhALpLD5yZ+wME/xvWvxmZUrYKMxP3uh+8TEG/jdIRYWDzTYHzw4vgXRZHMDOvHxGtwaq/7dbprd6K/v2if6J/GIPz5Qk85CGkMp3GoJZhdCeVkswLNN9VdsvbWz8+E02be/662RosVrUzF3KFMiwgzTIoadz9fo2U0vbKpJkHmVIjDOf/HmB0o40SOKtUOPm3Dk4OlN6hUeCP+zA+x2ysqOnGdH91vfFJKTjOETWjjg7MfMeDq1G4WWo3yEAJU1SwcF0CFsCoakSBMlf+QVi2WAsDp1o58iDetPzNUxqdrP6UMSpVnXIXUG6QlKZMcK1VBwGjWyqS86M/6Svqn3WVQKmWOd6ekf5csu8AWxzd6BpUeKdHsfKAZwArG5vILR+yYjcmlEefj1HHXa7eiURgQXmL3bgy2aJ93vRcUVNpvfzbXMILH7kItGHGwLlQkQO4uU7opblZHWU09b9XrRipuAnfnW/w3XGKQZECp6pqiIFQybpf+OYxpKabx8HKMnLHqJy3Zxal/N6PiobLtoHS7V76PhFlyBPeqBEIP3/5gxJposHMXYN6F07Nv9BQXchQosymNhgDkVpOZAXE+4nEy8wTSmw/DZXAiOZU9E0LPkX9X4Aq4zvA2aXcc5+gJTmNcK6ylFoNpcryiFYYP+vQU//kv5qg1HxE71MiS0O1fdheD22mG649aYwcH6Bh DDHHPIyH uIB9X6KqAaOLaEnRoezS4dZ34RDxSktyMQUsglKfsIH7QC/taF+0TaRTHdw88kYMHPElefDrAfd83VaRIsJckfnQwxXNBEpUWBtHsJGTRjtPMx/7ti2W3uP6kTlyXlkhUmogPG2T80ClxNlhqdY0spmg8SPL2BKleC5+IozX/HoajkaoKlhdCdh6uRySrCsaB6i7Ba/QyKbrC2if3ZRUOm8PGYo6psQyw4Oq60bEy6QNLiKVdMg5F6VubT+5yGJYlIkmOcyKdbCdqsKn+DGUuicbzvfaKENM1tm2Z8KfeAiAiP8Bu3sdhdOZGLEE63L7aDe5WMIP+53NgjsFNSSLwgvvzHhMpckHG6paz+0ieu6krcj4= 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: --=_MailMate_125EA509-6E8A-494B-BF22-530A29437C63_= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable On 11 Apr 2024, at 11:46, David Hildenbrand wrote: > On 11.04.24 17:32, Zi Yan wrote: >> From: Zi Yan >> >> In __folio_remove_rmap(), a large folio is added to deferred split lis= t >> if any page in a folio loses its final mapping. It is possible that >> the folio is unmapped fully, but it is unnecessary to add the folio >> to deferred split list at all. Fix it by checking folio mapcount befor= e >> adding a folio to deferred split list. >> >> Signed-off-by: Zi Yan >> --- >> mm/rmap.c | 9 ++++++--- >> 1 file changed, 6 insertions(+), 3 deletions(-) >> >> diff --git a/mm/rmap.c b/mm/rmap.c >> index 2608c40dffad..d599a772e282 100644 >> --- a/mm/rmap.c >> +++ b/mm/rmap.c >> @@ -1494,7 +1494,7 @@ static __always_inline void __folio_remove_rmap(= struct folio *folio, >> enum rmap_level level) >> { >> atomic_t *mapped =3D &folio->_nr_pages_mapped; >> - int last, nr =3D 0, nr_pmdmapped =3D 0; >> + int last, nr =3D 0, nr_pmdmapped =3D 0, mapcount =3D 0; >> enum node_stat_item idx; >> __folio_rmap_sanity_checks(folio, page, nr_pages, level); >> @@ -1506,7 +1506,8 @@ static __always_inline void __folio_remove_rmap(= struct folio *folio, >> break; >> } >> - atomic_sub(nr_pages, &folio->_large_mapcount); >> + mapcount =3D atomic_sub_return(nr_pages, >> + &folio->_large_mapcount) + 1; > > That becomes a new memory barrier on some archs. Rather just re-read it= below. Re-reading should be fine here. Would atomic_sub_return_relaxed() work? Originally I was using atomic_rea= d(mapped) below, but to save an atomic op, I chose to read mapcount here. -- Best Regards, Yan, Zi --=_MailMate_125EA509-6E8A-494B-BF22-530A29437C63_= Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc -----BEGIN PGP SIGNATURE----- iQJDBAEBCgAtFiEE6rR4j8RuQ2XmaZol4n+egRQHKFQFAmYZRr4PHHppeUBudmlk aWEuY29tAAoJEOJ/noEUByhUzLsP/ig/ncHlFC0b40eNH++n/7FRvGkvwqockaEK XzJTG/rmDY7VbJv7OSX/6XG0cLAOekTjzKfz2ULN0Pa0UwcHBD09orzt2iqOhcTz /DEvysyedt0geBsMKXayaHnrr5s+Oug5otwV4cJ8wHw+6dj5P8n71wGD7wDWYUW4 OrqkoQFXL2owI44h2bmxf582+6WD6IzEUTb8NPINUJ9jQIEQsyyOyUpjwlfhzeKf XT5/4PqLq5Vtbw2AIIiUpDVKlhArIG0+2TAUA4MSAyZQKCzYUqJDrU6jAIBYVBGC mvfBbKc/QCrOIRP9fZVYdhV7qaSqi6iGb6TgxSMFu6B9+e8S2eYTjs9WcMXku5MI o7aNMMqUMC1Y++wUcw9H+YYBVyl8+5rVqFnemSnQNyfdGSjQM94gbttDUgK8q/o7 7sf81VRC0iCDDRfziSr3wyIxBcbrvrk1/OrrBNe1/WGNi5BA2YCtfYJxJ5rBK1lv N88Tt+kFRWiDWCPPgY9oz2Ze5chLSCxIu2eiii7eU9SWkj8esDIy3tjRV4aanYZI 4oNqGcuIXZM0UgqYTSxrYAvu3PzNO61LSwXefg/OwSeUeDd0YKKfOPK3ZXDE7Qog CF2z5eMgd9YRRzXjhq+4PpOfPMv5E2TquBkiDnAICgnrQg6G4dPr4NBiqFKojVcE tXT6K1+n =g/El -----END PGP SIGNATURE----- --=_MailMate_125EA509-6E8A-494B-BF22-530A29437C63_=--