Received: by 2002:a05:6a10:2726:0:0:0:0 with SMTP id ib38csp12314pxb; Wed, 30 Mar 2022 21:23:49 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwQXXAwzkCct3ci0vyYVHJUfCGT9zGHr6qoqkPH/Z/yWd31TDBRw1VxR5GEY3EkWFMOozns X-Received: by 2002:a17:90b:1e4e:b0:1c7:3512:c2ac with SMTP id pi14-20020a17090b1e4e00b001c73512c2acmr3872545pjb.61.1648700628971; Wed, 30 Mar 2022 21:23:48 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1648700628; cv=pass; d=google.com; s=arc-20160816; b=psG2KWSBCua/0KzItFpyxpcuK4FGR0Mzy/auRYuxUvjBxIIlzRTWmT3Iq8/5EWvhI4 RhtKIGDTsngFo9owZZGI0V9Y1wBoN18ilB/5NotHlBBgZGMCVbyqPqXMkOdhhmjWCJky BVyy/ilM1Mn5NslZxnldpX1jMFJZodgw4IL0e3TBL5uiB9baUZXkArFqNH3xbp4BFcng jIWicZfzp2SrYW40/7RSIMtTwovHCXo/KYbgQpTFO1K+tkcbxbR+/f+1VK7mBs00EG/7 +9qgV3RHLH0CsLqjvNpHVARaEhNm9HSpASzXCs1m2dTuTBOlinIehyaBC3Xqec8gKwG6 tE6w== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-id:content-language:accept-language:in-reply-to:references :message-id:date:thread-index:thread-topic:subject:cc:to:from :dkim-signature; bh=Wiy/Lmpa2AFz79nkmNjKnEf5S5ISD1UYRHi+hmMruWI=; b=TLa3R3yXkGs1r9XTDxnnc9YQQb6G7+0l57NCFXFxpmz1PbdtVACSl9K0Fwc+VSyw5V HrMME/lhNOF25YLqjyDrEw3YkdVIlAU5qviAswIAgBvXxul9c+bA0+F7CYgj90mEb/Ny GyqpBJ4FA9nRe0YfnhaqLbiFQl3nuZ7H3IDnwl34YiIdTTHRCA2LDMr+48k2o6MVY3b0 770odZMCNKyFIcFLO0YbbGAiKjtVf022QT+wqqpEa7QXLkb/4I66ig0Lmanv3RugQ4Bt U90qP6+MMTv/i1xCGkWGv7UDUWT0YNJuQvPrz5UJL3tUoZoMQNttBAMVjTDUXQwPhirP AA1A== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@hammerspace.com header.s=selector2 header.b=ZdcH3pDX; arc=pass (i=1 spf=pass spfdomain=hammerspace.com dkim=pass dkdomain=hammerspace.com dmarc=pass fromdomain=hammerspace.com); spf=pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=hammerspace.com Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id s4-20020a632144000000b0038259e543acsi23007720pgm.541.2022.03.30.21.23.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 30 Mar 2022 21:23:48 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) client-ip=2620:137:e000::1:18; Authentication-Results: mx.google.com; dkim=pass header.i=@hammerspace.com header.s=selector2 header.b=ZdcH3pDX; arc=pass (i=1 spf=pass spfdomain=hammerspace.com dkim=pass dkdomain=hammerspace.com dmarc=pass fromdomain=hammerspace.com); spf=pass (google.com: domain of linux-nfs-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-nfs-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=hammerspace.com Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 82E6E10855A; Wed, 30 Mar 2022 20:19:38 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1343712AbiC3WEg (ORCPT + 99 others); Wed, 30 Mar 2022 18:04:36 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49958 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S240323AbiC3WEd (ORCPT ); Wed, 30 Mar 2022 18:04:33 -0400 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2097.outbound.protection.outlook.com [40.107.236.97]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CC1474D9CD for ; Wed, 30 Mar 2022 15:02:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JjqtI2eDMz4mb7I4QtiUYOqfv+iNxXQ6q6Veukfiae0m+jkzrZjE6ZSFX4w2s4T+zKLOhUSeURAWhgIADj0uevGX0Rsthje+KLYlA3uhF9JHGyowo1FI9pfLpIqRt50kQJ5h9PiMu4DqMo3W5/fKo0n85VtcaqYYlIwJZoVpw4eXmGMaUcpF9JaULhV23B7biZCnWIC8AkxlWQkflAzhGYHEbkYa2K90rdmbz7FeJ9R6ghUelNEAVeszfukalFERkGyY9GBcwsrHrL0gW2aso7akEkqDLfItcQDuUpU+MInBJTmdgXeW0/OcQLQF+hSNMjDMA+x3B09ZXvBsdbcVxQ== 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=Wiy/Lmpa2AFz79nkmNjKnEf5S5ISD1UYRHi+hmMruWI=; b=E1PhDj0ncvaGKx6DvW7EzhCczZlaZJxtAjJx0xauvUJYxRow7VIrKJ4wXaptY9iGoOEU05F0zYER1cGVfrVBPqnFEyiU0wpAYy95vEXdQQL566VNn0yNxK4qqgsbPoG/CR/zhiaIg1dENUaHp8mON4DD7PPZHWNVSeY4Z20BTERHsj4zPBK7e/ibzUqRmOwonWJXn+TV0GQgM3coOptaK7E3jRLR2E/6fNXAbX3BhEyJxQEFEm9Db/uzIJjLaaYvu3Y5fL97grW6eG2LIyZZVtcjZKl/A04SHE70zZPLVYwxUqkvNnux3b+xVlRnEaZZw4V+7nWx00M2Gfj4koAcaw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=hammerspace.com; dmarc=pass action=none header.from=hammerspace.com; dkim=pass header.d=hammerspace.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hammerspace.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Wiy/Lmpa2AFz79nkmNjKnEf5S5ISD1UYRHi+hmMruWI=; b=ZdcH3pDXU60KvqIes0+FRObDkpwBvs8dCVFSr2JB/GkmZIS8NToLATKfLTbZxcwHxWn4vuBob+D4tnshNJdTa9pBb5N45O9wNEce0w8Oftg3qvssJe/zRD0WoL51bER+WP7bx5yAMJosZT/L9Say/BV0Nvk6WCtDQYzzdvlZrZs= Received: from CH0PR13MB5084.namprd13.prod.outlook.com (2603:10b6:610:111::7) by BLAPR13MB4740.namprd13.prod.outlook.com (2603:10b6:208:307::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5123.8; Wed, 30 Mar 2022 22:02:40 +0000 Received: from CH0PR13MB5084.namprd13.prod.outlook.com ([fe80::c0b:4fda:5713:9006]) by CH0PR13MB5084.namprd13.prod.outlook.com ([fe80::c0b:4fda:5713:9006%7]) with mapi id 15.20.5123.021; Wed, 30 Mar 2022 22:02:39 +0000 From: Trond Myklebust To: "jack@suse.cz" , "chuck.lever@oracle.com" CC: "linux-nfs@vger.kernel.org" , "nfbrown@suse.com" , "bfields@redhat.com" Subject: Re: Performance regression with random IO pattern from the client Thread-Topic: Performance regression with random IO pattern from the client Thread-Index: AQHYRCHURuyBsHzGwUylCk6TFFITcqzYBlsAgAAJ1ACAAAuFAIAAGwcAgABEvgA= Date: Wed, 30 Mar 2022 22:02:39 +0000 Message-ID: References: <20220330103457.r4xrhy2d6nhtouzk@quack3.lan> <64a4832afd830d7c831ab687bc7a72cc791c2f0c.camel@hammerspace.com> <20220330161952.haopqr342qlij5hg@quack3.lan> In-Reply-To: Accept-Language: en-US, en-GB Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=hammerspace.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: d2c55091-2db4-4c47-49f4-08da129901fa x-ms-traffictypediagnostic: BLAPR13MB4740:EE_ x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ePJ3imSON6/y0uG5WZYtHl4Qt7bNm6U/O9zP1+FhLPrJ0boYrmlQyrPLJSQjJ8dIbTP+Zl8PNo/ftUulNqpEGTc21VIugDbdo+Oj+8r/oNJADrTi4EaQrLu9MUo+D0jcLt0MU5bk9XDq/QGx6pyg0IPiLfF5deu9Qzu/PjEfstWEhOPCTLzZON3nKihr3AZzVykvLz8kNhI7O3Hxk/mq7ntodXG203wDBcgZHEXDbxGezv8t2IaXxfjBPmHFPKCYRnZMi3ZsXYd1H0KvzjTfA20EP3wBhkakhemDnXCQ7DWKV1bALY/nITQ4s3eQmajyh2MhzRMbBTnWBwe+ThLpn9I+d4SKG4LRFrE/4ENXTCgzdN/T2wMDhFLQhKXLVjiODpz63NuSdgKikaKlCAEBvfByER/HEJsh+c5xN9rIuZAwpAcniD38JVGLwfLdEWgv74ZBzNuE/WIS2JpNILWj6y4GfIzQA06ePXDnyyIQhOgXeS0d50bvFtljml50idbeSFXiq5q7gdwf9Xqno5cr6pRJQhs/NLf3kqK2cMGymRLFNoWAU6O4PttoU1ehZ90a9xAgP/0Dc1IGMTfgpV/C4TgvUbkeFRznLwJ4j0vzNv483NGOl6V/afRZPOyR3UdCzVOtmp7ZW85h8hAp+VAU8sI8AhG19ifcSgusFAXFD2npIO7d5ZMpmod/cNN6PuSwIUBpnmhzZ0BGLN0Gg/ZUOQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH0PR13MB5084.namprd13.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(366004)(36756003)(38100700002)(54906003)(316002)(8936002)(122000001)(5660300002)(2616005)(19627235002)(110136005)(71200400001)(6486002)(8676002)(186003)(26005)(66946007)(66556008)(66476007)(66446008)(64756008)(86362001)(76116006)(38070700005)(4326008)(508600001)(6506007)(83380400001)(6512007)(53546011)(2906002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?N21qaUZnS0h1T1YxdDZ3RTQ2ZUVmMktKdzArVnJLYnIyeFBHNEtTSXdiWXRI?= =?utf-8?B?K2lCck5KWUVDaWNiU3MreFNGMEVYOVg0bG1GT3duZXltTjBCcnNocEt3N3cz?= =?utf-8?B?cHRHYSs5TzZCQnh3ZFl0UHQvWXo2MVdQWTBzcWZXYjRmdDkxRXdCM0pnVGs2?= =?utf-8?B?K05zR0F4OStNbWo1VnBSQWVvT0c1RSt6czYvNVVrZk9JY2xJemI3YlhRNGJj?= =?utf-8?B?RWt1RDNxb1RiWnhPVFpHVmJYZlZwYTVqMEdOTHd5SjlTakVQVm5wKzZIcFFu?= =?utf-8?B?SHVQWFgwNDdTU0hBZ3NMNmovM3lXV25VQjJsMVVmRktlalRLOWZ6MlFISzlj?= =?utf-8?B?enZkRDhWUkdLZlJoaHBaU0dvckphOWZtNVY0Z3VUdEFZckhrR1c1ZEVXR0pV?= =?utf-8?B?SUhkNUV6ejMrUVl4dFJSTnY1eXVaRERROU1ubDY5cXZoNnIyTnc0MXdkNjRO?= =?utf-8?B?bGFQcElMbloxUGZsZ2xtbDVjUm5qVWMvdEVOTlRtNFFqbTF2Y0JyUTZKK2U4?= =?utf-8?B?TnJSbmZkN0YvdFhFRU5zSk9BZUhhODF0YkJ1dHlKOEVIaUw4cDk5NnluZkFy?= =?utf-8?B?ZUlpUGxRM3JBQ1VpRXAzNWdvL0l5TXpHenpGR21meHRXL3c2c2MzVHJVSEdC?= =?utf-8?B?MVFhQjV3bXYrSDFtSnNzcVVZa2FJWFZqYmttYmhWQzV4RTZ6MHM3MXBqWG1o?= =?utf-8?B?WVBFNm9qbFVkZVRpNVdRS2ErNDk1U29CV0laY2kxZ2o5ZEJvL0h3ckswODly?= =?utf-8?B?V0YvTHlDZmxXT01jVzVndzVWbVM2cjZqdHhIdHFwbmVoQmF6TzdJL3JvWHpH?= =?utf-8?B?RGRoK3pUZVVsU1k4MkpOQk92aEVBaTBqVmtYak9IV3o2RXJYYXVxRTdZbjhs?= =?utf-8?B?b0RHUzRpUVMxOHF5ajdBcFNFS25OQ1hsTTdBTXQySDVQdElNRFp2N3Y3UHdT?= =?utf-8?B?eDZ1VnZ0akdIeHhWYm1JSW4wa1Yzb1UxMXhpNC9tTVJ1OGd1cE1kZVkrYmVG?= =?utf-8?B?SVZsQ3FtbUtjNVBleGh2aXlmRjYza3RTMFNXdHh3Ty9kMUp3cTlJVHE5V3JR?= =?utf-8?B?dy9LaEhhY0N2dFRYdzFiSkNWVFcxdzFsZ01VczlyZFVKV21YMzNFM01Lc0lD?= =?utf-8?B?Mm5ZRVZzdzRrMnExWkNxN3ROOFNHaERQQmFHdmNVS1REQXlrK0RxQ3NmRy9Q?= =?utf-8?B?bldzd0tBRG5IMnpoUDMvVktmZlhGNWJvVjhBM2VtQzZFMEJlb3QySS9XUzdO?= =?utf-8?B?OFFkNU1Wakk5Z2EvclhRVWVONVZuZkJqSUJxa0kzcHRRMGJLMHpRU1k0Ujg2?= =?utf-8?B?by8wNjhYdGpIRDU1VnJpMkt0WEpzMWdLSUZyb1JzUW55VUR6aVYzNjdrK0xl?= =?utf-8?B?ekpzNk9aVmVIcnRkem1KUHVFeW4zTm5yOXY5NWYza2d2QU41OGJSbmlFWEhT?= =?utf-8?B?UlNrdnZLWmQzMzJFcGRPYXRxNEFTK2I1TldIbm9Fb3J4S2JUZmExK1JEcHYr?= =?utf-8?B?aUVvWDNFTE5iZFE4c1VpclJ3eTVvMys4N1UyclVDelNvbTZZRXhsR25ZNTQz?= =?utf-8?B?YkxhZk9hR0RQRDFibUdxcUpHZXhwOUtPU2ViMW5zenRydjVFVFk5WjhyR1dn?= =?utf-8?B?UldKR3JiQ3ozei9iSGNWbFNuT0Y0V3gyWE9HeWlFS2QyWk9lbTBOWmhVdjNl?= =?utf-8?B?Q01UWWF1QmtFakZoK3F2eXFTRGJBNjljUHdFK1kyWGxMN0xpQW41VFJJenN2?= =?utf-8?B?dElmVHNWcnUwR1JlYk80MFRieEFrQmM5bHdkWkJ1c3dFUUQzNHZ1MDhGVTZo?= =?utf-8?B?VGhKSUlzcE9tTm1OYys4WlRia09neXlybnBnNmpuTEd6dUlJTU82L1hndnZp?= =?utf-8?B?QTdUZ0ZnR3ByZituWkozOXZXUDZqODczZkJQTWp2WDBTY21SYjdUV1NRRjBQ?= =?utf-8?B?SnJvRkM2VGdub2VwNWxpNW9GbC9UUW5oMERwVmtvbytVMTJPbXR2NDlzSEE5?= =?utf-8?B?NXVSaW9aRkxDa3JCcVYyRnNZNUtkTE9MYnNwZXdqSWZWUDgxbVhJcnplNUp1?= =?utf-8?B?M0Q4SkZJSitScHRtemhyRHRodlF6YyttRnl2eVo3ZXlnaU0zbjF4NTgwWkpa?= =?utf-8?B?d1dIcTBBRXp4UDdTUnlSUTNKa1BwLzBJUWNscTdZQW16S3QwdTRFRkUyTGIr?= =?utf-8?B?aTFqMkhyMUZ2VTgyamhhV0ROMEVUbjM4MUk5UlJWeTg2NS9LbkREbjlqZExV?= =?utf-8?B?NlRTaTE0MFRqM0tycHFxZ04wKzZZeHF2Qm9JUlBZU3NyOTVDTlpTRVB4N2c5?= =?utf-8?B?czhwTTUycmRFZWljZ3o1ekx0eTRRSFlNSGxuOXV1NytKMkNRRjdVR1hXVUM2?= =?utf-8?Q?FZuUeoQhAm9cU6no=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: <405B0492C9A3B340AE8A65F291CBDA2B@namprd13.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: hammerspace.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CH0PR13MB5084.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: d2c55091-2db4-4c47-49f4-08da129901fa X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Mar 2022 22:02:39.8354 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 0d4fed5c-3a70-46fe-9430-ece41741f59e X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: i/svzJEvJXV71CJxrcALUrWeXLb9IIMTI64nF6jG0/qcED7mqGcrU8LQcSLr4tSbTg/ZUtay2VKyi9yBogX9/A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLAPR13MB4740 X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,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-nfs@vger.kernel.org T24gV2VkLCAyMDIyLTAzLTMwIGF0IDE3OjU2ICswMDAwLCBDaHVjayBMZXZlciBJSUkgd3JvdGU6 DQo+IA0KPiANCj4gPiBPbiBNYXIgMzAsIDIwMjIsIGF0IDEyOjE5IFBNLCBKYW4gS2FyYSA8amFj a0BzdXNlLmN6PiB3cm90ZToNCj4gPiANCj4gPiBPbiBXZWQgMzAtMDMtMjIgMTU6Mzg6MzgsIENo dWNrIExldmVyIElJSSB3cm90ZToNCj4gPiA+ID4gT24gTWFyIDMwLCAyMDIyLCBhdCAxMTowMyBB TSwgVHJvbmQgTXlrbGVidXN0DQo+ID4gPiA+IDx0cm9uZG15QGhhbW1lcnNwYWNlLmNvbT4gd3Jv dGU6DQo+ID4gPiA+IA0KPiA+ID4gPiBPbiBXZWQsIDIwMjItMDMtMzAgYXQgMTI6MzQgKzAyMDAs IEphbiBLYXJhIHdyb3RlOg0KPiA+ID4gPiA+IEhlbGxvLA0KPiA+ID4gPiA+IA0KPiA+ID4gPiA+ IGR1cmluZyBvdXIgcGVyZm9ybWFuY2UgdGVzdGluZyB3ZSBoYXZlIG5vdGljZWQgdGhhdCBjb21t aXQNCj4gPiA+ID4gPiBiNjY2OTMwNWQzNWENCj4gPiA+ID4gPiAoIm5mc2Q6IFJlZHVjZSB0aGUg bnVtYmVyIG9mIGNhbGxzIHRvIG5mc2RfZmlsZV9nYygpIikgaGFzDQo+ID4gPiA+ID4gaW50cm9k dWNlZA0KPiA+ID4gPiA+IGENCj4gPiA+ID4gPiBwZXJmb3JtYW5jZSByZWdyZXNzaW9uIHdoZW4g YSBjbGllbnQgZG9lcyByYW5kb20gYnVmZmVyZWQNCj4gPiA+ID4gPiB3cml0ZXMuIFRoZQ0KPiA+ ID4gPiA+IHdvcmtsb2FkIG9uIE5GUyBjbGllbnQgaXMgZmlvIHJ1bm5pbmcgNCBwcm9jZXNzZWQg ZG9pbmcNCj4gPiA+ID4gPiByYW5kb20NCj4gPiA+ID4gPiBidWZmZXJlZCB3cml0ZXMgdG8gNA0K PiA+ID4gPiA+IGRpZmZlcmVudCBmaWxlcyBhbmQgdGhlIGZpbGVzIGFyZSBsYXJnZSBlbm91Z2gg dG8gaGl0IGRpcnR5DQo+ID4gPiA+ID4gbGltaXRzDQo+ID4gPiA+ID4gYW5kDQo+ID4gPiA+ID4g Zm9yY2Ugd3JpdGViYWNrIGZyb20gdGhlIGNsaWVudC4gSW4gcGFydGljdWxhciB0aGUgaW52b2Nh dGlvbg0KPiA+ID4gPiA+IGlzDQo+ID4gPiA+ID4gbGlrZToNCj4gPiA+ID4gPiANCj4gPiA+ID4g PiBmaW8gLS1kaXJlY3Q9MCAtLWlvZW5naW5lPXN5bmMgLS10aHJlYWQgLS1kaXJlY3Rvcnk9L21u dC9tbnQxDQo+ID4gPiA+ID4gLS0NCj4gPiA+ID4gPiBpbnZhbGlkYXRlPTEgLS1ncm91cF9yZXBv cnRpbmc9MSAtLXJ1bnRpbWU9MzAwIC0tDQo+ID4gPiA+ID4gZmFsbG9jYXRlPXBvc2l4IC0tDQo+ ID4gPiA+ID4gcmFtcF90aW1lPTEwIC0tbmFtZT1SYW5kb21SZWFkcy0xMjgwMDAtNGstNCAtLW5l d19ncm91cCAtLQ0KPiA+ID4gPiA+IHJ3PXJhbmR3cml0ZSAtLXNpemU9NDAwMG0gLS1udW1qb2Jz PTQgLS1icz00ayAtLQ0KPiA+ID4gPiA+IGZpbGVuYW1lX2Zvcm1hdD1GaW9Xb3JrbG9hZHMuXCRq b2JudW0gLS1lbmRfZnN5bmM9MQ0KPiA+ID4gPiA+IA0KPiA+ID4gPiA+IFRoZSByZWFzb24gd2h5 IGNvbW1pdCBiNjY2OTMwNWQzNWEgcmVncmVzc2VzIHBlcmZvcm1hbmNlIGlzDQo+ID4gPiA+ID4g dGhlDQo+ID4gPiA+ID4gZmlsZW1hcF9mbHVzaCgpIGNhbGwgaXQgYWRkcyBpbnRvIG5mc2RfZmls ZV9wdXQoKS4gQmVmb3JlDQo+ID4gPiA+ID4gdGhpcyBjb21taXQNCj4gPiA+ID4gPiB3cml0ZWJh Y2sgb24gdGhlIHNlcnZlciBoYXBwZW5lZCBmcm9tIG5mc2RfY29tbWl0KCkgY29kZQ0KPiA+ID4g PiA+IHJlc3VsdGluZyBpbg0KPiA+ID4gPiA+IHJhdGhlciBsb25nIHNlbWlzZXF1ZW50aWFsIHN0 cmVhbXMgb2YgNGsgd3JpdGVzLiBBZnRlciBjb21taXQNCj4gPiA+ID4gPiBiNjY2OTMwNWQzNWEN Cj4gPiA+ID4gPiBhbGwgdGhlIHdyaXRlYmFjayBoYXBwZW5zIGZyb20gZmlsZW1hcF9mbHVzaCgp IGNhbGxzDQo+ID4gPiA+ID4gcmVzdWx0aW5nIGluDQo+ID4gPiA+ID4gbXVjaA0KPiA+ID4gPiA+ IGxvbmdlciBhdmVyYWdlIHNlZWsgZGlzdGFuY2UgKElPIGZyb20gZGlmZmVyZW50IGZpbGVzIGlz IG1vcmUNCj4gPiA+ID4gPiBpbnRlcmxlYXZlZCkNCj4gPiA+ID4gPiBhbmQgYWJvdXQgMTYtMjAl IHJlZ3Jlc3Npb24gaW4gdGhlIGFjaGlldmVkIHdyaXRlYmFjaw0KPiA+ID4gPiA+IHRocm91Z2hw dXQgd2hlbg0KPiA+ID4gPiA+IHRoZQ0KPiA+ID4gPiA+IGJhY2tpbmcgc3RvcmUgaXMgcm90YXRp b25hbCBzdG9yYWdlLg0KPiA+ID4gPiA+IA0KPiA+ID4gPiA+IEkgdGhpbmsgdGhlIGZpbGVtYXBf Zmx1c2goKSBmcm9tIG5mc2RfZmlsZV9wdXQoKSBpcyBpbmRlZWQNCj4gPiA+ID4gPiByYXRoZXIN Cj4gPiA+ID4gPiBhZ2dyZXNzaXZlIGFuZCBJIHRoaW5rIHdlJ2QgYmUgYmV0dGVyIG9mZiB0byBq dXN0IGxlYXZlDQo+ID4gPiA+ID4gd3JpdGViYWNrIHRvDQo+ID4gPiA+ID4gZWl0aGVyDQo+ID4g PiA+ID4gbmZzZF9jb21taXQoKSBvciBzdGFuZGFyZCBkaXJ0eSBwYWdlIGNsZWFuaW5nIGhhcHBl bmluZyBvbg0KPiA+ID4gPiA+IHRoZQ0KPiA+ID4gPiA+IHN5c3RlbS4gSQ0KPiA+ID4gPiA+IGFz c3VtZSB0aGUgcmF0aW9uYWxlIGZvciB0aGUgZmlsZW1hcF9mbHVzaCgpIGNhbGwgd2FzIHRvIG1h a2UNCj4gPiA+ID4gPiBpdCBtb3JlDQo+ID4gPiA+ID4gbGlrZWx5IHRoZSBmaWxlIGNhbiBiZSBl dmljdGVkIGR1cmluZyB0aGUgZ2FyYmFnZSBjb2xsZWN0aW9uDQo+ID4gPiA+ID4gcnVuPyBXYXMN Cj4gPiA+ID4gPiB0aGVyZQ0KPiA+ID4gPiA+IGFueSBwYXJ0aWN1bGFyIHByb2JsZW0gbGVhZGlu ZyB0byBhZGRpdGlvbiBvZiB0aGlzIGNhbGwgb3INCj4gPiA+ID4gPiB3YXMgaXQNCj4gPiA+ID4g PiBqdXN0ICJpdA0KPiA+ID4gPiA+IHNlZW1lZCBsaWtlIGEgZ29vZCBpZGVhIiB0aGluZz8NCj4g PiA+ID4gPiANCj4gPiA+ID4gPiBUaGFua3MgaW4gYWR2YW5jZSBmb3IgaWRlYXMuDQo+ID4gPiA+ ID4gDQo+ID4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqANCj4gPiA+ID4gPiDCoCBIb256YQ0KPiA+ID4gPiANCj4g PiA+ID4gSXQgd2FzIG1haW5seSBpbnRyb2R1Y2VkIHRvIHJlZHVjZSB0aGUgYW1vdW50IG9mIHdv cmsgdGhhdA0KPiA+ID4gPiBuZnNkX2ZpbGVfZnJlZSgpIG5lZWRzIHRvIGRvLiBJbiBwYXJ0aWN1 bGFyIHdoZW4gcmUtZXhwb3J0aW5nDQo+ID4gPiA+IE5GUywgdGhlDQo+ID4gPiA+IGNhbGwgdG8g ZmlscF9jbG9zZSgpIGNhbiBiZSBleHBlbnNpdmUgYmVjYXVzZSBpdCBzeW5jaHJvbm91c2x5DQo+ ID4gPiA+IGZsdXNoZXMNCj4gPiA+ID4gb3V0IGRpcnR5IHBhZ2VzLiBUaGF0IGFnYWluIG1lYW5z IHRoYXQgc29tZSBvZiB0aGUgY2FsbHMgdG8NCj4gPiA+ID4gbmZzZF9maWxlX2Rpc3Bvc2VfbGlz dCgpIGNhbiBlbmQgdXAgYmVpbmcgdmVyeSBleHBlbnNpdmUNCj4gPiA+ID4gKHBhcnRpY3VsYXJs eQ0KPiA+ID4gPiB0aGUgb25lcyBydW4gYnkgdGhlIGdhcmJhZ2UgY29sbGVjdG9yIGl0c2VsZiku DQo+ID4gPiANCj4gPiA+IFRoZSAibm8gcmVncmVzc2lvbnMiIHJ1bGUgc3VnZ2VzdHMgdGhhdCBz b21lIGtpbmQgb2YgYWN0aW9uIG5lZWRzDQo+ID4gPiB0byBiZSB0YWtlbi4gSSBkb24ndCBoYXZl IGEgc2Vuc2Ugb2Ygd2hldGhlciBKYW4ncyB3b3JrbG9hZCBvcg0KPiA+ID4gTkZTDQo+ID4gPiBy ZS1leHBvcnQgaXMgdGhlIG1vcmUgY29tbW9uIHVzZSBjYXNlLCBob3dldmVyLg0KPiA+ID4gDQo+ ID4gPiBJIGNhbiBzZWUgdGhhdCBmaWxwX2Nsb3NlKCkgb24gYSBmaWxlIG9uIGFuIE5GUyBtb3Vu dCBjb3VsZCBiZQ0KPiA+ID4gY29zdGx5IGlmIHRoYXQgZmlsZSBoYXMgZGlydHkgcGFnZXMsIGR1 ZSB0byB0aGUgTkZTIGNsaWVudCdzDQo+ID4gPiAiZmx1c2ggb24gY2xvc2UiIHNlbWFudGljLg0K PiA+ID4gDQo+ID4gPiBUcm9uZCwgYXJlIHRoZXJlIGFsdGVybmF0aXZlcyB0byBmbHVzaGluZyBp biB0aGUgbmZzZF9maWxlX3B1dCgpDQo+ID4gPiBwYXRoPyBJJ20gd2lsbGluZyB0byBlbnRlcnRh aW4gYnVnIGZpeCBwYXRjaGVzIHJhdGhlciB0aGFuIGENCj4gPiA+IG1lY2hhbmljYWwgcmV2ZXJ0 IG9mIGI2NjY5MzA1ZDM1YS4NCj4gPiANCj4gPiBZZWFoLCBJIGRvbid0IHRoaW5rIHdlIG5lZWQg dG8gcnVzaCBmaXhpbmcgdGhpcyB3aXRoIGEgcmV2ZXJ0Lg0KPiANCj4gU29ycnkgSSB3YXNuJ3Qg Y2xlYXI6IEkgd291bGQgcHJlZmVyIHRvIGFwcGx5IGEgYnVnIGZpeCBvdmVyDQo+IHNlbmRpbmcg YSByZXZlcnQgY29tbWl0LCBhbmQgSSBkbyBub3QgaGF2ZSBlbm91Z2ggaW5mb3JtYXRpb24NCj4g eWV0IHRvIG1ha2UgdGhhdCBjaG9pY2UuIFdhaXRpbmcgYSBiaXQgaXMgT0sgd2l0aCBtZS4NCj4g DQo+IA0KPiA+IEFsc28gYmVjYXVzZQ0KPiA+IGp1c3QgcmVtb3ZpbmcgdGhlIGZpbGVtYXBfZmx1 c2goKSBmcm9tIG5mc2RfZmlsZV9wdXQoKSB3b3VsZCBrZWVwDQo+ID4gb3RoZXINCj4gPiBiZW5l Zml0cyBvZiB0aGF0IGNvbW1pdCB3aGlsZSBmaXhpbmcgdGhlIHJlZ3Jlc3Npb24gQUZBSVUuIEJ1 dCBJDQo+ID4gdGhpbmsNCj4gPiBtYWtpbmcgZmx1c2hpbmcgbGVzcyBhZ2dyZXNzaXZlIGlzIGRl c2lyYWJsZSBiZWNhdXNlIGFzIEkgd3JvdGUgaW4NCj4gPiBteSBvdGhlcg0KPiA+IHJlcGx5LCBj dXJyZW50bHkgaXQgaXMgcHJldmVudGluZyBwYWdlY2FjaGUgZnJvbSBhY2N1bXVsYXRpbmcNCj4g PiBlbm91Z2ggZGlydHkNCj4gPiBkYXRhIGZvciBhIGdvb2QgSU8gcGF0dGVybi4NCj4gDQo+IEkg bWlnaHQgZXZlbiBnbyBzbyBmYXIgYXMgdG8gc2F5IHRoYXQgYSBzbWFsbCB3cml0ZSB3b3JrbG9h ZA0KPiBpc24ndCBlc3BlY2lhbGx5IGdvb2QgZm9yIHNvbGlkIHN0YXRlIHN0b3JhZ2UgZWl0aGVy Lg0KPiANCj4gSSBrbm93IFRyb25kIGlzIHRyeWluZyB0byBhZGRyZXNzIE5GUyByZS1leHBvcnQg cGVyZm9ybWFuY2UsIGJ1dA0KPiB0aGVyZSBhcHBlYXIgdG8gYmUgc29tZSBwYWxwYWJsZSBlZmZl Y3RzIG91dHNpZGUgb2YgdGhhdCBuYXJyb3cNCj4gdXNlIGNhc2UgdGhhdCBuZWVkIHRvIGJlIGNv bnNpZGVyZWQuIFRodXMgYSBzZXJ2ZXItc2lkZSBmaXgsDQo+IHJhdGhlciB0aGFuIGEgZml4IGlu IHRoZSBORlMgY2xpZW50IHVzZWQgdG8gZG8gdGhlIHJlLWV4cG9ydCwNCj4gc2VlbXMgYXBwcm9w cmlhdGUgdG8gY29uc2lkZXIuDQoNClR1cm5zIG91dCBpdCBpcyBub3QganVzdCB0aGUgTkZTIGNs aWVudCB0aGF0IGlzIHRoZSBwcm9ibGVtLiBJdCBpcw0KcmF0aGVyIHRoYXQgd2UgbmVlZCBpbiBn ZW5lcmFsIHRvIGJlIGFibGUgdG8gZGV0ZWN0IGZsdXNoIGVycm9ycyBhbmQNCmVpdGhlciByZXBv cnQgdGhlbSBkaXJlY3RseSAodGhyb3VnaCBjb21taXQpIG9yIHdlIG5lZWQgdG8gY2hhbmdlIHRo ZQ0KYm9vdCB2ZXJpZmllciB0byBmb3JjZSBjbGllbnRzIHRvIHJlc2VuZCB0aGUgdW5zdGFibGUg d3JpdGVzLg0KDQpIZW5jZSwgSSB0aGluayB3ZSdyZSBsb29raW5nIGF0IHNvbWV0aGluZyBsaWtl IHRoaXM6DQoNCjg8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCkZyb20gYzBjODkyNjdmMzAzNDMyYzhmNWU0OTBlYTli MDc1ODU2ZTRiZTc5ZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDENCkZyb206IFRyb25kIE15a2xl YnVzdCA8dHJvbmQubXlrbGVidXN0QGhhbW1lcnNwYWNlLmNvbT4NCkRhdGU6IFdlZCwgMzAgTWFy IDIwMjIgMTY6NTU6MzggLTA0MDANClN1YmplY3Q6IFtQQVRDSF0gbmZzZDogRml4IGEgd3JpdGUg cGVyZm9ybWFuY2UgcmVncmVzc2lvbg0KDQpUaGUgY2FsbCB0byBmaWxlbWFwX2ZsdXNoKCkgaW4g bmZzZF9maWxlX3B1dCgpIGlzIHRoZXJlIHRvIGVuc3VyZSB0aGF0DQp3ZSBjbGVhciBvdXQgYW55 IHdyaXRlcyBiZWxvbmdpbmcgdG8gYSBORlN2MyBjbGllbnQgcmVsYXRpdmVseSBxdWlja2x5DQph bmQgYXZvaWQgc2l0dWF0aW9ucyB3aGVyZSB0aGUgZmlsZSBjYW4ndCBiZSBldmljdGVkIGJ5IHRo ZSBnYXJiYWdlDQpjb2xsZWN0b3IuIEl0IGFsc28gZW5zdXJlcyB0aGF0IHdlIGRldGVjdCB3cml0 ZSBlcnJvcnMgcXVpY2tseS4NCg0KVGhlIHByb2JsZW0gaXMgdGhpcyBjYXVzZXMgYSByZWdyZXNz aW9uIGluIHBlcmZvcm1hbmNlIGZvciBzb21lDQp3b3JrbG9hZHMuDQoNClNvIHRyeSB0byBpbXBy b3ZlIG1hdHRlcnMgYnkgZGVmZXJyaW5nIHdyaXRlYmFjayB1bnRpbCB3ZSdyZSByZWFkeSB0bw0K Y2xvc2UgdGhlIGZpbGUsIGFuZCBuZWVkIHRvIGRldGVjdCBlcnJvcnMgc28gdGhhdCB3ZSBjYW4g Zm9yY2UgdGhlDQpjbGllbnQgdG8gcmVzZW5kLg0KDQpTaWduZWQtb2ZmLWJ5OiBUcm9uZCBNeWts ZWJ1c3QgPHRyb25kLm15a2xlYnVzdEBoYW1tZXJzcGFjZS5jb20+DQotLS0NCiBmcy9uZnNkL2Zp bGVjYWNoZS5jIHwgMTggKysrKysrKysrKysrKysrLS0tDQogMSBmaWxlIGNoYW5nZWQsIDE1IGlu c2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pDQoNCmRpZmYgLS1naXQgYS9mcy9uZnNkL2ZpbGVj YWNoZS5jIGIvZnMvbmZzZC9maWxlY2FjaGUuYw0KaW5kZXggOGJjODA3YzVmZWE0Li45NTc4YTYz MTc3MDkgMTAwNjQ0DQotLS0gYS9mcy9uZnNkL2ZpbGVjYWNoZS5jDQorKysgYi9mcy9uZnNkL2Zp bGVjYWNoZS5jDQpAQCAtMjM1LDYgKzIzNSwxMyBAQCBuZnNkX2ZpbGVfY2hlY2tfd3JpdGVfZXJy b3Ioc3RydWN0IG5mc2RfZmlsZSAqbmYpDQogCXJldHVybiBmaWxlbWFwX2NoZWNrX3diX2Vycihm aWxlLT5mX21hcHBpbmcsIFJFQURfT05DRShmaWxlLT5mX3diX2VycikpOw0KIH0NCiANCitzdGF0 aWMgdm9pZA0KK25mc2RfZmlsZV9mbHVzaChzdHJ1Y3QgbmZzZF9maWxlICpuZikNCit7DQorCWlm IChuZi0+bmZfZmlsZSAmJiB2ZnNfZnN5bmMobmYtPm5mX2ZpbGUsIDEpICE9IDApDQorCQluZnNk X3Jlc2V0X3dyaXRlX3ZlcmlmaWVyKG5ldF9nZW5lcmljKG5mLT5uZl9uZXQsIG5mc2RfbmV0X2lk KSk7DQorfQ0KKw0KIHN0YXRpYyB2b2lkDQogbmZzZF9maWxlX2RvX3VuaGFzaChzdHJ1Y3QgbmZz ZF9maWxlICpuZikNCiB7DQpAQCAtMzAyLDExICszMDksMTQgQEAgbmZzZF9maWxlX3B1dChzdHJ1 Y3QgbmZzZF9maWxlICpuZikNCiAJCXJldHVybjsNCiAJfQ0KIA0KLQlmaWxlbWFwX2ZsdXNoKG5m LT5uZl9maWxlLT5mX21hcHBpbmcpOw0KIAlpc19oYXNoZWQgPSB0ZXN0X2JpdChORlNEX0ZJTEVf SEFTSEVELCAmbmYtPm5mX2ZsYWdzKSAhPSAwOw0KLQluZnNkX2ZpbGVfcHV0X25vcmVmKG5mKTsN Ci0JaWYgKGlzX2hhc2hlZCkNCisJaWYgKCFpc19oYXNoZWQpIHsNCisJCW5mc2RfZmlsZV9mbHVz aChuZik7DQorCQluZnNkX2ZpbGVfcHV0X25vcmVmKG5mKTsNCisJfSBlbHNlIHsNCisJCW5mc2Rf ZmlsZV9wdXRfbm9yZWYobmYpOw0KIAkJbmZzZF9maWxlX3NjaGVkdWxlX2xhdW5kcmV0dGUoKTsN CisJfQ0KIAlpZiAoYXRvbWljX2xvbmdfcmVhZCgmbmZzZF9maWxlY2FjaGVfY291bnQpID49IE5G U0RfRklMRV9MUlVfTElNSVQpDQogCQluZnNkX2ZpbGVfZ2MoKTsNCiB9DQpAQCAtMzI3LDYgKzMz Nyw3IEBAIG5mc2RfZmlsZV9kaXNwb3NlX2xpc3Qoc3RydWN0IGxpc3RfaGVhZCAqZGlzcG9zZSkN CiAJd2hpbGUoIWxpc3RfZW1wdHkoZGlzcG9zZSkpIHsNCiAJCW5mID0gbGlzdF9maXJzdF9lbnRy eShkaXNwb3NlLCBzdHJ1Y3QgbmZzZF9maWxlLCBuZl9scnUpOw0KIAkJbGlzdF9kZWwoJm5mLT5u Zl9scnUpOw0KKwkJbmZzZF9maWxlX2ZsdXNoKG5mKTsNCiAJCW5mc2RfZmlsZV9wdXRfbm9yZWYo bmYpOw0KIAl9DQogfQ0KQEAgLTM0MCw2ICszNTEsNyBAQCBuZnNkX2ZpbGVfZGlzcG9zZV9saXN0 X3N5bmMoc3RydWN0IGxpc3RfaGVhZCAqZGlzcG9zZSkNCiAJd2hpbGUoIWxpc3RfZW1wdHkoZGlz cG9zZSkpIHsNCiAJCW5mID0gbGlzdF9maXJzdF9lbnRyeShkaXNwb3NlLCBzdHJ1Y3QgbmZzZF9m aWxlLCBuZl9scnUpOw0KIAkJbGlzdF9kZWwoJm5mLT5uZl9scnUpOw0KKwkJbmZzZF9maWxlX2Zs dXNoKG5mKTsNCiAJCWlmICghcmVmY291bnRfZGVjX2FuZF90ZXN0KCZuZi0+bmZfcmVmKSkNCiAJ CQljb250aW51ZTsNCiAJCWlmIChuZnNkX2ZpbGVfZnJlZShuZikpDQotLSANCjIuMzUuMQ0KDQoN Cg0KLS0gDQpUcm9uZCBNeWtsZWJ1c3QNCkxpbnV4IE5GUyBjbGllbnQgbWFpbnRhaW5lciwgSGFt bWVyc3BhY2UNCnRyb25kLm15a2xlYnVzdEBoYW1tZXJzcGFjZS5jb20NCg0KDQo=