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 E01FBC433EF for ; Fri, 22 Jul 2022 19:20:59 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 406E26B0072; Fri, 22 Jul 2022 15:20:59 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 3B6596B0073; Fri, 22 Jul 2022 15:20:59 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1E15B8E0001; Fri, 22 Jul 2022 15:20:59 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 089856B0072 for ; Fri, 22 Jul 2022 15:20:59 -0400 (EDT) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id C4AEF1C687C for ; Fri, 22 Jul 2022 19:20:58 +0000 (UTC) X-FDA: 79715703396.30.F90D971 Received: from mx0b-002e3701.pphosted.com (mx0b-002e3701.pphosted.com [148.163.143.35]) by imf28.hostedemail.com (Postfix) with ESMTP id 2441AC009E for ; Fri, 22 Jul 2022 19:20:56 +0000 (UTC) Received: from pps.filterd (m0150244.ppops.net [127.0.0.1]) by mx0b-002e3701.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 26MGlGKF005768; Fri, 22 Jul 2022 19:20:56 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hpe.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : mime-version; s=pps0720; bh=Jcw9m15dxYiGFiLivb4Dv4yby0eaoEfDNQP/+AJbgjU=; b=CLY/ZT7k8dToUu9TNxosdHtPw1ZmSOirtTUN9Nx/q+9irulC1HB7Qpc6auzHDGGpgJSY cdVj42EZs+KRka1edAjnwsbmbF9BxkebTk5nYcWs/6Vdq4nPo8h2gHxdeodhg2D/mj6h ziYrwd+QTv4+Mk+TshaubLsUQ2A/dB6vJw1cI0aPig35LDf6DpAVDYWaRNpuVQ3cACZB 1wFbx3ctcIIKeItpKkCnoRqaSiTycSMelY+7To7sUWe1fkh5VB65M3B7//rmMwnkhWqj rAAlc6oU9MOuarvSqRc4omHqH4qDp1iQpb3PCkVlDcDM0gjYT0RUciBF9V21qThbcpw9 Mw== Received: from p1lg14878.it.hpe.com (p1lg14878.it.hpe.com [16.230.97.204]) by mx0b-002e3701.pphosted.com (PPS) with ESMTPS id 3hfyqc0x02-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 22 Jul 2022 19:20:55 +0000 Received: from p1wg14923.americas.hpqcorp.net (unknown [10.119.18.111]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by p1lg14878.it.hpe.com (Postfix) with ESMTPS id A152DD2C1; Fri, 22 Jul 2022 19:20:54 +0000 (UTC) Received: from p1wg14927.americas.hpqcorp.net (10.119.18.117) by p1wg14923.americas.hpqcorp.net (10.119.18.111) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.15; Fri, 22 Jul 2022 07:20:54 -1200 Received: from p1wg14923.americas.hpqcorp.net (10.119.18.111) by p1wg14927.americas.hpqcorp.net (10.119.18.117) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.15; Fri, 22 Jul 2022 07:20:53 -1200 Received: from P1WG14918.americas.hpqcorp.net (16.230.19.121) by p1wg14923.americas.hpqcorp.net (10.119.18.111) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.15 via Frontend Transport; Fri, 22 Jul 2022 07:20:53 -1200 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (192.58.206.38) by edge.it.hpe.com (16.230.19.121) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.15; Fri, 22 Jul 2022 19:20:53 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PCwAdRLVfXPe4t/1RTH3eBzS5ZjIBF7rSFmBUplki2VH0BSxB31BNY+t3QtYYTxbISTkayudvD5cfnBwUP+ao1z5JAm2lks/unTMyWcEHcDwZMvQhUDJVl8MEi18b2Y6K9NeQ69w7HnzZD32KAK1sYdh0W2Ig+ZoWsUa7qblBXrZgzYrscycQ7kF687Xep75DSQZ77vvw6Rt+a03KFexSjSHQ5hBoADnbc8aMxqAZ6Bw8FP/jSLXWvdqJZgXVtGCm3IJWvzfHWxeQK0ABRkwxvV1gRNCWIMRnTbf43MCoJ7RieZK0Ljq3OkyMRhqHO1Pgz8AmDgf8mDL60nO5QLySg== 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=Jcw9m15dxYiGFiLivb4Dv4yby0eaoEfDNQP/+AJbgjU=; b=SpmWM6j583VvtoJsSxZRQ8bScPmsq8fU2ERparIzpTXn9xPcuDSXp5HFDcvIUICMk4fiy2fRwNFZG3L5Pp+S0hLfqYOKxbk11IEVNCH61+a0hgVIAGvMB64ylKmR06liDE8WrdmKVxc8KdA/IspiDyGkaecbOgOIgR7kRctvQ7m6XGC4Y58hzUsCWRinnqoEJgEvwpsRYi2GVfvuz594p5/FLEf3itvm7NW4XOyW1bSimX8eAtBliA74uWj0oHXA4xpiUIOekGmSm37wXTJywJl1dQh2zIRJz5fDcXMrdQiT5K0U1ulLWOwaV0r4gK9dhV1D7ZvvIMWm31xdFTvZFw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=hpe.com; dmarc=pass action=none header.from=hpe.com; dkim=pass header.d=hpe.com; arc=none Received: from MW5PR84MB1641.NAMPRD84.PROD.OUTLOOK.COM (2603:10b6:303:1ab::18) by PH0PR84MB1763.NAMPRD84.PROD.OUTLOOK.COM (2603:10b6:510:161::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5458.19; Fri, 22 Jul 2022 19:20:52 +0000 Received: from MW5PR84MB1641.NAMPRD84.PROD.OUTLOOK.COM ([fe80::e5ce:e8a5:d075:8bc3]) by MW5PR84MB1641.NAMPRD84.PROD.OUTLOOK.COM ([fe80::e5ce:e8a5:d075:8bc3%4]) with mapi id 15.20.5458.018; Fri, 22 Jul 2022 19:20:51 +0000 From: "Albert, Des" To: Mike Kravetz CC: "songmuchun@bytedance.com" , "linux-mm@kvack.org" Subject: RE: Additional Huge Pages Thread-Topic: Additional Huge Pages Thread-Index: Adid6fHQyc+9ZzIjQla40Ysx3DpXKgADKCGAAAAYIeA= Date: Fri, 22 Jul 2022 19:20:51 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: ad5a4559-a11d-4db0-c24e-08da6c174aa0 x-ms-traffictypediagnostic: PH0PR84MB1763:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: jODbzWNSgvk4u/albj6wwygLGp46F3DCSUrUySpOLlP/+wsaSmTCCRK5mSd/z57KiPZYOtbaEvP5Wn8h7i0M2eS01yPdei/xO95BJKRZVdMRKZ+1AOlZAhVrINZaJTnB8LVYW7d8t64y67h1sbY8pndX36zx6yjhgzo/K7ylL2cNy8LwTH62nvQTeAqENspnQyem1tb4WIpRsMxc/VfX1wWC/n+pPL6ieXSYOGtoDrcFewNIyUN2vc9EXdr70p2qi7v0fJsC8QFPsSIWsOCnnT1cSvcBeevvfY2B5vqagGrAJdVMmpg22i9n/vCIaZb6y5TcpUO1D/EAjo3HZiPMgd2ae7z6JQ5ptyVVEouTW94lwnz+9ZLmC91/rPAyLZW/41kpx+Pu5I4d+hubv8zgy/sxiLlzJCbKVk2ApcQ3LaBksXrPNdjAHEz4Qqxus9JtD2YKhB1+9z0CQXWbYodWNr+eW/6bTaxNPnTEBG32ZL25T4HV/U5nPGnwwLh9NDXIK7+W+bMkuCjVa83MlPRaWEE38DRxvkWQa2zxv18Co3seyrRAHv6udQYPEicz3dVBVpmoobqaISxuv/BHHt0v2Xig5aqTuV0iFMF0AoOVbkOCIaQZF6x7QS7aF0k620iTFmBMvb0Ip/6hJ/WB/O3Im/GXywtx4zlBZq30ud1DpMYl2R/TswNXRlRUf4BA2Jhmxlf8qEnknIJCsJ7cwVhmu6tnKHXVh1Am2Q0WHsUGm99D4iVG03HHWjOq7OVjz6uSFEg8L1xqLX0q8FqvScVbTKk0vf5n6baZfJU3X2L0d0E7CIHOpXitLtyiHbGXicVOdekmT7ZNXiN+k9p+0TXfMg== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW5PR84MB1641.NAMPRD84.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230016)(136003)(39860400002)(376002)(396003)(366004)(346002)(64756008)(53546011)(38100700002)(7696005)(66476007)(6506007)(55016003)(66446008)(4326008)(186003)(54906003)(66556008)(76116006)(86362001)(478600001)(122000001)(33656002)(7116003)(66946007)(41300700001)(8676002)(71200400001)(83380400001)(5660300002)(82960400001)(99936003)(8936002)(52536014)(26005)(9686003)(38070700005)(316002)(3480700007)(2906002)(6916009)(14583001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?X2ZEh9o9N/QZx0oDIOdj2NLOO3kEgayp7EOgq6qxoyd7VUyQVFSW3shyiCvE?= =?us-ascii?Q?BEMS3fkW8Q7H20XHSX66AzCp8LFo22RVDYIswzFVIRPiFugdrujnZ87zkU3c?= =?us-ascii?Q?iM38Mcgp3+fzwws03nnGYYVUuusWzeKvD8v8M9bRA5dxNxECn2s7N3P+z2Q/?= =?us-ascii?Q?oOXd7pPtkW00Si+YdMUwsWPuyRmEVPWUjLT2bBmYfDh0Lu4Zs4N/VEc0SWC0?= =?us-ascii?Q?ix0S/gMGoqwbsca/PB7h69IyuKnRngOmo+0Av0QErdr4PiU0WH4kNCQj8XWo?= =?us-ascii?Q?Jfbbw0vstjHufSJBBOQuny3R6wpI8jQogUFXndGp7YHDw83+eqCudvBvklB5?= =?us-ascii?Q?Yknsx6IZ/qUPmEal4eHL1JwImTKXSKEDresqk8pRdvRtR/rk49BTJO38Y0QR?= =?us-ascii?Q?yG3AGktnWxoSVEIwZfhutbkJm9NETCIOaefPfvfUyDU17ZaOxTbtrqk/++W5?= =?us-ascii?Q?J8KBZurYfOSfkhckBr/R81W11epqm2cDpKvBJNwXAzcGLatRgMy4g95nqRfq?= =?us-ascii?Q?mmVFJ771GOCsmX9pkdkLxBHqb42aViaAWEeLwOSYQkut/oOpa6ksLiWQTpnR?= =?us-ascii?Q?7QF3dkQPt1R82OCukUmOykNbCXEFwzsIntaW+B9sujw9BUoerEh/kX0WlfKP?= =?us-ascii?Q?/YPM1sKY3lszMFVT8g7KU7JIp1Li8bLOK3XbOWRlvAYPBPSVEQ50UBuEuCRk?= =?us-ascii?Q?Ru+hlFIQWL+pwSnxq4oQb8d1MHgcYpaOzf5gfvI7eRfqqAuZbzam0Euwcg9l?= =?us-ascii?Q?RsaPjXg/2GWbPwd/B0AX+zobQ14CkcH6fuGeLBd1vUmN+XCkzenPHRNFiNmZ?= =?us-ascii?Q?ggFDw02tMDq3QuxiDCGaEfa7Fe0JKuAFRWOH9Xi6HvonZBNaD/N/7VAp9y9/?= =?us-ascii?Q?Jg7XZkso2XAF3ePGSHtRhfyCkJI2fOiey45u2Gtj9+/DuGsefPgfgxEuZM39?= =?us-ascii?Q?W8ghl4Fn/fpuWNCcjVJHRwO8ZWaTjYYJDbYFWxIRvAme51gx1YCPynumvsMf?= =?us-ascii?Q?PKf7sDXlqTCYb4pLssBUpBzDqf8JS6IU4ExBr265+/NLBg/6XoQGwb0xp8PB?= =?us-ascii?Q?AuCfa+ITO8+VdSiftdb3jgf6kHnc4Q3ye9lJtpOjR6XggIgptxEO6QluDieU?= =?us-ascii?Q?MeczyyDzjohWzc4K6xcuZ+EDoYvLHuU9jNXTI+S5MAB0o5r/UsTiXImYOczZ?= =?us-ascii?Q?TiZXiffuVM8VAS7lPQdnuRy3mtKiUyPIHTDlxcJdyM/PTRryBnRCKtXTcLTo?= =?us-ascii?Q?rXJbmLJAzRpA5+BugZFIKKQCMDZIrsBdmt+/bShnCgdfvq46PYiYX74/bdOn?= =?us-ascii?Q?J4I0TayP2tcUESLt0wpFRVxqm9ChuHmyhDq1YWEG6k0bbvMpsuBM3EZAKCXC?= =?us-ascii?Q?OMigR84O5DI39seLs27sOoPBc6Baeh+pr+mdQTU6tNxSCiG+peIn6QYvU058?= =?us-ascii?Q?+6uQ1cIQE1xXlMZPZ2UyzY8045H9ua7Mip80EdqerJWk0H4pwA8MFusJ9LYR?= =?us-ascii?Q?sHNRBR+CWr4OPAXVvzReUPdQR91Mxy26HCpXk0X6MRzgFwPpAE3KBR44Sh81?= =?us-ascii?Q?fkZ/A+LdE1VG/xIF7Itbz25x0LH/Q5dWFo1Zj0WW?= Content-Type: multipart/mixed; boundary="_002_MW5PR84MB164118CC1E986794336BC2C198909MW5PR84MB1641NAMP_" MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW5PR84MB1641.NAMPRD84.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: ad5a4559-a11d-4db0-c24e-08da6c174aa0 X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Jul 2022 19:20:51.8131 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 105b2061-b669-4b31-92ac-24d304d195dc X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: SbXAUFWMsCbZtLrURIG/MBVhARUZqTLh538UuLutwYQKy3VFj0zodpZ0HMKZsX0TFqqpvLibe/g6sXxnm4RJxA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR84MB1763 X-OriginatorOrg: hpe.com X-Proofpoint-GUID: EBHkIIEryawSTnPy1IwOh1a9JvffffJO X-Proofpoint-ORIG-GUID: EBHkIIEryawSTnPy1IwOh1a9JvffffJO X-HPE-SCL: -1 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.883,Hydra:6.0.517,FMLib:17.11.122.1 definitions=2022-07-22_06,2022-07-21_02,2022-06-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 clxscore=1015 priorityscore=1501 malwarescore=0 phishscore=0 suspectscore=0 bulkscore=0 impostorscore=0 adultscore=0 lowpriorityscore=0 mlxlogscore=999 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2206140000 definitions=main-2207220079 ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1658517657; 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=Jcw9m15dxYiGFiLivb4Dv4yby0eaoEfDNQP/+AJbgjU=; b=eniKcKesGCR5aGxArQSTeDIw5zIrLWHF1ezy7sBlcuKT+yHJA94xWK7DyyAZ4y0sLuahYP JpkYhnfr4JhX2UcE4iHFF0ZJhNintDJ0tWgE9M+tJbh1l33ajkL6qd7PkBUl/Q/EDwfI7Z XNqW8Vg2nZZ/mZFSQ5IaPiQsQskd7tU= ARC-Authentication-Results: i=2; imf28.hostedemail.com; dkim=pass header.d=hpe.com header.s=pps0720 header.b="CLY/ZT7k"; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=none (imf28.hostedemail.com: domain of "prvs=020299fbdc=des.albert@hpe.com" has no SPF policy when checking 148.163.143.35) smtp.mailfrom="prvs=020299fbdc=des.albert@hpe.com"; dmarc=pass (policy=none) header.from=hpe.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1658517657; a=rsa-sha256; cv=pass; b=xA+7sw1dySg6IwtWCGNkuAVGI9JNuVCjIKFVX2/8UNOexWTTBBJc28jCD2ZLvd9dY08oVG QO19DkqB+xnketguZ1+51KEo5KCqkA0L+Qwr9LaL8z10ZEkJAqvn4NzyHZw4nbprbNbR1v 3s7TQxqRg4CLqGo+Y0QYkNB5H8ua+7g= X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: 2441AC009E X-Stat-Signature: upukr15hpt4679fnjxpm9iuxzphwifgq X-Rspam-User: Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=hpe.com header.s=pps0720 header.b="CLY/ZT7k"; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=none (imf28.hostedemail.com: domain of "prvs=020299fbdc=des.albert@hpe.com" has no SPF policy when checking 148.163.143.35) smtp.mailfrom="prvs=020299fbdc=des.albert@hpe.com"; dmarc=pass (policy=none) header.from=hpe.com X-HE-Tag: 1658517656-534788 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: --_002_MW5PR84MB164118CC1E986794336BC2C198909MW5PR84MB1641NAMP_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi Mike This code is targeted at application usage. Developers load an appropriate = environment module then compile and link ( see attached man page ) As can be seen in this document, the features were initially developed to s= upport proprietary Cray High Speed Networks ( Gemini and Aries ) and associ= ated PGAS or SHMEM programming models. In this respect, it can be regarded = as legacy code that has not kept pace with recent developments. It has been challenging to determine the relevance of this feature to curre= nt hardware and applications. My requests to developers and benchmark speci= alists for information about the benefits it provides have not revealed muc= h specific data. There is a general impression that it would be useful for = GPU applications and MPI in large HPC systems but I suspect that it would r= equire some very advanced knowledge of memory management for a developer to= know precisely how and when to apply it. This is the first time I have heard of the folio abstraction as the future = for memory management. When you mention that future hugetbls work will be b= ased on that concept, it seems unlikely that there would be interest in cod= e that is not consistent with those developments. I also doubt that there w= ould be a justification to 'update' the code to be consistent with future k= ernel developments. I am therefore forming the impression that this idea may not be of interest= to the Linux kernel community, however, I do not the detailed technical de= pth of the development team. Do you have some more information about this folio abstraction plan ? Des -----Original Message----- From: Mike Kravetz =20 Sent: Friday, July 22, 2022 11:12 AM To: Albert, Des Cc: songmuchun@bytedance.com; linux-mm@kvack.org Subject: Re: Additional Huge Pages On 07/22/22 17:20, Albert, Des wrote: > Hi >=20 > I am the Product Manager for the HPE Cray Operating System ( formerly=20 > Cray Linux Environment ) >=20 > One of the features of this product is a component known as additional hu= ge pages. This is kernel code that enables the selection of 'non-standard' = huge page sizes. > For example, the current implementation allows for selection of huge page= sizes of 2, 4, 8, 16, 32, 64, 128, 256 and 512 MB as well as 1 and 2 GB. >=20 Interesting. Are these non-standard huge pages sizes targeted at application usage, or i= nternal kernel APIs. If applications, what API is used? Is it similar/the= same as hugetlb? Within the kernel, support for 'arbitrary page sizes' is provided by the fo= lio abstraction. hugetlb code will be moving to that in the future. Any new code such as this whould be based on folios. > We are currently evaluating the concept of providing this code to kernel.= org. I realize that this would require dedication of technical resources to= work with maintainers. >=20 > I would like to know if there is interest in this suggestion. I realize t= hat Transparent Huge Pages may be regarded as a more general approach to th= is requirement. >=20 I guess interest would depend on the use cases and potential advantages of = this feature. You should be able to speak to this based on your current us= age. -- Mike Kravetz --_002_MW5PR84MB164118CC1E986794336BC2C198909MW5PR84MB1641NAMP_ Content-Type: text/plain; name="man.txt" Content-Description: man.txt Content-Disposition: attachment; filename="man.txt"; size=21011; creation-date="Fri, 22 Jul 2022 18:52:00 GMT"; modification-date="Fri, 22 Jul 2022 19:20:51 GMT" Content-Transfer-Encoding: base64 aW50cm9faHVnZXBhZ2VzKDEpCQkJCSAgICAgR2VuZXJhbCBDb21tYW5kcyBNYW51YWwJCQkJICAg ICAgaW50cm9faHVnZXBhZ2VzKDEpCgpOQU1FCiAgICAgICBpbnRyb19odWdlcGFnZXMgLSBJbnRy b2R1Y3Rpb24gdG8gdXNpbmcgaHVnZSBwYWdlcwoKSU1QTEVNRU5UQVRJT04KICAgICAgIENyYXkg TGludXggRW52aXJvbm1lbnQgKENMRSkKCkRFU0NSSVBUSU9OCiAgICAgICBIdWdlIHBhZ2VzIGFy ZSB2aXJ0dWFsIG1lbW9yeSBwYWdlcyB3aGljaCBhcmUgYmlnZ2VyIHRoYW4gdGhlIGRlZmF1bHQg YmFzZSBwYWdlIHNpemUgb2YgNEtieXRlcy4gSHVnZSBwYWdlcyBjYW4gaW1wcm92ZQogICAgICAg bWVtb3J5IHBlcmZvcm1hbmNlIGZvciBjb21tb24gYWNjZXNzIHBhdHRlcm5zIG9uIGxhcmdlIGRh dGEgc2V0cy4gSHVnZSBwYWdlcyBhbHNvIGluY3JlYXNlIHRoZSBtYXhpbXVtIHNpemUgb2YgZGF0 YSBhbmQKICAgICAgIHRleHQgaW4gYSBwcm9ncmFtIGFjY2Vzc2libGUgYnkgdGhlIGhpZ2ggc3Bl ZWQgbmV0d29yay4gQWNjZXNzIHRvIGh1Z2UgcGFnZXMgaXMgcHJvdmlkZWQgdGhyb3VnaCBhIHZp cnR1YWwgZmlsZSBzeXN0ZW0KICAgICAgIGNhbGxlZCBodWdldGxiZnMuIEV2ZXJ5IGZpbGUgb24g dGhpcyBmaWxlIHN5c3RlbSBpcyBiYWNrZWQgYnkgaHVnZSBwYWdlcyBhbmQgaXMgZGlyZWN0bHkg YWNjZXNzZWQgd2l0aCBtbWFwKCkgb3IgcmVhZCgpLgoKICAgICAgIFRoZSBsaWJodWdldGxiZnMg bGlicmFyeSBhbGxvd3MgYW4gYXBwbGljYXRpb24gdG8gdXNlIGh1Z2UgcGFnZXMgbW9yZSBlYXNp bHkgdGhhbiBpdCBjb3VsZCBieSBkaXJlY3RseSBhY2Nlc3NpbmcgdGhlCiAgICAgICBodWdldGxi ZnMgZmlsZXN5c3RlbS4gQSB1c2VyIG1heSB1c2UgbGliaHVnZXRsYmZzIHRvIGJhY2sgYXBwbGlj YXRpb24gdGV4dCBhbmQgZGF0YSBzZWdtZW50cy4KCiAgICAgICBGb3IgZGVmaW5pdGlvbnMgb2Yg dGVybXMgdXNlZCBpbiB0aGlzIG1hbiBwYWdlLCBzZWUgVGVybXMuCgogICBNb2R1bGUgU3VwcG9y dAogICAgICAgTW9kdWxlIGZpbGVzIHNldCB0aGUgbmVjZXNzYXJ5IGxpbmsgb3B0aW9ucyBhbmQg cnVuIHRpbWUgZW52aXJvbm1lbnQgdmFyaWFibGVzIHRvIGZhY2lsaXRhdGUgdGhlIHVzYWdlIG9m IHRoZSBodWdlIHBhZ2UKICAgICAgIHNpemUgaW5kaWNhdGVkIGJ5IHRoZSBtb2R1bGUgbmFtZS4K CiAgICAgICBHZW1pbmkgc3lzdGVtczogY3JheXBlLWh1Z2VwYWdlczEyOEssIGNyYXlwZS1odWdl cGFnZXM1MTJLLCBjcmF5cGUtaHVnZXBhZ2VzMk0sIGNyYXlwZS1odWdlcGFnZXM4TSwgY3JheXBl LWh1Z2VwYWdlczE2TSwKICAgICAgIGNyYXlwZS1odWdlcGFnZXM2NE0uCgogICAgICAgQXJpZXMg c3lzdGVtczogY3JheXBlLWh1Z2VwYWdlczJNLCBjcmF5cGUtaHVnZXBhZ2VzNE0sIGNyYXlwZS1o dWdlcGFnZXM4TSwgY3JheXBlLWh1Z2VwYWdlczE2TSwgY3JheXBlLWh1Z2VwYWdlczMyTSwKICAg ICAgIGNyYXlwZS1odWdlcGFnZXM2NE0sIGNyYXlwZS1odWdlcGFnZXMxMjhNLCBjcmF5cGUtaHVn ZXBhZ2VzMjU2TSAsIGNyYXlwZS1odWdlcGFnZXM1MTJNLCBjcmF5cGUtaHVnZXBhZ2VzMUcsIGFu ZCBjcmF5cGUtCiAgICAgICBodWdlcGFnZXMyRy4KCiAgICAgICBUbyBjb21waWxlIGEgVW5pZmll ZCBQYXJhbGxlbCBDIGFwcGxpY2F0aW9uIHRoYXQgdXNlcyAyIE0gaHVnZSBwYWdlczoKCgkgbW9k dWxlIGxvYWQgUHJnRW52LWNyYXkKCSBtb2R1bGUgbG9hZCBjcmF5cGUtaHVnZXBhZ2VzMk0KCSBj YyAtaCB1cGMgLWMgYXJyYXlfdXBjLmMKCSBjYyAtaCB1cGMgLW8gYXJyYXlfdXBjLnggYXJyYXlf dXBjLm8KCiAgICAgICBUbyBzZWUgdGhlIGxpbmsgb3B0aW9ucyBhbmQgcnVuIHRpbWUgZW52aXJv bm1lbnQgdmFyaWFibGVzIHNldCBieSB0aGVzZSBtb2R1bGVzOgoKCSBtb2R1bGUgc2hvdyBtb2R1 bGVfbmFtZQoKICAgICAgIE5vdGUgdGhhdCB0aGUgdmFsdWUgb2YgSFVHRVRMQl9ERUZBVUxUX1BB R0VfU0laRSB2YXJpZXMgYmV0d2VlbiBjcmF5cGUtaHVnZXBhZ2VzIG1vZHVsZXMuIEFsc28gbm90 ZSB0aGF0IHRoZSBuYW1lIG9mIHRoZQogICAgICAgSFVHRVRMQjxzaXplPl9QT1NUX0xJTktfT1BU UyB2YXJpYWJsZSB2YXJpZXMgYmV0d2VlbiBtb2R1bGVzLCBidXQgaXQncyB2YWx1ZSBpcyB0aGUg c2FtZS4KCgkgc2V0ZW52IEhVR0VUTEJfREVGQVVMVF9QQUdFX1NJWkUgPHNpemU+Cgkgc2V0ZW52 IEhVR0VUTEJfTU9SRUNPUkUgeWVzCgkgc2V0ZW52IEhVR0VUTEJfRUxGTUFQIFcKCSBzZXRlbnYg SFVHRVRMQl9GT1JDRV9FTEZNQVAgeWVzKwoJIHNldGVudiBIVUdFVExCPHNpemU+X1BPU1RfTElO S19PUFRTICItV2wsXAoJIC0td2hvbGUtYXJjaGl2ZSwtbGh1Z2V0bGJmcywtLW5vLXdob2xlLWFy Y2hpdmUgLVdsLC1UdGV4dC1zZWdtZW50PWFkZHJlc3MsLXptYXgtcGFnZS1zaXplPXNpemUiCgog ICAgICAgVGhlIEhVR0VUTEI8c2l6ZT5fUE9TVF9MSU5LX09QVFMgdmFsdWUgaXMgcmVsZXZhbnQg dG8gdGhlIGNyZWF0aW9uIG9mIHRoZSBleGVjdXRhYmxlLCB3aGlsZSB0aGUgb3RoZXJzIGFyZSBy dW4gdGltZQogICAgICAgZW52aXJvbm1lbnQgdmFyaWFibGVzLiBBIHVzZXIgbWF5IGNob29zZSB0 byBydW4gYW4gYXBwbGljYXRpb24gd2l0aCBhIGRpZmZlcmVudCBjcmF5cGUtaHVnZXBhZ2VzIG1v ZHVsZSB0aGFuIHdhcyB1c2VkIGF0CiAgICAgICBjb21waWxlIGFuZCBsaW5rIHRpbWUuIFRvIG1h a2UgbW9zdCBlZmZpY2llbnQgdXNlIG9mIGF2YWlsYWJsZSBtZW1vcnksIHVzZSB0aGUgc21hbGxl c3QgaHVnZSBwYWdlIHNpemUgbmVjZXNzYXJ5IGZvciB0aGUKICAgICAgIGFwcGxpY2F0aW9uLgoK ICAgICAgIFRoZSBsaW5rIG9wdGlvbnMgLVdsLC1UdGV4dC1zZWdtZW50PWFkZHJlc3MsLXptYXgt cGFnZS1zaXplPXNpemUgZW5mb3JjZSB0aGUgYWxpZ25tZW50IGFuZCBzdGFydGluZyBhZGRyZXNz ZXMgb2Ygc2VnbWVudHMKICAgICAgIHNvIHRoYXQgdGhlcmUgYXJlIHNlcGFyYXRlIHJlYWQtZXhl Y3V0ZSAodGV4dCkgYW5kIHJlYWQtd3JpdGUgKGRhdGEgYW5kIGJzcykgc2VnbWVudHMgZm9yIGFs bCBwYWdlcyBzaXplcyB1cCB0byB0aGUKICAgICAgIG1heGltdW0gb2YgNjRNIGZvciBHZW1pbmkg YW5kIDUxMk0gZm9yIEFyaWVzLiBUaGlzIGNhdXNlcyBsaWJodWdldGxiZnMgdG8gYXZvaWQgb3Zl cmxhcHBpbmcgcmVhZC1leGVjdXRlIHRleHQgd2l0aCByZWFkLQogICAgICAgd3JpdGUgZGF0YS9i c3Mgb24gaHVnZSBwYWdlcywgd2hpY2ggd291bGQgY2F1c2UgYSBzZWdtZW50IHRvIGJlIGJvdGgg d3JpdGFibGUgYW5kIGV4ZWN1dGFibGUuCgoJICAgICAgTm90ZTogIFRoZSBjdXJyZW50IHZlcnNp b25zIG9mIGFsbCB0aGUgaHVnZXBhZ2VzIG1vZHVsZXMgdXNlIGEgNTEyTSBhbGlnbm1lbnQgYW5k IG1heC1wYWdlLXNpemUgc28gdGhhdCBhCgkgICAgICBzdGF0aWNhbGx5IGxpbmtlZCBleGVjdXRh YmxlIG1heSBydW4gdXNpbmcgYSB2YXJpZXR5IG9mIEhVR0VUTEJfREVGQVVMVF9QQUdFX1NJWkVz IHdpdGhvdXQgaGF2aW5nIHRvIHJlbGluazsKCSAgICAgIGhvd2V2ZXIsIHRoaXMgbWF5IG5vdCBi ZSBhcHByb3ByaWF0ZSBmb3IgY2VydGFpbiBzaXR1YXRpb25zLiBTcGVjaWZpY2FsbHksIHN1cHBv c2UgdGhlIHN0YXRpY2FsbHkgbGlua2VkCgkgICAgICBhcHBsaWNhdGlvbiBhbGxvY2F0ZXMgYSBs YXJnZSBhbW91bnQgb2Ygc3RhdGljIGRhdGEgKGdyZWF0ZXIgdGhhbiAyR2lCKSBpbiB0aGUgZm9y bSBvZiBpbml0aWFsaXplZCBhcnJheXMgYW5kIHRoZQoJICAgICAgMzJNIGh1Z2VwYWdlIG1vZHVs ZSBzZXRzIC1UdGV4dC1zZWdtZW50PTB4MjAwMDAwMDAsLXptYXgtcGFnZS1zaXplPTB4MjAwMDAw MDAgKDUxMk0gYWxpZ25tZW50KS4gVGhlIGNvbWJpbmVkCgkgICAgICBzdGF0aWMgbWVtb3J5IHJl cXVpcmVtZW50ICh0ZXh0K2RhdGEpLCBwbHVzIHRoZSBtZW1vcnkgcGFkZGluZyB0aGF0IGlzIGFk ZGVkIGJ5IHRoZSBsaW5rZXIgZm9yIDUxMk0gYWxpZ25tZW50LCBtYXkKCSAgICAgIGNhdXNlIHJl bG9jYXRpb24gYWRkcmVzc2VzIHRvIGV4Y2VlZCA0R2lCLiBJZiB0aGlzIG9jY3VycywgdGhlIHVz ZXIgd2lsbCBzZWUgInJlbG9jYXRpb24gdHJ1bmNhdGVkIHRvIGZpdCIgZXJyb3JzLgoJICAgICAg VG8gcmVtZWR5IHRoaXMsIHNlbGVjdCB0aGUgc21hbGxlc3QgY3JheXBlLWh1Z2VwYWdlcyBtb2R1 bGUgbmVlZGVkIGJ5IHRoZSBqb2IsIGFuZCB0aGVuIHJlc2V0IHRoZSBhbGlnbm1lbnQgYnkKCSAg ICAgIHJlc2V0dGluZyB0aGUgSFVHRVRMQjxzaXplPl9QT1NUX0xJTktfT1BUUyBlbnZpcm9ubWVu dCB2YXJpYWJsZSBiZWZvcmUgbGlua2luZy4gRm9yIGV4YW1wbGUsIGlmIGFuIDhNIHBhZ2Ugc2l6 ZSBpcwoJICAgICAgc3VmZmljaWVudGx5IGxhcmdlIGZvciB0aGUgYXBwbGljYXRpb24sIGxvYWQg dGhlIGNyYXlwZS1odWdlcGFnZXM4TSBtb2R1bGUgYW5kIHRoZW4gc2V0IHRoZSB0ZXh0LXNlZ21l bnQgYW5kIG1heC0KCSAgICAgIHBhZ2Utc2l6ZSB0byA4TUIgYmVmb3JlIGNvbXBpbGluZyBhbmQg bGlua2luZzoKCgkJbW9kdWxlIGxvYWQgY3JheXBlLWh1Z2VwYWdlczhNCgkJc2V0ZW52IEhVR0VU TEI4TV9QT1NUX0xJTktfT1BUUyAiLVdsLC0td2hvbGUtYXJjaGl2ZSwtbGh1Z2V0bGJmcywtLW5v LXdob2xlLWFyY2hpdmUgXAoJCS1XbCwtVHRleHQtc2VnbWVudD0weDgwMDAwMCwtem1heC1wYWdl LXNpemU9MHg4MDAwMDAiCgoJCS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkJUGFnZSBTaXplICB0ZXh0LXNlZ21lbnQvbWF4LXBh Z2Utc2l6ZSBzZXR0aW5ncwoJCS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkJMk0JICAgLVR0ZXh0LXNlZ21lbnQ9MHgyMDAwMDAs LXptYXgtcGFnZS1zaXplPTB4MjAwMDAwCgkJNE0JICAgLVR0ZXh0LXNlZ21lbnQ9MHg0MDAwMDAs LXptYXgtcGFnZS1zaXplPTB4NDAwMDAwCgkJOE0JICAgLVR0ZXh0LXNlZ21lbnQ9MHg4MDAwMDAs LXptYXgtcGFnZS1zaXplPTB4ODAwMDAwCgkJMTZNCSAgIC1UdGV4dC1zZWdtZW50PTB4MTAwMDAw MCwtem1heC1wYWdlLXNpemU9MHgxMDAwMDAwCgkJLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgkgICAgICBOb3RlOiAgVGhlIHJ1 biB0aW1lIGVudmlyb25tZW50IHZhcmlhYmxlcyBzZXQgYnkgdGhlc2UgbW9kdWxlcyBhcmUgcmVs ZXZhbnQgb24gY29tcHV0ZSBub2Rlcywgbm90IG9uIHNlcnZpY2UKCSAgICAgIG5vZGVzLiBJZiB0 aGUgdXNlciBpcyBydW5uaW5nIHRoZSBhcHBsaWNhdGlvbiBvbiBhIHNlcnZpY2Ugbm9kZSBpbnN0 ZWFkIG9mIGEgY29tcHV0ZSBub2RlLCB0aGV5IHNob3VsZCB1bmxvYWQgdGhlCgkgICAgICBodWdl cGFnZSBtb2R1bGUgYmVmb3JlIGV4ZWN1dGlvbi4KCiAgIFdoZW4gdG8gVXNlIEh1Z2UgUGFnZXMK ICAgICAgIMK3ICBGb3IgU0hNRU0gYXBwbGljYXRpb25zLCBtYXAgdGhlIHN0YXRpYyBkYXRhIGFu ZC9vciBwcml2YXRlIGhlYXAgb250byBodWdlIHBhZ2VzLgoKICAgICAgIMK3ICBGb3IgYXBwbGlj YXRpb25zIHdyaXR0ZW4gaW4gVW5pZmllZCBQYXJhbGxlbCBDLCBDb2FycmF5IEZvcnRyYW4sIGFu ZCBvdGhlciBsYW5ndWFnZXMgYmFzZWQgb24gdGhlIFBHQVMgcHJvZ3JhbW1pbmcKCSAgbW9kZWws IG1hcCB0aGUgc3RhdGljIGRhdGEgYW5kL29yIHByaXZhdGUgaGVhcCBvbnRvIGh1Z2UgcGFnZXMu CgogICAgICAgwrcgIEZvciBNUEkgYXBwbGljYXRpb25zLCBtYXAgdGhlIHN0YXRpYyBkYXRhIGFu ZC9vciBoZWFwIG9udG8gaHVnZSBwYWdlcy4KCiAgICAgICDCtyAgRm9yIGFuIGFwcGxpY2F0aW9u IHdoaWNoIHVzZXMgc2hhcmVkIG1lbW9yeSwgd2hpY2ggbmVlZHMgdG8gYmUgY29uY3VycmVudGx5 IHJlZ2lzdGVyZWQgd2l0aCB0aGUgaGlnaCBzcGVlZCBuZXR3b3JrCgkgIGRyaXZlcnMgZm9yIHJl bW90ZSBjb21tdW5pY2F0aW9uLgoKICAgICAgIMK3ICBGb3IgYW4gYXBwbGljYXRpb24gZG9pbmcg aGVhdnkgSS9PLgoKICAgICAgIMK3ICBUbyBpbXByb3ZlIG1lbW9yeSBwZXJmb3JtYW5jZSBmb3Ig Y29tbW9uIGFjY2VzcyBwYXR0ZXJucyBvbiBsYXJnZSBkYXRhIHNldHMuCgogICBXaGVuIHRvIEF2 b2lkIFVzaW5nIEh1Z2UgUGFnZXMKICAgICAgIEFwcGxpY2F0aW9ucyBzb21ldGltZXMgY29uc2lz dCBvZiBtYW55IHN0ZWVyaW5nIHByb2dyYW1zIGluIGFkZGl0aW9uIHRvIHRoZSBjb3JlIGFwcGxp Y2F0aW9uLiBBcHBseWluZyBodWdlIHBhZ2UgYmVoYXZpb3IKICAgICAgIHRvIGFsbCBwcm9jZXNz ZXMgd291bGQgbm90IHByb3ZpZGUgYW55IGJlbmVmaXQgYW5kIHdvdWxkIGNvbnN1bWUgaHVnZSBw YWdlcyB0aGF0IHdvdWxkIG90aGVyd2lzZSBiZW5lZml0IHRoZSBjb3JlCiAgICAgICBhcHBsaWNh dGlvbi4gU2VlIEhVR0VUTEJfUkVTVFJJQ1RfRVhFIGRlc2NyaWJlZCBpbiBFTlZJUk9OTUVOVCBW QVJJQUJMRVMuCgpFTlZJUk9OTUVOVCBWQVJJQUJMRVMKICAgICAgIFRoZSBmb2xsb3dpbmcgdmFy aWFibGVzIGFmZmVjdCBodWdlIHBhZ2VzOgoKICAgICAgIFhUX1NZTU1FVFJJQ19IRUFQX1NJWkUK CQkgVGhlIHN5bW1ldHJpYyBoZWFwIGFsd2F5cyB1c2VzIGh1Z2UgcGFnZXMsIHJlZ2FyZGxlc3Mg b2Ygd2hldGhlciBvciBub3QgYSBodWdlcGFnZSBtb2R1bGUgaXMgbG9hZGVkLgoKCQkgRm9yIFBH QVMgYXBwbGljYXRpb25zIHVzaW5nIFVQQyBvciBDb2FycmF5IEZvcnRyYW4sIGlmIFhUX1NZTU1F VFJJQ19IRUFQX1NJWkUgaXMgbm90IHNldCwgdGhlIGRlZmF1bHQgc3ltbWV0cmljCgkJIGhlYXAg cGVyIFBFIGZvciBhIFBHQVMgYXBwbGljYXRpb24gaXMgNjRNLiBUaGVyZWZvcmUsIGlmIGEgQ29h cnJheSBGb3J0cmFuIGFwcGxpY2F0aW9uIHJlcXVpcmVzIDEwMDBNIHBlciBQRQoJCSBhbmQgdGhl IHVzZXIgZG9lcyBub3Qgc2V0IFhUX1NZTU1FVFJJQ19IRUFQX1NJWkUsIG9uZSBvZiB0aGUgY29h cnJheSBhbGxvY2F0ZSBzdGF0ZW1lbnRzIHdpbGwgZmFpbCB0byBmaW5kCgkJIGVub3VnaCBtZW1v cnkuIFRoZSBzeW1tZXRyaWMgaGVhcCBpcyByZXNlcnZlZCBhdCBwcm9ncmFtIGxhdW5jaCBhbmQg aXRzIHNpemUgZG9lcyBub3QgY2hhbmdlLgoKCQkgRm9yIFBHQVMgYXBwbGljYXRpb25zIHVzaW5n IFNITUVNLCBlaXRoZXIgWFRfU1lNTUVUUklDX0hFQVBfU0laRSBvciBTTUFfU1lNTUVUUklDX1NJ WkUgc2hvdWxkIGJlIHVzZWQgdG8gc2V0CgkJIHRoZSBzaXplIG9mIHRoZSBzeW1tZXRyaWMgaGVh cC4gQ3JheSBYQyBzZXJpZXMgc3lzdGVtcyBzdXBwb3J0IGEgZ3Jvd2FibGUgc3ltbWV0cmljIGhl YXAsIHNvIGlmCgkJIFhUX1NZTU1FVFJJQ19IRUFQX1NJWkUgb3IgU01BX1NZTU1FVFJJQ19TSVpF IGlzIG5vdCBzZXQsIHRoZSBzeW1tZXRyaWMgaGVhcCBncm93cyBkeW5hbWljYWxseSBhcyBuZWVk ZWQgdG8gYQoJCSBtYXhpbXVtIG9mIDJHQiBwZXIgUEUuIChDcmF5IFhFIGFuZCBDcmF5IFhLIHNl cmllcyBzeXN0ZW1zIGRvIG5vdCBzdXBwb3J0IGdyb3dhYmxlIHN5bW1ldHJpYyBoZWFwIGFuZCBo YXZlIG5vCgkJIGRlZmF1bHQgc3ltbWV0cmljIGhlYXAgdmFsdWUuKQoKCQkgVGhlIGFwcnVuIC1t IG9wdGlvbiBkb2VzIG5vdCBjaGFuZ2UgdGhlIHNpemUgb2YgdGhlIHN5bW1ldHJpYyBoZWFwIGFs bG9jYXRlZCBieSBVUEMgb3IgRm9ydHJhbiBhcHBsaWNhdGlvbnMKCQkgdXBvbiBzdGFydHVwLiBU aGUgLW0gb3B0aW9uIHJlZmVycyB0byB0aGUgdG90YWwgYW1vdW50IG9mIG1lbW9yeSBhdmFpbGFi bGUgdG8gYSBQRSwgd2hpY2ggaW5jbHVkZXMgYWxsIG1lbW9yeQoJCSBhbmQgbm90IGp1c3QgdGhl IHN5bW1ldHJpYyBoZWFwLiBVc2UgLW0gb3B0aW9uIG9ubHkgaWYgbmVjZXNzYXJ5LgoKICAgICAg IFRoZSBmb2xsb3dpbmcgdmFyaWFibGVzIGFmZmVjdCBsaWJodWdldGxiZnM6CgogICAgICAgSFVH RVRMQl9ERUZBVUxUX1BBR0VfU0laRQoJCSBPdmVycmlkZSB0aGUgc3lzdGVtIGRlZmF1bHQgaHVn ZSBwYWdlIHNpemUgZm9yIGFsbCB1c2VzIGV4Y2VwdCB0aGUgaHVnZXRsYmZzLWJhY2tlZCBzeW1t ZXRyaWMgaGVhcCB1c2VkIGJ5CgkJIFNITUVNIGFuZCBQR0FTIHByb2dyYW1taW5nIG1vZGVscy4g VGhlIGRlZmF1bHQgaHVnZSBwYWdlIHNpemUgaXMgMk0uCgoJCSBBZGRpdGlvbmFsbHkgc3VwcG9y dGVkIG9uIEdlbWluaSBzeXN0ZW1zOiAxMjhLLCA1MTJLICwgOE0sIDE2TSwgNjRNLgoKCQkgQWRk aXRpb25hbGx5IHN1cHBvcnRlZCBvbiBBcmllcyBzeXN0ZW1zOiA0TSwgOE0sIDE2TSwgMzJNLCA2 NE0sIDEyOE0sIDI1Nk0sIDUxMk0sIDFHQiwgMkdCLgoKICAgICAgIEhVR0VUTEJfRUxGTUFQCgkJ IFNldCB0byBXIHRvIG1hcCB0aGUgcmVhZC13cml0ZSBzZWN0aW9ucyAod3JpdGFibGUgc3RhdGlj IGRhdGEsIGJzcykgb250byBodWdlIHBhZ2VzLgoKCQkgU2V0IHRvIFIgdG8gbWFwIHRoZSByZWFk LWV4ZWN1dGUgc2VnbWVudCAodGV4dCwgcmVhZC1vbmx5IHN0YXRpYyBkYXRhKSBvbnRvIGh1Z2Ug cGFnZXMuCgoJCSBTZXQgdG8gUlcgdG8gbWFwIGJvdGggb250byBodWdlIHBhZ2VzLgoKICAgICAg IEhVR0VUTEJfRk9SQ0VfRUxGTUFQCgkJIElmIHNldCB0byB5ZXMsIGFuZCBMRF9QUkVMT0FEIGNv bnRhaW5zIGxpYmh1Z2V0bGJmcy5zbywgdGhlbiBsaWJodWdldGxiZnMgd2lsbCBsb2FkIGFsbCBw YXJ0cyBvZiB0aGUgdGV4dCwgZGF0YQoJCSBhbmQgYnNzIHRoYXQgZmFsbCBvbiBodWdlIHBhZ2Ug Ym91bmRhcmllcyBvbnRvIGh1Z2UgcGFnZXMuIFRoZSBwYXJ0cyBvZiB0aGUgdGV4dCBhbmQgZGF0 YSBhbmQgYnNzIHNlY3Rpb25zIHRoYXQKCQkgZG8gbm90IGZhbGwgaW50byB3aG9sZSBodWdlIHBh Z2VzIChlLmcuIHRoZSAiZWRnZXMiKSBhcmUgbGVmdCBvbiA0SyBwYWdlcy4KCgkJIElmIHNldCB0 byB5ZXMrIChDcmF5IGV4dGVuc2lvbiksIHRoZW4gYWxsIG9mIHRoZSB0ZXh0IGFuZC9vciBkYXRh IGFuZCBic3MgKHBlciBkaXJlY3Rpb24gb2YgSFVHRVRMQl9FTEZNQVApCgkJIHdpbGwgYmUgbWFw cGVkIG9udG8gaHVnZSBwYWdlcywgaW5jbHVkaW5nIHRoZSAiZWRnZXMiLiBOb3RlIHRoYXQgdGhl IENyYXkgZXh0ZW5zaW9uIHdvcmtzIGZvciBib3RoIHN0YXRpYyBhbmQKCQkgZHluYW1pYyBleGVj dXRhYmxlcyBhbmQgZG9lcyBub3QgZGVwZW5kIG9uIExEX1BSRUxPQUQgaGF2aW5nIGxpYmh1Z2V0 bGJmcy5zbyBpbiBpdC4KCgkJIElmIHRoZXJlIGlzIGFuIG92ZXJsYXAgb2YgdGhlIHJlYWQtZXhl Y3V0ZSBhbmQgdGhlIHJlYWQtd3JpdGUgc2VjdGlvbnMsIHRoZW4gYSBuZXcgbWFwcGluZyBmb3Ig dGhlIG92ZXJsYXAgd2lsbAoJCSBiZSBtYWRlIHdpdGggY29tYmluZWQgcGVybWlzc2lvbnMgKGku ZS4gUldYKS4gVXNpbmcgdGhlIGxpbmsgb3B0aW9uIHNwZWNpZmllZCBpbiB0aGUgY3JheXBlLWh1 Z2VwYWdlcyBtb2R1bGVzCgkJIGF2b2lkcyB0aGlzIG92ZXJsYXAuCgogICAgICAgSFVHRVRMQl9N T1JFQ09SRQoJCSBTZXQgdG8geWVzIHRvIG1hcCB0aGUgaGVhcCAoYWxzbyByZWxhdGVzIHRvIHRo ZSBwcml2YXRlIGhlYXAgaW4gU0hNRU0gYXBwbGljYXRpb25zKSBvbnRvIGh1Z2UgcGFnZXMuIEVu YWJsZXMKCQkgbWFsbG9jKCkgdG8gdXNlIG1lbW9yeSBiYWNrZWQgYnkgaHVnZSBwYWdlcyBhdXRv bWF0aWNhbGx5LgoKICAgICAgIEhVR0VUTEJfUkVTVFJJQ1RfRVhFPWV4ZTFbOmV4ZTI6ZXhlMzou Li5dCgkJIFNlbGVjdGl2ZWx5IGVuYWJsZXMgbGliaHVnZXRsYmZzIHRvIG1hcCBvbmx5IHRoZSBu YW1lZCBleGVjdXRhYmxlcyBvbnRvIGh1Z2UgcGFnZXMuIFRoZSBleGVjdXRhYmxlcyBhcmUgbmFt ZWQKCQkgYnkgdGhlIGxhc3QgY29tcG9uZW50IG9mIHRoZSBwYXRobmFtZTsgdXNlIGEgY29sb24g dG8gc2VwYXJhdGUgdGhlIG5hbWVzIG9mIG11bHRpcGxlIGV4ZWN1dGFibGVzLiBGb3IgZXhhbXBs ZSwKCQkgaWYgeW91ciBleGVjdXRhYmxlIGlzIC9sdXMvaG9tZS91c2VyL2Jpbi9teXRlc3QueCwg c3BlY2lmeToKCgkJIEhVR0VUTEJfUkVTVFJJQ1RfRVhFPW15dGVzdC54CgogICAgICAgSFVHRVRM Ql9WRVJCT1NFCgkJIFRoZSByYW5nZSBvZiB0aGUgdmFsdWUgaXMgZnJvbSAwIHRvIDk5LiBTZXR0 aW5nIHRvIGEgbm9uemVybyBudW1iZXIgY2F1c2VzIGxpYmh1Z2V0bGJmcyB0byBwcmludCBvdXQK CQkgaW5mb3JtYXRpb25hbCBtZXNzYWdlcy4gQSB2YWx1ZSBvZiA5OSBwcmludHMgb3V0IGFsbCBh dmFpbGFibGUgaW5mb3JtYXRpb24uCgpOT1RFUwogICBHZW1pbmkgTklDCiAgICAgICBUaGVyZSBh cmUgdHdvIGhhcmR3YXJlIG1lY2hhbmlzbXMgdXNlZCBieSB0aGUgR2VtaW5pIE5JQyB0byB0cmFu c2xhdGUgdmlydHVhbCB0byBwaHlzaWNhbCBtZW1vcnkgcmVmZXJlbmNlcyBvbiB0aGUgQ3JheQog ICAgICAgWEUgYW5kIENyYXkgWEsgc3lzdGVtcy4gR05JIGFuZCBETUFQUCBhcmUgbG93IGxldmVs IGxpYnJhcmllcyB3aGljaCBwcm92aWRlIGNvbW11bmljYXRpb24gc2VydmljZXMgdG8gdXNlciBs ZXZlbCBzb2Z0d2FyZQogICAgICAgYW5kIGltcGxlbWVudCBhIGxvZ2ljYWxseSBzaGFyZWQsIGRp c3RyaWJ1dGVkIG1lbW9yeSBwcm9ncmFtbWluZyBtb2RlbC4KCiAgICAgICDCtyAgR0FSVCBpcyBh IGZlYXR1cmUgb2YgbWFueSBBTUQ2NCBwcm9jZXNzb3JzIHRoYXQgYWxsb3dzIHRoZSBzeXN0ZW0g dG8gYWNjZXNzIHZpcnR1YWxseSBjb250aWd1b3VzIHVzZXIgcGFnZXMgdGhhdCBhcmUKCSAgYmFj a2VkIGJ5IG5vbi1jb250aWd1b3VzIHBoeXNpY2FsIHBhZ2VzLiBUaGUgR0FSVCBhZ2dyZWdhdGVz IHRoZSBMaW51eCBzdGFuZGFyZCA0IEtieXRlIHBhZ2VzIGludG8gbGFyZ2VyIHZpcnR1YWxseQoJ ICBjb250aWd1b3VzIG1lbW9yeSByZWdpb25zLiBUaGUgY29udGlndW91cyBwYWdlcyBleGlzdCBp biBhIHBvcnRpb24gb2YgdGhlIHBoeXNpY2FsIGFkZHJlc3Mgc3BhY2Uga25vd24gYXMgdGhlIEdy YXBoaWNzCgkgIEFwZXJ0dXJlLiBUaGUgR0FSVCdzIGdyYXBoaWNzIGFwZXJ0dXJlIHNpemUgaXMg MkdpQi4gVGhlcmVmb3JlLCB0aGUgdG90YWwgbWVtb3J5IHdoaWNoIGNhbiBiZSByZWZlcmVuY2Vk IHRocm91Z2ggR0FSVAoJICBpcyBsaW1pdGVkIHRvIDJHaUIgcGVyIGNvbXB1dGUgbm9kZS4KCiAg ICAgICDCtyAgVGhlIE1lbW9yeSBSZWxvY2F0aW9uIFRhYmxlIChNUlQpIG9uIHRoZSBHZW1pbmkg TklDIG1hcHMgdGhlIG1lbW9yeSByZWZlcmVuY2VzIGNvbnRhaW5lZCBpbiBpbmNvbWluZyBuZXR3 b3JrIHBhY2tldHMKCSAgdG8gcGh5c2ljYWwgbWVtb3J5IG9uIHRoZSBsb2NhbCBub2RlLiBNZW1v cnkgcmVmZXJlbmNlcyB0aHJvdWdoIHRoZSBNUlQgbWFwIHRvIGEgbXVjaCBsYXJnZXIgYWRkcmVz cyByYW5nZSB0aGFuIHRoZXkKCSAgZG8gdGhyb3VnaCB0aGUgR0FSVC4gRWFjaCBOSUMgaGFzIGl0 cyBvd24gTVJULiBNUlQgcGFnZSBzaXplcyByYW5nZSBmcm9tIDEyOCBLIHRvIDEgR2J5dGUsIGJ1 dCBhbGwgdGhlIGVudHJpZXMgb24gYQoJICBnaXZlbiBub2RlIG11c3QgaGF2ZSB0aGUgc2FtZSBw YWdlIHNpemUuIFRoZSBNUlQgZW50cmllcyBhcmUgY3JlYXRlZCBieSBrR05JIGluIHJlc3BvbnNl IHRvIHJlcXVlc3RzIGZyb20gdGhlCgkgIGFwcGxpY2F0aW9uLCB1c3VhbGx5IHRoZSB1R05JIGxp YnJhcnkuIFRoZXJlIGFyZSAxNksgTVJUIGVudHJpZXMuIFRoZSBkZWZhdWx0IE1SVCBwYWdlIHNp emUgaXMgMk1ieXRlcywgd2hpY2ggbWFwcyB0bwoJICAzMkdieXRlcyAoMTZLKjJNKS4gSFVHRVRM Ql9ERUZBVUxUX1BBR0VfU0laRSBzZXRzIHRoZSBNUlQgcGFnZSBzaXplLgoKICAgICAgIERlcGVu ZGluZyBvbiB0aGUgc2l6ZSBvZiB0aGUgYWxsb2NhdGVkIG1lbW9yeSByZWdpb24gYW5kIG90aGVy IGRlZmF1bHQgYmVoYXZpb3IsIHRoZSBtZW1vcnkgcmVnaXN0cmF0aW9uIGZ1bmN0aW9uIChvZgog ICAgICAgR05JL0RNQVBQKSBhc2tzIHRoZSBrZXJuZWwgdG8gY3JlYXRlIGVpdGhlciBHQVJUIGVu dHJpZXMgb24gdGhlIEFNRCBwcm9jZXNzb3IsIG9yLCBpbiB0aGUgY2FzZSBvZiBodWdlIHBhZ2Vz LCBjcmVhdGUKICAgICAgIGVudHJpZXMgaW4gdGhlIE1lbW9yeSBSZWxvY2F0aW9uIFRhYmxlIChN UlQpIG9uIHRoZSBOSUMsIHRvIHNwYW4gdGhlIGFsbG9jYXRlZCBtZW1vcnkgcmVnaW9uLiBVc2Vy IHZpcnR1YWwgbWVtb3J5IHRoYXQgaXMKICAgICAgIHRvIGJlIHJlYWQgb3Igd3JpdHRlbiBhY3Jv c3Mgbm9kZXMsIGdlbmVyYWxseSBtdXN0IGZpcnN0IGJlIHJlZ2lzdGVyZWQgb24gdGhlIG5vZGU7 IGl0cyBwaHlzaWNhbCBsb2NhdGlvbihzKSBhbmQKICAgICAgIGV4dGVudChzKSBsb2FkZWQgaW50 byB0aGUgR2VtaW5pIE1lbW9yeSBEZXNjcmlwdG9yIFRhYmxlIChNREQpIGFuZCBlaXRoZXIgdGhl IE9wdGVyb24gR0FSVCBvciB0aGUgR2VtaW5pIE1SVC4KCiAgICAgICBSZXF1aXJlZCBHQVJUIEFk ZHJlc3MgVHJhbnNsYXRpb246IEx1c3RyZSBJL08gdXNlcyB0aGUgR0FSVC4gVGhlIEx1c3RyZSBO ZXR3b3JrIERyaXZlciAoTE5EKSB1c2VzIDEgTWJ5dGUgYnVmZmVycywKICAgICAgIGNvbnN0cnVj dGVkIG91dCBvZiBzbWFsbGVyIHBhZ2VzIHVzaW5nIHRoZSBHQVJULiBEVlMgdXNlcyB0aGUgR0FS VC4KCiAgICAgICBSZXF1aXJlZCBNUlQgQWRkcmVzcyBUcmFuc2xhdGlvbjogIFVzZXIgdmlydHVh bCBtZW1vcnkgbWFwcGVkIGJ5IGh1Z2UgcGFnZXMgKHZpYSBhIGh1Z2V0bGJmcyBmaWxlIHN5c3Rl bSkgd2lsbCBiZQogICAgICAgcmVnaXN0ZXJlZCBpbiB0aGUgTVJULgoKICAgICAgIERNQVBQIG1t YXBzIHRoZSBzeW1tZXRyaWMgaGVhcCBkaXJlY3RseSwgcmVnYXJkbGVzcyBvZiBpdHMgc2l6ZSwg dG8gdGhlIGh1Z2V0bGJmcyBmaWxlIHN5c3RlbSBpZiBpdCBpcyBtb3VudGVkLCB3aGljaCBpdAog ICAgICAgbm9ybWFsbHkgaXMgb24gQ3JheSBYRSBzeXN0ZW1zLiBTbywgYW55IGFwcGxpY2F0aW9u IHVzaW5nIERNQVBQIChlLmcuIFNITUVNLCBQR0FTIHByb2dyYW1taW5nIG1vZGVscykgd2lsbCB1 c2UgTVJUIGZvcgogICAgICAgbWVtb3J5IHJlZmVyZW5jZXMgd2l0aGluIHRoZSBzeW1tZXRyaWMg aGVhcC4gVGhlIHN5bW1ldHJpYyBoZWFwIGFsd2F5cyB1c2VzIGh1Z2UgcGFnZXMsIHJlZ2FyZGxl c3Mgb2Ygd2hldGhlciBhIGh1Z2VwYWdlcwogICAgICAgbW9kdWxlIGlzIGxvYWRlZC4gTm90ZSB0 aGF0IHRoZSBsaWJodWdldGxiZnMgbGlicmFyeSBpcyBub3QgdXNlZCBpbiB0aGlzIGNhc2UuIFRo ZSB2YWx1ZSBvZiBIVUdFVExCX0RFRkFVTFRfUEFHRV9TSVpFCiAgICAgICBkZXRlcm1pbmVzIHRo ZSBwYWdlIHNpemUgZm9yIHRoZSBzeW1tZXRyaWMgaGVhcCBidXQgdGhlIG90aGVyIEhVR0VUTEIg ZW52aXJvbm1lbnQgdmFyaWFibGVzIGhhdmUgbm8gZWZmZWN0LgoKICAgICAgIFdoZW4gYW4gYXBw bGljYXRpb24ncyBtZW1vcnkgcmVxdWlyZW1lbnRzLCAoc3BlY2lmaWNhbGx5IG1lbW9yeSB3aGlj aCBpcyBtYXBwZWQgdGhyb3VnaCB0aGUgSFNOKSwgZXhjZWVkcyB0aGUgR0FSVAogICAgICAgYXBl cnR1cmUgc2l6ZSAoMkdpQikgb24gYSBzaW5nbGUgbm9kZSwgdGhlIGFwcGxpY2F0aW9uIG11c3Qg YmUgbGlua2VkIHdpdGggdGhlIGxpYmh1Z2V0bGJmcyBsaWJyYXJ5LCB0byB1c2UgdGhlIGxhcmdl cgogICAgICAgYWRkcmVzcyByYW5nZSBhdmFpbGFibGUgd2l0aCBodWdlIHBhZ2VzLgoKICAgICAg IERlZmF1bHQgQmVoYXZpb3IgSWYgTm90IFVzaW5nIGNyYXlwZS1odWdlcGFnZXMgTW9kdWxlczog SWYgdGhlcmUgaXMgbm8gY3JheXBlLWh1Z2VwYWdlcyBtb2R1bGUgbG9hZGVkIGFuZCBpZiBub25l IG9mIHRoZQogICAgICAgSFVHRVRMQiBlbnZpcm9ubWVudCB2YXJpYWJsZXMgYXJlIHNldCwgYnkg ZGVmYXVsdCB0aGUgc3ltbWV0cmljIGhlYXAgKGluIHRoZSBjYXNlIG9mIFNITUVNIG9yIFBHQVMg cHJvZ3JhbW1pbmcgbW9kZWxzKSBpcwogICAgICAgbWFwcGVkIG9udG8gaHVnZSBwYWdlcyBidXQg bW9zdCBvdGhlciBtZW1vcnkgaXMgbWFwcGVkIG9udG8gYmFzZSBwYWdlcyB3aGljaCB1c2VzIEdB UlQuIENvbnNpZGVyaW5nIHRoZSAyR2lCIEdBUlQgcGVyCiAgICAgICBub2RlIGxpbWl0IHdoaWNo IGlzIHNoYXJlZCBiZXR3ZWVuIGFwcGxpY2F0aW9uIFBFcyBvbiBhIG5vZGUsIEx1c3RyZSBhbmQg RFZTLCBpdCBpcyBhZHZpc2FibGUgdG8gbWFwIHRoZSBzdGF0aWMgZGF0YQogICAgICAgc2VjdGlv biBhbmQgcHJpdmF0ZSBoZWFwIG9udG8gaHVnZSBwYWdlcy4gVGhpcyBjYW4gYmUgc2VsZWN0aXZl bHkgY2hhbmdlZCBieSB1c2luZyB0aGUgcHJvcGVyIGxpbmsgb3B0aW9ucyBhbmQgc2V0dGluZwog ICAgICAgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlcyBIVUdFVExCX0VMRk1BUD1XLCBhbmQgSFVH RVRMQl9NT1JFQ09SRT15ZXMuCgogICBBcmllcyBOSUMKICAgICAgIEluIENyYXkgc3lzdGVtcyB3 aGljaCBoYXZlIHRoZSBBcmllcyBOSUMsIHRoZSBBcmllcyBJTyBNZW1vcnkgTWFuYWdlbWVudCBV bml0IChJT01NVSkgcHJvdmlkZXMgaGFyZHdhcmUgc3VwcG9ydCBmb3IKICAgICAgIG1lbW9yeSBw cm90ZWN0aW9uIGFuZCBhZGRyZXNzIHRyYW5zbGF0aW9uLiBUaGUgQXJpZXMgSU9NTVUgdXNlcyBh biBlbnRpcmVseSBkaWZmZXJlbnQgbWVtb3J5IHRyYW5zbGF0aW9uIG1lY2hhbmlzbSB0aGFuCiAg ICAgICBHZW1pbmkgdXNlczoKCiAgICAgICDCtyAgVGhlIElPTU1VIGlzIGRpdmlkZWQgaW50byAx NiB0cmFuc2xhdGlvbiBjb250ZXh0IHJlZ2lzdGVycyAoVENScykuIEVhY2ggdHJhbnNsYXRpb24g Y29udGV4dCAoVEMpIHN1cHBvcnRzIGEgc2luZ2xlCgkgIHBhZ2Ugc2l6ZS4gVGhlIFRDUnMgY2Fu IGluZGVwZW5kZW50bHkgYWRkcmVzcyBkaWZmZXJlbnQgcGFnZSBzaXplcyBhbmQgcHJlc2VudCB0 aGF0IHRvIHRoZSBuZXR3b3JrIGFzIGEgY29udGlndW91cwoJICBtZW1vcnkgZG9tYWluLiBUaGUg VENSIGVudHJpZXMgYXJlIHVzZWQgdG8gc2V0IGFuZCBjbGVhciB0aGUgcGFnZSB0YWJsZSBlbnRy aWVzIChQVEVzKSB1c2VkIGJ5IEdOSS4gUFRFIGVudHJpZXMgYXJlCgkgIGNhY2hlZCBpbiBBcmll cyBOSUMgbWVtb3J5IGluIGEgcGFnZSB0YWJsZS4gVXAgdG8gNTEyIFBURXMgY2FuIGJlIHVzZWQg YnkgYXBwbGljYXRpb25zLiA1MTJNaUIgKGxhcmdlc3QgaHVnZXBhZ2Ugc2l6ZSkKCSAgeCA1MTIg UFRFcyA9IDI1NkdpQiBvZiBhZGRyZXNzYWJsZSBtZW1vcnkgcGVyIG5vZGUgb24gQXJpZXMgc3lz dGVtcy4KCiAgIE90aGVyIE5vdGVzIG9uIE1lbW9yeSBVc2FnZQogICAgICAgSHVnZSBwYWdlcyBi ZW5lZml0IGFwcGxpY2F0aW9ucyB3aGljaCBoYXZlIGEgaHVnZSB3b3JraW5nIHNldCBzaXplICho dW5kcmVkcyBvZiBNYnl0ZXMgb3IgbWFueSBHYnl0ZXMgYW5kIGFib3ZlKSBzaW5jZQogICAgICAg dGhpcyB3b3VsZCByZXF1aXJlIG1hbnkgdmlydHVhbCB0byBwaHlzaWNhbCBhZGRyZXNzIHRyYW5z bGF0aW9ucyBpZiB1c2luZyB0aGUgZGVmYXVsdCA0SyBwYWdlcy4gQnkgdXNpbmcgaHVnZSBwYWdl cywgdGhlCiAgICAgICBudW1iZXIgb2YgcmVxdWlyZWQgYWRkcmVzcyB0cmFuc2xhdGlvbnMgaXMg ZGVjcmVhc2VkIHdoaWNoIGJlbmVmaXRzIGFwcGxpY2F0aW9uIHBlcmZvcm1hbmNlIGJ5IHJlbW92 aW5nIHRoZSB3YWl0IHRpbWUgdG8KICAgICAgIGZpbGwgdXAgdGhlIFRMQiBjYWNoZXMgd2l0aCB0 cmFuc2xhdGlvbiBkYXRhLiBMYXJnZXIgcGFnZXMgaW5jcmVhc2UgbWVtb3J5IHJlYWNoIGJ1dCBt YXkgYWxzbyBleGhhdXN0IGF2YWlsYWJsZSBtZW1vcnkKICAgICAgIHF1aWNrZXIuIFRodXMsIHRo ZSBvcHRpbWFsIHBhZ2Ugc2l6ZSBtYXkgdmFyeSBmcm9tIGFwcGxpY2F0aW9uIHRvIGFwcGxpY2F0 aW9uLgoKICAgICAgIFdpdGggaHVnZXBhZ2VzLCBhbiBhcHBsaWNhdGlvbiBpcyBzdGlsbCBsaW1p dGVkIGJ5IHRoZSB0b3RhbCBtZW1vcnkgb24gdGhlIG5vZGUuIEFsc28gbWVtb3J5IGZyYWdtZW50 YXRpb24gY2FuIGRlY3JlYXNlCiAgICAgICBhdmFpbGFibGUgbWVtb3J5LiBTZWUgSVNTVUVTLgoK ICAgICAgIFRoZSAvcHJvYy9tZW1pbmZvIGZpbGUgZG9lcyBub3QgZ2l2ZSBhIGNvbXBsZXRlIHBp Y3R1cmUgb2YgaHVnZSBwYWdlIHVzYWdlIGFuZCBpcyBkZXByZWNhdGVkIGZvciB0aGlzIHB1cnBv c2UuCgogICBSdW5uaW5nIEluZGVwZW5kZW50IFNvZnR3YXJlIFZlbmRvciAoSVNWKSBBcHBsaWNh dGlvbnMKICAgICAgIFRvIGVuYWJsZSBhIGR5bmFtaWNhbGx5IGxpbmtlZCBleGVjdXRhYmxlLCB0 aGF0IHdhcyBub3Qgb3JpZ2luYWxseSBsaW5rZWQgd2l0aCBsaWJodWdldGxiZnMsIHRvIHVzZSBD cmF5J3MgbGliaHVnZXRsYmZzCiAgICAgICBsaWJyYXJ5IGF0IHJ1bnRpbWUsIHlvdSBtdXN0IGZp cnN0IGxvYWQgYSBodWdlcGFnZXMgbW9kdWxlIGFuZCBzZXQgdGhlIGVudmlyb25tZW50IHZhcmlh YmxlIExEX1BSRUxPQUQgc28gdGhhdCBpdAogICAgICAgY29udGFpbnMgdGhlIGxpYmh1Z2V0bGJm cyBwYXRobmFtZToKCgkgbW9kdWxlIGxvYWQgY3JheXBlLWh1Z2VwYWdlczJNCgkgZXhwb3J0IExE X1BSRUxPQUQ9L3Vzci9saWI2NC9saWJodWdldGxiZnMuc28KCiAgICAgICBJZiBhbiBJU1YgYXBw bGljYXRpb24gaXMgYWxyZWFkeSB1c2luZyBMRF9QUkVMT0FEIHRvIHNldCBkeW5hbWljIGxpYnJh cnkgZGVwZW5kZW5jaWVzLCB0aGVuIHVzZSBhIHdoaXRlLXNwYWNlIHNlcGFyYXRlZAogICAgICAg bGlzdC4gRm9yIGV4YW1wbGU6CgoJIGV4cG9ydCBMRF9QUkVMT0FEPSIvdXNyL2xpYjY0L2xpYmh1 Z2V0bGJmcy5zbyAvZGlyZWN0b3J5X25hbWUvbGliLnNvIgoKICAgICAgIFRvIGNvbmZpcm0gdGhl IHVzYWdlIG9mIGh1Z2VwYWdlcywgb25lIG1heSBzZXQgSFVHRVRMQl9WRVJCT1NFIHRvIDMgb3Ig aGlnaGVyOgoKCSBleHBvcnQgSFVHRVRMQl9WRVJCT1NFPTMKCiAgICAgICBTdGF0aWNhbGx5IGxp bmtlZCBleGVjdXRhYmxlcyBjYW4gb25seSB1c2UgQ3JheSdzIGxpYmh1Z2V0bGJmcyBpZiB0aGV5 IGFyZSBsaW5rZWQgd2l0aCBpdC4gU3RhdGljYWxseSBsaW5rZWQgZXhlY3V0YWJsZXMKICAgICAg IGRvIG5vdCBwcm9jZXNzIExEX1BSRUxPQUQ7IHRoZXJlZm9yZSBzdGF0aWNhbGx5IGxpbmtlZCBJ U1ZzIG11c3QgYmUgcmVsaW5rZWQgd2l0aCBsaWJodWdldGxiZnMuIFNlZSBNb2R1bGUgU3VwcG9y dCBmb3IKICAgICAgIGNvbXBpbGluZyBhbmQgbGlua2luZy4KCiAgICAgICBUaGUgbm0gYW5kIGxk ZCBjb21tYW5kcyBhcmUgdXNlZnVsIGZvciBkZXRlcm1pbmluZyB0aGUgY29udGVudHMgYW5kIGR5 bmFtaWMgZGVwZW5kZW5jaWVzIG9mIGV4ZWN1dGFibGVzLgoKICAgU2VsZWN0aXZlIE1hcHBpbmcK ICAgICAgIElTViBhcHBsaWNhdGlvbnMgc29tZXRpbWVzIGNvbnNpc3Qgb2Ygc2NyaXB0cyB3aGlj aCBydW4gc2V2ZXJhbCBleGVjdXRhYmxlcywgb25seSBzb21lIG9mIHdoaWNoIG5lZWQgdG8gcnVu IHdpdGggaHVnZQogICAgICAgcGFnZXMuIFRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBIVUdFVExC X1JFU1RSSUNUX0VYRSBlbmFibGVzIHRoZSBsaWJodWdldGxiZnMgbGlicmFyeSB0byBzZWxlY3Rp dmVseSBtYXAgb25seSB0aGUgbmFtZWQKICAgICAgIGV4ZWN1dGFibGVzIG9udG8gaHVnZSBwYWdl cy4KCiAgIFRlcm1zCiAgICAgICBUZXh0IFNlZ21lbnQgLSBjb250YWlucyB0aGUgYWN0dWFsIGlu c3RydWN0aW9ucyB0byBiZSBleGVjdXRlZC4KCiAgICAgICBEYXRhIFNlZ21lbnQgLSBjb250YWlu cyB0aGUgcHJvZ3JhbSdzIGRhdGEgcGFydCwgd2hpY2ggaXMgZnVydGhlciBkaXZpZGVkIGludG8g ZGF0YSwgYnNzLCBhbmQgaGVhcCBzZWN0aW9ucy4KCiAgICAgICDCtyAgRGF0YS0gZ2xvYmFsLCBz dGF0aWMgaW5pdGlhbGl6ZWQgZGF0YS4KCiAgICAgICDCtyAgQlNTIC0gZ2xvYmFsLCBzdGF0aWMg dW5pbml0aWFsaXplZCBkYXRhLgoKICAgICAgIMK3ICBIZWFwIC0gZHluYW1pY2FsbHkgYWxsb2Nh dGVkIG1lbW9yeS4KCiAgICAgICBTdGFjayAtIHVzZWQgZm9yIGxvY2FsIHZhcmlhYmxlcywgc3Rh Y2sgZnJhbWVzLgoKICAgICAgIFN5bW1ldHJpYyBIZWFwIC0gY29udGFpbnMgZHluYW1pY2FsbHkg YWxsb2NhdGVkIG1lbW9yeSBmb3IgYSBQRSwgd2hpY2ggaXMga2VwdCBpbiBzeW5jIGJ5IHRoZSBw cm9ncmFtbWluZyBtb2RlbCAoZS5nLgogICAgICAgU0hNRU0pIHdpdGggdGhhdCBvZiBhbm90aGVy IFBFLiBTZWUgaW50cm9fc2htZW0oMykgbWFuIHBhZ2UgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRp b24uIFRoZSBwcml2YXRlIGhlYXAgY29udGFpbnMKICAgICAgIGR5bmFtaWNhbGx5IGFsbG9jYXRl ZCBtZW1vcnkgd2hpY2ggaXMgc3BlY2lmaWMgdG8gYSBQRS4KCiAgICAgICBHQVJUIC0gR3JhcGhp Y3MgQXBlcnR1cmUgUmVsb2NhdGlvbiBUYWJsZQoKICAgICAgIEhTTiAtIEhpZ2ggU3BlZWQgTmV0 d29yawoKICAgICAgIElPTU1VIC0gSGlnaCBJL08gTWVtb3J5IE1hbmFnZW1lbnQgVW5pdAoKICAg ICAgIElTViAtIEluZGVwZW5kZW50IFNvZnR3YXJlIFZlbmRvcgoKICAgICAgIE1SVCAtIE1lbW9y eSBSZWxvY2F0aW9uIFRhYmxlCgogICAgICAgVExCIC0gVHJhbnNsYXRpb24gTG9vayBBc2lkZSBC dWZmZXIgaXMgdGhlIG1lbW9yeSBtYW5hZ2VtZW50IGhhcmR3YXJlIHVzZXMgdG8gdHJhbnNsYXRl IHZpcnR1YWwgYWRkcmVzc2VzIGludG8gcGh5c2ljYWwKICAgICAgIGFkZHJlc3Nlcy4KCklTU1VF UwogICAgICAgSHVnZSBwYWdlcyBhcmUgYSBwZXItbm9kZSByZXNvdXJjZSwgbm90IGEgcGVyLWpv YiByZXNvdXJjZSwgbm9yIGEgcGVyLXByb2Nlc3MgcmVzb3VyY2UuIFRoZXJlIGlzIG5vIGd1YXJh bnRlZSB0aGF0IHRoZQogICAgICAgcmVxdWVzdGVkIG51bWJlciBvZiBodWdlIHBhZ2VzIHdpbGwg YmUgYXZhaWxhYmxlIG9uIHRoZSBjb21wdXRlIG5vZGVzLiBJZiB0aGUgbWVtb3J5IHBvb2wgYmVj b21lcyBmcmFnbWVudGVkLCB3aGljaCBpdAogICAgICAgY2FuIG92ZXIgdGltZSwgdGhlIG51bWJl ciBvZiBmcmVlIGJsb2NrcyB0aGF0IGFyZSBlcXVhbCB0byBvciBsYXJnZXIgdGhhbiB0aGUgaHVn ZSBwYWdlIHNpemUgY2FuIGRlY3JlYXNlIGJlbG93IHRoZQogICAgICAgbnVtYmVyIG5lZWRlZCB0 byBzZXJ2aWNlIHRoZSByZXF1ZXN0LCBldmVuIHRob3VnaCB0aGVyZSBtYXkgYmUgZW5vdWdoIGZy ZWUgbWVtb3J5IGluIHRoZSBwb29sIHdoZW4gc3VtbWluZyBmcmVlIGJsb2NrcyBvZgogICAgICAg YWxsIHNpemVzLiBGb3IgdGhpcyByZWFzb24sIHVzZSBodWdlIHBhZ2Ugc2l6ZXMgbm8gbGFyZ2Vy IHRoYW4gbmVlZGVkLgoKICAgICAgIElmIHRoZSBoZWFwIGlzIG1hcHBlZCB0byBodWdlIHBhZ2Vz IChieSBzZXR0aW5nIEhVR0VUTEJfTU9SRUNPUkUgdG8geWVzKSBhbmQgaWYgYSBtYWxsb2MgY2Fs bCByZXF1aXJlcyB0aGF0IHRoZSBoZWFwIGJlCiAgICAgICBleHRlbmRlZCwgYW5kIGlmIHRoZXJl IGFyZSBub3QgZW5vdWdoIGZyZWUgYmxvY2tzIGluIHRoZSBtZW1vcnkgcG9vbCBsYXJnZSBlbm91 Z2ggdG8gc3VwcG9ydCB0aGUgcmVxdWlyZWQgbnVtYmVyIG9mIGh1Z2UKICAgICAgIHBhZ2VzLCBs aWJodWdldGxiZnMgd2lsbCBpc3N1ZSB0aGUgZm9sbG93aW5nIFdBUk5JTkcgbWVzc2FnZSBhbmQg dGhlbiBnbGliYyB3aWxsIGZhbGwgYmFjayB0byBhbGxvY2F0aW5nIGJhc2UgcGFnZXMuCgoJIGxp Ymh1Z2V0bGJmcyBbbmlkMDAweHg6eHh4eHhdOiBXQVJOSU5HOiBOZXcgaGVhcCBzZWdtZW50IG1h cCBhdAoJIDB4MTAwMDAwMDAgZmFpbGVkOiBDYW5ub3QgYWxsb2NhdGUgbWVtb3J5CgogICAgICAg U2luY2UgdGhpcyBpcyBhIHdhcm5pbmcsIGpvYnMgYXJlIGFibGUgdG8gY29udGludWUgcnVubmlu ZyBhZnRlciB0aGlzIG1lc3NhZ2Ugb2NjdXJzLiBCdXQgYmVjYXVzZSB0aGUgYWxsb2NhdGVkIGJh c2UKICAgICAgIHBhZ2VzIHVzZSBHQVJUIGVudHJpZXMsIGFuZCBhcyBkZXNjcmliZWQgaW4gdGhl IE5PVEVTIHNlY3Rpb24sIGFuZCB0aGVyZSBhcmUgYSBsaW1pdGVkIG51bWJlciBvZiBHQVJUIGVu dHJpZXMsIGZ1dHVyZQogICAgICAgbWVtb3J5IHJlcXVlc3RzIG1heSBmYWlsIGFsdG9nZXRoZXIg ZHVlIHRvIGxhY2sgb2YgYXZhaWxhYmxlIEdBUlQgZW50cmllcy4KCiAgICAgICBXaXRoIGNyYXlw ZS1odWdlcGFnZXMgbW9kdWxlcyBsb2FkZWQsIGl0IGlzIG5vIGxvbmdlciBuZWNlc3NhcnkgdG8g aW5jbHVkZSAtbGh1Z2V0bGJmcyBvbiB0aGUgbGluayBsaW5lLiBEb2luZyBzbyB3aWxsCiAgICAg ICByZXN1bHQgaW4gbWVzc2FnZXMgaW5kaWNhdGluZyBtdWx0aXBsZSBkZWZpbml0aW9ucywgc3Vj aCBhczoKCgkgLy91c3IvbGliNjQvbGliaHVnZXRsYmZzLmEoZWxmbGluay5vKTogSW4gZnVuY3Rp b24KCSBgX19saWJodWdldGxiZnNfZG9fcmVtYXBfc2VnbWVudHMnOgoKCSAvdXNyL3NyYy9wYWNr YWdlcy9CVUlMRC9jcmF5LWxpYmh1Z2V0bGJmcy0yLjExL2VsZmxpbmsuYzoyMDEyOgoJIG11bHRp cGxlIGRlZmluaXRpb24gb2YgYF9fbGliaHVnZXRsYmZzX2RvX3JlbWFwX3NlZ21lbnRzJwoKCSAv L3Vzci9saWI2NC9saWJodWdldGxiZnMuYShlbGZsaW5rLm8pOi91c3Ivc3JjL3BhY2thZ2VzL0JV SUxELwoJIGNyYXktbGliaHVnZXRsYmZzLTIuMTEvZWxmbGluay5jOjIwMTI6IGZpcnN0IGRlZmlu ZWQgaGVyZQoKICAgICAgIEFkanVzdCBtYWtlZmlsZXMgb3IgYnVpbGQgc2NyaXB0cyBhY2NvcmRp bmdseS4KClNFRSBBTFNPCiAgICAgICBodWdlYWRtKDgpLCBjYygxKSwgQ0MoMSksIGZ0bigxKSwg YXBydW4oMSksIGludHJvX21waSgzKSwgaW50cm9fc2htZW0oMyksIGxpYmh1Z2V0bGJmcyg3KQoK ICAgICAgIC91c3Ivc2hhcmUvZG9jL2xpYmh1Z2V0bGJmcy9IT1dUTwoKCQkJCQkJCSAgIDAzLTA4 LTIwMTkJCQkJCSAgICAgIGludHJvX2h1Z2VwYWdlcygxKQo= --_002_MW5PR84MB164118CC1E986794336BC2C198909MW5PR84MB1641NAMP_--