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 10C7BC48BC3 for ; Wed, 14 Feb 2024 15:19:33 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 883306B00B7; Wed, 14 Feb 2024 10:19:33 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 80B5A6B00B8; Wed, 14 Feb 2024 10:19:33 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 60F5C6B00B9; Wed, 14 Feb 2024 10:19:33 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 490216B00B7 for ; Wed, 14 Feb 2024 10:19:33 -0500 (EST) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 1697FA25CB for ; Wed, 14 Feb 2024 15:19:33 +0000 (UTC) X-FDA: 81790768626.23.577FC64 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on2043.outbound.protection.outlook.com [40.107.243.43]) by imf22.hostedemail.com (Postfix) with ESMTP id F047FC0025 for ; Wed, 14 Feb 2024 15:19:29 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=dejtT5md; dmarc=pass (policy=reject) header.from=nvidia.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf22.hostedemail.com: domain of ziy@nvidia.com designates 40.107.243.43 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=1707923970; 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=L8Ky7f64np0p1muXhNJIEgbsBYkJb/YrLTBP4EWVMn0=; b=hrujiHx/0ZsTNajm1X9Zv2b4Z+oq3uuhlgXU+MDq7D9QF6U4CtUChw7z9K3dmxankHkZIE YwOwiyKBGBFMMBmJgWuD8l7BptScrCetb68IjI9NLQp8Xdixhl4e99fI9aGhLkz/PgwBqv afex7QaRb49qsXq6dQ1fWbzi4krOzOY= ARC-Authentication-Results: i=2; imf22.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=dejtT5md; dmarc=pass (policy=reject) header.from=nvidia.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf22.hostedemail.com: domain of ziy@nvidia.com designates 40.107.243.43 as permitted sender) smtp.mailfrom=ziy@nvidia.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1707923970; a=rsa-sha256; cv=pass; b=zzMTbhSIxlwAR4o2H4h7naOdCatorWWaTvVBlgv+3L0Atv4cLuv6EHwFdjuVHNdwRw4ukw Oh7fdMXvCTFdxj1diZouRWkEJ+u3q66tCvsf8p6nMFs+qtvzFuPK2y77MnT3swvaK9hS6m miJ/XmpLwOMtdtqqGguIFlC+AuzVnJw= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kn5vLWy+OvOtMfupsfuoXJf9g+4RPMSqOiGsichYsdg5JGDvKA6LR+JAvY0VH5myjBQKOpLq1njvSPEtt8GQD5LwnzcBgf15VYNKuvFUVy3rfkLR3qaL3e/z3m+Dj9OMuvraQMLNdGSh57gPHNeBHpnZBz53LfOHYivNGcHfZkliGGFJwEZ/+sNBXtAHDoXGsiahXuTcjQR7GFP2NzORBaIxJiY8e2WBG3xfgESdWTi7cYPBxUIBEr0sfrKZ3qfeEg2k91GLIXQRgGXx87w7DrNJ1/dQfNSyBRShHCGsqzdzWX8vAsiK/xKindO4WzikGM+rOCsqU1Y5eskZom5LKg== 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=L8Ky7f64np0p1muXhNJIEgbsBYkJb/YrLTBP4EWVMn0=; b=Ca3vDbgUVmOWj1EkO9gS18Jbb4n7YfkRdYCRpsNk6AB3c58mB5SQGFxtbBYE8TwdZCxqh9PZBSDRKLGqRZ7bjCuPsxysZ+5lNh6MZRDa7hqA8UGwECNe0f4j0H1cKwueWTuJMG9Kav6dcD5v988OiJdHG3ep/FV+VqNTMFtar0ccYsdx1sJ47o1xHsrytFRJKezucrNKAETUgEq8sBTA+D3xZysaItZWzBhTTah4asKKq21FWaPDyvO6KU6zsuE1a1rZjKIhUn44ASw7kIEM3S4TmUL7Y3VRCQnV9FxO7TnN3JlzmPLl2chohB7e9J/B0kv0iqoGnJddtkF6hNHS5Q== 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=L8Ky7f64np0p1muXhNJIEgbsBYkJb/YrLTBP4EWVMn0=; b=dejtT5mdKWSm0RMFLHhWsY5sAJvKqn6UMwf+pttflRvbJfcP/pNU0b3NipLwumu+cOVK5Npxzc+1IBW4WBapXiZ3Q96kgsXHDxl+OJvR1ly7OKtfbRTISCBBy9BkVYrdB57cei1/Vcjp6SDtJH0GbKpmuLZDrEqgcM+ROIwbDk0D/g8J6HZcavk5CAc3ZA/A5vHpz0fsIWvdh4QSMbgg/yvgcFamhipZACtg5o/56qZoJpSGnhSJ4WOAMuny1WGUIxHHOlHw1MxqipmUdcV2fw1Sc3z4HbZN67epPOZds0wa99rsZh0beP6kUTUQzn87wsL36dMAcdlqKzM39sUHmA== Received: from DS7PR12MB5744.namprd12.prod.outlook.com (2603:10b6:8:73::18) by SN7PR12MB7323.namprd12.prod.outlook.com (2603:10b6:806:29a::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7292.26; Wed, 14 Feb 2024 15:19:24 +0000 Received: from DS7PR12MB5744.namprd12.prod.outlook.com ([fe80::db3e:28df:adc1:9c15]) by DS7PR12MB5744.namprd12.prod.outlook.com ([fe80::db3e:28df:adc1:9c15%5]) with mapi id 15.20.7316.012; Wed, 14 Feb 2024 15:19:24 +0000 From: Zi Yan To: David Hildenbrand Cc: "\"Pankaj Raghav (Samsung)\"" , linux-mm@kvack.org, "\"Matthew Wilcox (Oracle)\"" , Yang Shi , Yu Zhao , "\"Kirill A . Shutemov\"" , Ryan Roberts , =?utf-8?q?=22Michal_Koutn=C3=BD=22?= , Roman Gushchin , "\"Zach O'Keefe\"" , Hugh Dickins , Mcgrof Chamberlain , Andrew Morton , linux-kernel@vger.kernel.org, cgroups@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-kselftest@vger.kernel.org Subject: Re: [PATCH v4 1/7] mm/memcg: use order instead of nr in split_page_memcg() Date: Wed, 14 Feb 2024 10:19:21 -0500 X-Mailer: MailMate (1.14r6018) Message-ID: <1110486E-73BE-44AE-A290-BC8AE1F06F8A@nvidia.com> In-Reply-To: <27691f5d-2218-4247-b688-cd16d46961c3@redhat.com> References: <20240213215520.1048625-1-zi.yan@sent.com> <20240213215520.1048625-2-zi.yan@sent.com> <27691f5d-2218-4247-b688-cd16d46961c3@redhat.com> Content-Type: multipart/signed; boundary="=_MailMate_6E9AA38E-7372-4581-94C5-3567A0306DC9_="; micalg=pgp-sha512; protocol="application/pgp-signature" X-ClientProxiedBy: MN2PR15CA0061.namprd15.prod.outlook.com (2603:10b6:208:237::30) To DS7PR12MB5744.namprd12.prod.outlook.com (2603:10b6:8:73::18) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS7PR12MB5744:EE_|SN7PR12MB7323:EE_ X-MS-Office365-Filtering-Correlation-Id: 9f50121a-1c9d-4915-b584-08dc2d705399 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: WPn4y/uFnZRRhd2UE2y96n2Hc+ibvBIof9h9av0z7wv654fg9VBNsAJpfP32vD3xEBlOtsBrR0rI0JpIM+McvtvSIzhtKUvspZwSodwSJ1jQw9hk3Nrvqv7dbmk/90ui29k1CnVeQ94p3Rp9uAeQXLH2AG7unzX35tesmC4EfPgmpW4ovIQMteR5q71ux3eF1xn8Om5s2gEiUUkK/WaLFvxB7QRryNsmJf7ajFcflobC84jcVx6UkNQS7Qltvqo/XXcDNNyQ6imtuILed7ToDy4KJy8tpybCkzZDkKVtdxccWY/2NTEI1OIGw6WRU5IxAE59JQvY3A1EFq4drWCwt8akbAS4NuCpI99lCyL2ndSvc3tuHQAq2k0CyCo15rklnqjgaXP994UjtV0CqG1phu484u5o+MoA+yrSbkG6v+s0ZrVoe0e/byx65tsKbPiviay6LbE0xbY2RyPu/CSswTD36FnpOKRnuJQtrITPdch3Hvx7U4aJSBVdBPZ0Q9xrkVQbvaA9OXxNXvVx1XNNU0miX+v7HY4sGPyNNHnmrC6T9fx9J3YkA6Ql/T6oLU47 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)(396003)(39860400002)(366004)(376002)(346002)(136003)(230922051799003)(64100799003)(1800799012)(451199024)(186009)(7416002)(235185007)(2906002)(5660300002)(36756003)(41300700001)(2616005)(26005)(53546011)(33656002)(478600001)(38100700002)(6512007)(83380400001)(6506007)(66946007)(6486002)(86362001)(66556008)(66476007)(8676002)(6916009)(8936002)(4326008)(54906003)(6666004)(316002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?zLK4FmpHNvrrS0eXvOsBJl8AF6XM5T4/+TCr1bmRl3+oaZIaN35gbNxa30be?= =?us-ascii?Q?gw1uAthZtz9F2uCCMqOu61ZHBweB8BJmlug/YfCcUrtRDqRPDoJcjD4I0q/O?= =?us-ascii?Q?vpmJLoUKxogVcuvL8o2kgkPiv3NiQidgkQfMTbPJ/KCLpstSfkkzkU3ipVd8?= =?us-ascii?Q?BhzJ7g1AA8W+i5InLBqEK79M+uPmKQP/I4LEJE2nyGTfU/4jUwUENrS4wvSA?= =?us-ascii?Q?lYLzkWuft0qDo2Zz2S2fOQMwcVjGc5vBFdNVFahk/jgomkNVC53J3uLDT7Rs?= =?us-ascii?Q?/6VRn3HiC6Eddj+IsgvXX9gzUE9A+FHrayV+NybeA7fTpxKFd6Tt4bXqFkmt?= =?us-ascii?Q?+gEV1bfnbJuPn0MbeGX+YIBnWWgsPOQSw0Krzjwu1Wdwj5Pu4NsmCUjcON+u?= =?us-ascii?Q?aiKbf1LJv2lTeqwM55wmdSm8ARXYJTTXOk15ogx0i3LpeKQV+/osx6hey/NT?= =?us-ascii?Q?UEOOIGGCPQ2L1SirW39n/wpTnjMW8lhs2eTI11xWDKafzJHpzNT7ontDk7ef?= =?us-ascii?Q?to8Xztf5/wCWmiaB8hVJs3R7JPJ3MCUDv/e8bh9pZtPTM2gWrdgMWkSNbiJs?= =?us-ascii?Q?a6bsjBAunFXEckfMGwr0hnmmbhWBbx1IAHpvA/4ES0H3P+tVl27dyfG5UXCf?= =?us-ascii?Q?+bG4B2Im872/M6kTC9L9sUQpdNmSZXIxNkxG9BjVBCtTn8Kbdd6vDvmjdEcs?= =?us-ascii?Q?bPvoOAKnchn/WonhZtL7e/fDjIkkHAyTaHFTWzd79l+Hce6Pt1jW7V8VqxPc?= =?us-ascii?Q?9HIoxCSDoTnEqUxC13R/bLTk+9Ej/mLoLzMkOdGBbaY3hiG2lrzvd0DtmUGX?= =?us-ascii?Q?jx8yKbug5sNf1zMQSD+2orzr6TRz1nNjmLx0QHAIFqvG9MN+s/1+mGf4tJCz?= =?us-ascii?Q?+6NXZacbzJYjwE1aq6Uf4uVn633vbKcZT5Q5hCxRf0dcIErmaf5wVVwJ1osH?= =?us-ascii?Q?3bQfCN/Ja2F5p2AEBDFtlw5fVYA5gZQoXJLxSLnzz8hHIVuMUcUFhNZfOUxJ?= =?us-ascii?Q?9m1bVw5ZxbwlyAJyC6ZtHLwcBZGVn/rSeOHiw8YnispZJRKBHfeUmh4HnwID?= =?us-ascii?Q?zW8ZT/kfoDlgdLhceA9Xi5JZw2MebaYBUPjMZJC8bkSxXUgvfnLu8qigYgi/?= =?us-ascii?Q?r3SyYK/sHGwXLG/+OmjlWq5UeMOkXFrU7MiHqlXzOTXV/XM6G9LBTeBMbHnL?= =?us-ascii?Q?a9h0HPWSWHhg2j+r0GNjZGnQOYQ+eXPTBGxvyiMeJFX9FmRb8VpANR1s1kTW?= =?us-ascii?Q?g/+DCrpJbx61R6XQVBl9Sf/EIFwImG3QNzzcGSeTrS1rJGT1BlnQwiJ7h4aN?= =?us-ascii?Q?Dyi/JZVRANT64A+IOR3yj2PiZ5HoKp10HwIXpCd1RG3WTk5aYZzYD/woSwxC?= =?us-ascii?Q?SR8FM5itAYpqYBHuV24iDICKVnqLTeU17uf+amGsQEvxZxn/GrIBzHr9h+ku?= =?us-ascii?Q?VmEEjWL6d3Q88GoZrzx0NUKOqgpsU7jMtRMapBuAJicO98BrqXmRC4Y7I2tM?= =?us-ascii?Q?1BOYfUxHxefk6EPRvScQPxhJt98axP/5UI9oXk/fl78Pal6hdNWnCfE1x9Qi?= =?us-ascii?Q?kpbUc/k2bxC9xXA2Pbc=3D?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9f50121a-1c9d-4915-b584-08dc2d705399 X-MS-Exchange-CrossTenant-AuthSource: DS7PR12MB5744.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Feb 2024 15:19:24.4366 (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: KGQG8jRqjMMFRXgMyg2HsQ5AyhP3lAeq+R+PJfy/AJQgfUu+V3FW7G2CdGa3aa3/ X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB7323 X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: F047FC0025 X-Stat-Signature: x617urc76n17ixduposj5tkmptdfat6z X-HE-Tag: 1707923969-92461 X-HE-Meta: U2FsdGVkX18RlDdFrLzm/gqKh5RwKtoWXDA9ZssGD9Zymrbej1Ncl4nu76ZVg8f+txnIvGAg7XlhO+ZHd1EGkjVMypU2YXrMhOamcmi8mqN0jlIGD8EYrVudYnjV1G+aX69ZRoo1RqJgmXifHN3M7uO65R35Q1U4lh88QBB5UGtuhZoGFmGQGMiJrxJGkM6Of3cgZlf3t6V86NUolbJias2m7hYODzk1QI/mwACTaNw/je3QgFzIqSSXn8TC+FVROfrFFoki9xk8ocqo7L/8iSRbT49IVGI1pg1iIARk6wjDt33won5Ot4wfJB+xgKf3V32wnv85N/S5kc/70gcMBEFNNKrEEf2gN0PajG9CmCjpQts7+AFrpNQJdbOWEA8TTda7IdaMYkUSoVZrjO7CBEHXNViEOCz+zcSUxrO6GhmjJUKLlycmXx+rthMhwBC2Le8X0F/qAWyAaDEjtDLWF2+552ARlJ0UrKFeRAcwhDhcdH8gUX/x9JNcVDlDDH9o+JwuCoKWwydaztKAxIieKny/EX/YrNOnmQmYZX1amPzC7Pt6MgOx+Jz4zh8iniC1h2QpjmlCtJrDvfpv8IrUlLQ89dlR7SBgswkTUgzRKJfkoT92W4+u1Hrps+b+evV4YDyCM9HwNGebY34zXdtgxaGIzHnpgTh8tRRfBkMtVXEjkzSGfralT3xuZJrTjjK/5Zf1PKoA3lEhy01C4hTLzT0MyngzFcND3gHTy8LfkReyjiifMenn4Cbd6rTN+7TegjXknj/wdNrVQPeEdhmLIAwGuIMfwmv4TDfdofKJPcOVsJCZEiZUfn9GKlQ/+lkL96l710FZGMqhfdFf+MZ/GlytnAQY6aVGdByA4JBkvsqhlg+WgbNBuWcD3TdlOYHnaIQQ5i2j/B0bnfPcvh1z+ZZ38n5JblpGgU5/eYigMa8dtSguIpIR8sTlWbPmobth8KNuxkTLRFMzVpgFAWI SRw+szOs VvRq6H+5mPnlho/IqE0eBzNdi90siUfSTSZZAcoZJyqFC7KmUQmH7atO0lmnHo1H2JlNwiZ344SzNibot0XItDd3sJwxM4WqBl4ktTriBnw/eg50xT4M/qFoiBZZXncviatzd+oLwbuOZGwaTJD8rIa7l6QXhJfqu18RtJzmwWfbrk5RkM7Njk1CbeSrZ9HMkIFF0mf171HcAO8paq7IR87j1EQl9fqrMVQZORWodm1vgSJXUoBDbjQYWRPsWmjvhvnzW6vIv20PIJ6uhR2ow4yQriQ+b3Vipb/8YPRYlSyUXphDtLYEpPv1Wh/hZgJgs8KhB8dSe9+K2PthckqCiS2OK4oiuSJ0Y2A714daEQqLXbnXL5aJffX6SpsOhkFCkpvDCjkI7+kkRRpsRDmFDZxtTETBj2EnKjDJphFUFYzxLZW2+3z0UQSDeKw== 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_6E9AA38E-7372-4581-94C5-3567A0306DC9_= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable On 14 Feb 2024, at 4:12, David Hildenbrand wrote: > On 13.02.24 22:55, Zi Yan wrote: >> From: Zi Yan >> >> We do not have non power of two pages, using nr is error prone if nr >> is not power-of-two. Use page order instead. >> >> Signed-off-by: Zi Yan >> --- >> include/linux/memcontrol.h | 4 ++-- >> mm/huge_memory.c | 3 ++- >> mm/memcontrol.c | 3 ++- >> mm/page_alloc.c | 4 ++-- >> 4 files changed, 8 insertions(+), 6 deletions(-) >> >> diff --git a/include/linux/memcontrol.h b/include/linux/memcontrol.h >> index 4e4caeaea404..173bbb53c1ec 100644 >> --- a/include/linux/memcontrol.h >> +++ b/include/linux/memcontrol.h >> @@ -1163,7 +1163,7 @@ static inline void memcg_memory_event_mm(struct = mm_struct *mm, >> rcu_read_unlock(); >> } >> -void split_page_memcg(struct page *head, unsigned int nr); >> +void split_page_memcg(struct page *head, int order); >> unsigned long mem_cgroup_soft_limit_reclaim(pg_data_t *pgdat, int o= rder, >> gfp_t gfp_mask, >> @@ -1621,7 +1621,7 @@ void count_memcg_event_mm(struct mm_struct *mm, = enum vm_event_item idx) >> { >> } >> -static inline void split_page_memcg(struct page *head, unsigned int = nr) >> +static inline void split_page_memcg(struct page *head, int order) >> { >> } >> diff --git a/mm/huge_memory.c b/mm/huge_memory.c >> index 016e20bd813e..0cd5fba0923c 100644 >> --- a/mm/huge_memory.c >> +++ b/mm/huge_memory.c >> @@ -2877,9 +2877,10 @@ static void __split_huge_page(struct page *page= , struct list_head *list, >> unsigned long offset =3D 0; >> unsigned int nr =3D thp_nr_pages(head); >> int i, nr_dropped =3D 0; >> + int order =3D folio_order(folio); > > You could calculate "nr" from "order" here, removing the usage of thp_n= r_pages(). Sure. > >> /* complete memcg works before add pages to LRU */ >> - split_page_memcg(head, nr); >> + split_page_memcg(head, order); >> if (folio_test_anon(folio) && folio_test_swapcache(folio)) { > > Acked-by: David Hildenbrand Thanks. -- Best Regards, Yan, Zi --=_MailMate_6E9AA38E-7372-4581-94C5-3567A0306DC9_= Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc -----BEGIN PGP SIGNATURE----- iQJDBAEBCgAtFiEE6rR4j8RuQ2XmaZol4n+egRQHKFQFAmXM2fkPHHppeUBudmlk aWEuY29tAAoJEOJ/noEUByhUe44P/37IDa1WsWVe9kc3Jon2KS5bBVOe4MWaDCz2 oc/psM4afd3t+UgGcdm6RTqA4b8UJC8+9fKmACHNt+orzXl0lpfpZxwmCgIe0lmj wCB5vnPbOf8l5p+eg8kyIwwEw8EeitH1dUx3Wp3RS+Q5PPT7gJ5oPctGeHwObbMI pnie4tDVNTsKVPc7/WZikGfqc/cTqyAPbGMsgUo7OPEsY5viXxTphFs2BPYocTTY rgARFkXO3g2uF75CHlGXwNqJF3xGkLNXQB6AUqh21Kain5pCrDL1Y2nsUfljvgGw WX5JR1NBmRY6UFOetvnR3+YMqBUqO8r3nnKgFM03RNZaY/4v7bKwiDlKBmvyiNeZ 22t+hgRUpUauUoCTv+rTAsIUVag5QLinnBL8sfMk5YtZF8+d9Ww4KtjRq1ZwDSG7 bXftHc3VYx0ScTGC45Xg9gqZC09ELraQHfSQPcv2s9+VWW5p6C1iZn6sLwkLcmS7 A/9BkXPtxk/V2sXFWkQss/o6m2qFFAGifrHI5B5kp/OMW8zD6EO3yjBzl3tHL0ye M/9b3SQ5l6yPryz3CoKkVETDeKvvpLkclOSqf2kZpykD//ImwXUSxQj2Ca9LSgPj xdQ7cyAUSn2sUbwxOKj9uxSNr4rkzE/4o2+OoAA1hfCIRWJacBiDXFGjRsV8iXVs 8gkI17RI =+scf -----END PGP SIGNATURE----- --=_MailMate_6E9AA38E-7372-4581-94C5-3567A0306DC9_=--