Received: by 2002:ab2:7a09:0:b0:1f8:46dc:890e with SMTP id k9csp183623lqo; Wed, 15 May 2024 11:04:38 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCWZWYSaQ0mxE9a7bQLDQ01SSH158Xrz9hcFN8cLhVCwmnr1PfHdIW4AXH5Z+pq4qYCpo9Lk0FvLwZpVPUjtQoY5gzgDijHCXcxguAc5fA== X-Google-Smtp-Source: AGHT+IFxtxPD9ILvm5sr8y0mXUYp0m09As1y37wQbbg21uWZnnvkYVRkFt60APaoPQxYMxDY6gFA X-Received: by 2002:a05:6a20:3956:b0:1ad:7e4f:9564 with SMTP id adf61e73a8af0-1afde0b725cmr25325271637.9.1715796278014; Wed, 15 May 2024 11:04:38 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1715796278; cv=pass; d=google.com; s=arc-20160816; b=BtUznz//3iyK7KMTsugw0XK0hvp01YylQ1N73Wv44Q3h+7HPOuZ5BnOQiuWsGqRt+a ZhUGHjmKT/QdqlE227wo1M9igvuSmN0QU8WYPGFNRirBEylXMSFQHIKGImf5q+NXGZU8 1VsdHOaMXIX/fHdMU4vSN2WGijhToL6bcPF8bGphi7HBfBDlDlxmv2LdHze7hGPjwOuw h1xgpswvG1/Oi51cVNcd3k/pjpExf8IKEJGxzcVN9WdqY8/x7XPdR1pxqR1dShDf9MyK ETVfmqHUATpigpkHHeY+eyCVa5WQGLLSIPENEqQbEeR8l3HqM+SyADDeUuFBG7U6zuQt P3ZA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=ui-outboundreport:content-transfer-encoding:mime-version :list-unsubscribe:list-subscribe:list-id:precedence:user-agent :references:in-reply-to:date:cc:to:from:subject:message-id :dkim-signature; bh=NJbsxUANiYJQAgs9Bd56/cyNkAcB7jHIQvFwIXDPj44=; fh=4g/LL2h2af1kx2ue6XkvLMSa4JzGZJ5Zxz+dvwne/sA=; b=nmJbBOIlPIfzyNX/Sk8gHKVkruORrqA8YqQjDeG5TS+0kmYt5we1tsF66HB53FZ5HU 8E7/7oqJkIFVzPnn3fNfdb4c7dg4OBEbrIuqKFqASbZ1fZul5pVjvaiX7XmVvCoW/CUR QnE/1SWjD8IOkrPTp6lzxqWBQPNXYhZfyXGAgJhI4QdRMAiB2wisrl35L4efYk9/hi6A Lxbij/l3S/WICgjTMXEd2fnbj0sQDMEABgF4cohEWmGt31W24z7lD0/h1HGO7c//NnDe SjENTenAk7pLLNCPdht6qCRuP4t3JUp4BxXAEtVBeQd7/K2xAdeycC3sC7qBnq+RY2Nt +8qw==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@gmx.de header.s=s31663417 header.b=AFJ2DOkW; arc=pass (i=1 spf=pass spfdomain=gmx.de dkim=pass dkdomain=gmx.de dmarc=pass fromdomain=gmx.de); spf=pass (google.com: domain of linux-kernel+bounces-180240-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-180240-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=gmx.de Return-Path: Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [2604:1380:45e3:2400::1]) by mx.google.com with ESMTPS id d2e1a72fcca58-6f67679b40csi390994b3a.2.2024.05.15.11.04.37 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 May 2024 11:04:38 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-180240-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) client-ip=2604:1380:45e3:2400::1; Authentication-Results: mx.google.com; dkim=pass header.i=@gmx.de header.s=s31663417 header.b=AFJ2DOkW; arc=pass (i=1 spf=pass spfdomain=gmx.de dkim=pass dkdomain=gmx.de dmarc=pass fromdomain=gmx.de); spf=pass (google.com: domain of linux-kernel+bounces-180240-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-180240-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=gmx.de Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id 9AB5D2847CD for ; Wed, 15 May 2024 18:04:37 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id D07B9158DB2; Wed, 15 May 2024 18:04:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmx.de header.i=efault@gmx.de header.b="AFJ2DOkW" Received: from mout.gmx.net (mout.gmx.net [212.227.17.21]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1AC06158845 for ; Wed, 15 May 2024 18:04:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=212.227.17.21 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715796262; cv=none; b=aYxcegW6UIPhp/uVLAO7R7y7O8NTMB8CMjLiusyJJJJVudSowDHlgkc1lcS2SHQGiVqbhJLabFntbcKIt98yMlVqHVriNmSXcdGRveF4lQ04atmCCwxLoO29eb7ujF+0J9YiWrj9LqTfXO/o5D396x77nWx5qplcyjo4iVDgz58= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715796262; c=relaxed/simple; bh=NJbsxUANiYJQAgs9Bd56/cyNkAcB7jHIQvFwIXDPj44=; h=Message-ID:Subject:From:To:Cc:Date:In-Reply-To:References: Content-Type:MIME-Version; b=bLavBqauuO9SOeBxsaZ5CAPHrQTqCueT3EFZrGnmlQuQO5az/i3jaW+1wXAGlSbj22LCtGPV04TLQWTlmH2UkS1A8JKZanjM4jxIfcGLSvJrLNDz/43Dj9mAYjQE6jguC2lZHPBUE7nJ6erSxiWLaeKLtlQMT1Uw/FveVAy7gMc= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=gmx.de; spf=pass smtp.mailfrom=gmx.de; dkim=pass (2048-bit key) header.d=gmx.de header.i=efault@gmx.de header.b=AFJ2DOkW; arc=none smtp.client-ip=212.227.17.21 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=gmx.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmx.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.de; s=s31663417; t=1715796211; x=1716401011; i=efault@gmx.de; bh=NJbsxUANiYJQAgs9Bd56/cyNkAcB7jHIQvFwIXDPj44=; h=X-UI-Sender-Class:Message-ID:Subject:From:To:Cc:Date:In-Reply-To: References:Content-Type:MIME-Version:Content-Transfer-Encoding:cc: content-transfer-encoding:content-type:date:from:message-id: mime-version:reply-to:subject:to; b=AFJ2DOkWpxKRq3OZE5zXMs0wH8pEGjKJ8InQKZ+cYBpe1fvFq6eWWMaWG5BF9DAF XjGFLx6QuznvNYoHRc5Igx1cWkxtA7Wu10zBO+iOqyntghABFdrM9Wa31yEqFrnCF 9uJ1IxHeyEIvLcJ1vVktSlNJk+N/7giNpW0DPxTUz/YyzZw8B/1tauin6Cagk7tKu GKgnmZylA1ZYyk2S/PHlxFmjGPSzSMvFXNsFlNslBj/BF9fHk5IJ87z87LPMQXUE1 pczDg4JFi55u9zxVOej7XYvMaaz8FpqRWQjvKqsZLvkjeAd7yFVYdcIjjs5bvFuLa 4uiM9nNw+FVmBFSSzg== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from homer.fritz.box ([185.146.51.110]) by mail.gmx.net (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MEV3C-1sNCCf04LK-00Fz29; Wed, 15 May 2024 20:03:31 +0200 Message-ID: Subject: Re: [RFC][PATCH 08/10] sched/fair: Implement delayed dequeue From: Mike Galbraith To: Peter Zijlstra , Luis Machado Cc: mingo@redhat.com, juri.lelli@redhat.com, vincent.guittot@linaro.org, dietmar.eggemann@arm.com, rostedt@goodmis.org, bsegall@google.com, mgorman@suse.de, bristot@redhat.com, vschneid@redhat.com, linux-kernel@vger.kernel.org, kprateek.nayak@amd.com, wuyun.abel@bytedance.com, tglx@linutronix.de, nd , John Stultz , Hongyan.Xia2@arm.com Date: Wed, 15 May 2024 20:03:29 +0200 In-Reply-To: <20240515114828.GO12673@noisy.programming.kicks-ass.net> References: <20240405110010.631664251@infradead.org> <3888d7c8-660e-479c-8c10-8295204e5f36@arm.com> <1461277e-af68-41e7-947c-9178b55810b1@arm.com> <20240425104220.GE21980@noisy.programming.kicks-ass.net> <20240425114949.GH12673@noisy.programming.kicks-ass.net> <20240426093241.GI12673@noisy.programming.kicks-ass.net> <2fba04b0-e55e-41f4-8b7a-723734fe1ad2@arm.com> <219b8b49-3767-4010-aa68-9e1cf66c2ccb@arm.com> <20240515093649.GF40213@noisy.programming.kicks-ass.net> <20240515114828.GO12673@noisy.programming.kicks-ass.net> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.42.4 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: base64 X-Provags-ID: V03:K1:FKngwJO9uF495Ce5GOKFJupMpHbyQLS42QZCsw3qBf1pIpRTie2 UGgyXzkGXC4mhFBecobnbyF0sw4wPIQWD178Ey8ji+Nn0IdY3NMGz+FeaVFkNJ+AqTzuznF qnN9Z+wNDl2YeUBezyA/AFqor6rEvEC6Eli7cqTaS6Nby22src/GBAU3VV7lO3Ibt6krgWV 46ZR75dE91soEzNsV56ww== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:fjHsrgumK7M=;nXvHczD13j41lsq1br0ShJsY6Sn eLu3QU5s/WPICQxvUe+SrFTlfB8QSOqcIQapk10deOZiGat4bQAEKZZap7mRYueAYedjgRTud WC4dEThmoWCVJbvASl0ahWdpmfPk4ls9I9YzC2J4S0WzaYIOM8BzhMO7cwbNR1uGhfWljUozw HWe7fpHHMc4Nk0aXfxJnFLtxLxJ58YqbGG5tvK5K6yjWkN0FC2ANMiBL434CRjLcwbxZgT1gP dzHmnHfCiT1DDc7s6f5U+X5w99vsSPLGaGItu7PHBxAy2pYiigeFLqR+UCa8mVsg0wD5llSjh twMCfnqgolv2UHbEKv7LYjBOWvsdpK++okIbY+dlXY25toLfFnK55MfBzlt9HWbqGb36RKHuF 3Po7IKhk84nv+KZWcjqvl3yh78OiyTa45Gf17Gb7ul1Mtg/0rQ7cdFyqSDtDj1JufWk4uINxM NfqOSO6v1qFIUtGUaUJTz9EjRIYl5CFnTvPoKmxov74WUN/REb2pFnNpDUSOPz+sSUqMojFco CFpjZa9fxG3Pu5PwEgP+cZP2w3KBNCxVjl/xC2+rTy+wOt4lCiJEeJ+eFF85+YqBwsk85z+GD YfmYefmIiaaFLRag/07O/0lxPsG+apgzEAVU85j+3XcYS9cpAUXnTwJruBxUr9hZaP9THjIHN 1EGt0Q/Nf/u5pQwcl4JDwJSkYJIf6syV5qYJdzTAB3NyFRnRgTykDp346JhTb2BRJGD4iOI1d 3/gWj76UzWDL/PEYgP+G3KbAfILLkLaP/+WhSvQAxkcLfo7W6cdzoZIfVKgGURhNvB0Edh9jX 8ti9n8bo775u5k8B6xRe9v2kAQ+RP1kAEWaOTZrqGEvKU= T24gV2VkLCAyMDI0LTA1LTE1IGF0IDEzOjQ4ICswMjAwLCBQZXRlciBaaWpsc3RyYSB3cm90ZToN Cj4gT24gV2VkLCBNYXkgMTUsIDIwMjQgYXQgMTE6MzY6NDlBTSArMDIwMCwgUGV0ZXIgWmlqbHN0 cmEgd3JvdGU6DQo+ID4gT24gRnJpLCBNYXkgMTAsIDIwMjQgYXQgMDM6NDk6NDZQTSArMDEwMCwg THVpcyBNYWNoYWRvIHdyb3RlOg0KPiA+ID4gSnVzdCBhIHF1aWNrIHVwZGF0ZSBvbiB0aGlzLiBX aGlsZSBpbnZlc3RpZ2F0aW5nIHRoaXMgYmVoYXZpb3IsIEkNCj4gPiA+IHNwb3R0ZWQgdmVyeSBo aWdoIGxvYWRhdmcgdmFsdWVzIG9uIGFuIGlkbGUgc3lzdGVtLiBGb3IgaW5zdGFuY2U6DQo+ID4g PiANCj4gPiA+IGxvYWQgYXZlcmFnZTogNDczMy44NCwgNDcyMS4yNCwgNDY4MC4zMw0KPiA+ID4g DQo+ID4gPiBJIHdvbmRlciBpZiBzb21lb25lIGVsc2UgYWxzbyBzcG90dGVkIHRoaXMuDQo+ID4g DQo+ID4gSGFkbid0IHNwb3R0ZWQgaXQsIGJ1dCBub3cgdGhhdCB5b3UgbWVudGlvbiBpdCwgSSBj YW4gZGVmaW5pdGVseSBzZWUgaXQuDQoNCihkaXR0by4uIHdhcnQgbm90IGVub3Jtb3VzIGVub3Vn aCBmb3IgYXdlc29tZSBwb3dlcnMgb2Ygb2JzZXJ2YXRpb246KQ0KDQo+ID4gDQo+ID4gTGV0IG1l IGdvIHByb2Qgd2l0aCBzb21ldGhpbmcgc2hhcnAuIFRoYW5rcyENCj4gDQo+IFdoYXQncyB0aGUg cG9pbnQgb2YgbWFraW5nIG5vdGVzIGlmIHlvdSB0aGVuIGRvbid0IHJlYWQgdGhlbS4uLiAqc2ln aCouDQo+IA0KPiBEb2VzIHRoaXMgaGVscD8NCg0KVGhhdCBmaXhlZCBpdCB1cCBoZXJlLg0KDQo+ IC0tLQ0KPiDCoGtlcm5lbC9zY2hlZC9jb3JlLmPCoCB8IDIzICsrKysrKysrKysrKy0tLS0tLS0t LS0tDQo+IMKga2VybmVsL3NjaGVkL2ZhaXIuY8KgIHzCoCA0ICsrLS0NCj4gwqBrZXJuZWwvc2No ZWQvc2NoZWQuaCB8wqAgOCArKysrKysrKw0KPiDCoDMgZmlsZXMgY2hhbmdlZCwgMjIgaW5zZXJ0 aW9ucygrKSwgMTMgZGVsZXRpb25zKC0pDQo+IA0KPiBkaWZmIC0tZ2l0IGEva2VybmVsL3NjaGVk L2NvcmUuYyBiL2tlcm5lbC9zY2hlZC9jb3JlLmMNCj4gaW5kZXggNWZmZDdlMDQ3MzkzLi40M2Yw NjFiY2ZlNTQgMTAwNjQ0DQo+IC0tLSBhL2tlcm5lbC9zY2hlZC9jb3JlLmMNCj4gKysrIGIva2Vy bmVsL3NjaGVkL2NvcmUuYw0KPiBAQCAtMjE1NCwxNCArMjE1NCwxOCBAQCB2b2lkIGFjdGl2YXRl X3Rhc2soc3RydWN0IHJxICpycSwgc3RydWN0IHRhc2tfc3RydWN0ICpwLCBpbnQgZmxhZ3MpDQo+ IMKgDQo+IMKgdm9pZCBkZWFjdGl2YXRlX3Rhc2soc3RydWN0IHJxICpycSwgc3RydWN0IHRhc2tf c3RydWN0ICpwLCBpbnQgZmxhZ3MpDQo+IMKgew0KPiAtwqDCoMKgwqDCoMKgwqBib29sIHNsZWVw ID0gZmxhZ3MgJiBERVFVRVVFX1NMRUVQOw0KPiArwqDCoMKgwqDCoMKgwqBTQ0hFRF9XQVJOX09O KGZsYWdzICYgREVRVUVVRV9TTEVFUCk7DQo+IMKgDQo+IC3CoMKgwqDCoMKgwqDCoGlmIChkZXF1 ZXVlX3Rhc2socnEsIHAsIGZsYWdzKSkgew0KPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgV1JJVEVfT05DRShwLT5vbl9ycSwgc2xlZXAgPyAwIDogVEFTS19PTl9SUV9NSUdSQVRJTkcp Ow0KPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgQVNTRVJUX0VYQ0xVU0lWRV9XUklU RVIocC0+b25fcnEpOw0KPiAtwqDCoMKgwqDCoMKgwqB9IGVsc2Ugew0KPiAtwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgU0NIRURfV0FSTl9PTighc2xlZXApOyAvKiBvbmx5IHNsZWVwIGNh biBmYWlsICovDQo+IC3CoMKgwqDCoMKgwqDCoH0NCj4gK8KgwqDCoMKgwqDCoMKgZGVxdWV1ZV90 YXNrKHJxLCBwLCBmbGFncyk7DQo+ICsNCj4gK8KgwqDCoMKgwqDCoMKgV1JJVEVfT05DRShwLT5v bl9ycSwgVEFTS19PTl9SUV9NSUdSQVRJTkcpOw0KPiArwqDCoMKgwqDCoMKgwqBBU1NFUlRfRVhD TFVTSVZFX1dSSVRFUihwLT5vbl9ycSk7DQo+ICt9DQo+ICsNCj4gK3N0YXRpYyB2b2lkIGJsb2Nr X3Rhc2soc3RydWN0IHJxICpycSwgc3RydWN0IHRhc2tfc3RydWN0ICpwLCBpbnQgZmxhZ3MpDQo+ ICt7DQo+ICvCoMKgwqDCoMKgwqDCoGlmIChkZXF1ZXVlX3Rhc2socnEsIHAsIERFUVVFVUVfU0xF RVAgfCBmbGFncykpDQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBfX2Jsb2NrX3Rh c2socnEsIHApOw0KPiDCoH0NCj4gwqANCj4gwqBzdGF0aWMgaW5saW5lIGludCBfX25vcm1hbF9w cmlvKGludCBwb2xpY3ksIGludCBydF9wcmlvLCBpbnQgbmljZSkNCj4gQEAgLTY2OTMsOSArNjY5 Nyw2IEBAIHN0YXRpYyB2b2lkIF9fc2NoZWQgbm90cmFjZSBfX3NjaGVkdWxlKHVuc2lnbmVkIGlu dCBzY2hlZF9tb2RlKQ0KPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIShwcmV2X3N0YXRlICYgVEFTS19OT0xPQUQpICYmDQo+ IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAhKHByZXZfc3RhdGUgJiBUQVNLX0ZST1pFTik7DQo+IMKgDQo+IC3CoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaWYgKHByZXYtPnNjaGVkX2NvbnRy aWJ1dGVzX3RvX2xvYWQpDQo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHJxLT5ucl91bmludGVycnVwdGlibGUrKzsNCj4gLQ0K PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAvKg0KPiDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKiBfX3NjaGVk dWxlKCnCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgdHR3dSgpDQo+IMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAqwqDCoCBwcmV2X3N0YXRl ID0gcHJldi0+c3RhdGU7wqDCoMKgIGlmIChwLT5vbl9ycSAmJiAuLi4pDQo+IEBAIC02NzA3LDcg KzY3MDgsNyBAQCBzdGF0aWMgdm9pZCBfX3NjaGVkIG5vdHJhY2UgX19zY2hlZHVsZSh1bnNpZ25l ZCBpbnQgc2NoZWRfbW9kZSkNCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgICoNCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgICogQWZ0ZXIgdGhpcywgc2NoZWR1bGUoKSBtdXN0IG5vdCBjYXJlIGFib3V0IHAt PnN0YXRlIGFueSBtb3JlLg0KPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgKi8NCj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqBkZWFjdGl2YXRlX3Rhc2socnEsIHByZXYsIERFUVVFVUVfU0xFRVAgfCBERVFVRVVF X05PQ0xPQ0spOw0KPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoGJsb2NrX3Rhc2socnEsIHByZXYsIERFUVVFVUVfU0xFRVAgfCBERVFVRVVFX05PQ0xPQ0sp Ow0KPiDCoA0KPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqBpZiAocHJldi0+aW5faW93YWl0KSB7DQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBhdG9taWNfaW5jKCZycS0+bnJfaW93 YWl0KTsNCj4gZGlmZiAtLWdpdCBhL2tlcm5lbC9zY2hlZC9mYWlyLmMgYi9rZXJuZWwvc2NoZWQv ZmFpci5jDQo+IGluZGV4IDUzNmVhYmNiMWE3MS4uNTk2YTVmYWJlNDkwIDEwMDY0NA0KPiAtLS0g YS9rZXJuZWwvc2NoZWQvZmFpci5jDQo+ICsrKyBiL2tlcm5lbC9zY2hlZC9mYWlyLmMNCj4gQEAg LTcwMzIsOCArNzAzMiw4IEBAIHN0YXRpYyBpbnQgZGVxdWV1ZV9lbnRpdGllcyhzdHJ1Y3QgcnEg KnJxLCBzdHJ1Y3Qgc2NoZWRfZW50aXR5ICpzZSwgaW50IGZsYWdzKQ0KPiDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB1dGlsX2VzdF91cGRhdGUoJnJxLT5j ZnMsIHAsIHRhc2tfc2xlZXApOw0KPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqBocnRpY2tfdXBkYXRlKHJxKTsNCj4gwqANCj4gLcKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAvKiBGaXgtdXAgd2hhdCBkZWFjdGl2YXRl X3Rhc2soKSBza2lwcGVkLiAqLw0KPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoFdSSVRFX09OQ0UocC0+b25fcnEsIDApOw0KPiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoC8qIEZpeC11cCB3aGF0IGJsb2NrX3Rhc2so KSBza2lwcGVkLiAqLw0KPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoF9fYmxvY2tfdGFzayhycSwgcCk7DQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgfQ0KPiDCoMKgwqDCoMKgwqDCoMKgfQ0KPiDCoA0KPiBkaWZmIC0tZ2l0IGEva2VybmVs L3NjaGVkL3NjaGVkLmggYi9rZXJuZWwvc2NoZWQvc2NoZWQuaA0KPiBpbmRleCAxMjg0MWQ4MTk1 YzUuLjQ4ZTVmNDlkOWJjMiAxMDA2NDQNCj4gLS0tIGEva2VybmVsL3NjaGVkL3NjaGVkLmgNCj4g KysrIGIva2VybmVsL3NjaGVkL3NjaGVkLmgNCj4gQEAgLTI1NjAsNiArMjU2MCwxNCBAQCBzdGF0 aWMgaW5saW5lIHZvaWQgc3ViX25yX3J1bm5pbmcoc3RydWN0IHJxICpycSwgdW5zaWduZWQgY291 bnQpDQo+IMKgwqDCoMKgwqDCoMKgwqBzY2hlZF91cGRhdGVfdGlja19kZXBlbmRlbmN5KHJxKTsN Cj4gwqB9DQo+IMKgDQo+ICtzdGF0aWMgaW5saW5lIHZvaWQgX19ibG9ja190YXNrKHN0cnVjdCBy cSAqcnEsIHN0cnVjdCB0YXNrX3N0cnVjdCAqcCkNCj4gK3sNCj4gK8KgwqDCoMKgwqDCoMKgV1JJ VEVfT05DRShwLT5vbl9ycSwgMCk7DQo+ICvCoMKgwqDCoMKgwqDCoEFTU0VSVF9FWENMVVNJVkVf V1JJVEVSKHAtPm9uX3JxKTsNCj4gK8KgwqDCoMKgwqDCoMKgaWYgKHAtPnNjaGVkX2NvbnRyaWJ1 dGVzX3RvX2xvYWQpDQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBycS0+bnJfdW5p bnRlcnJ1cHRpYmxlKys7DQo+ICt9DQo+ICsNCj4gwqBleHRlcm4gdm9pZCBhY3RpdmF0ZV90YXNr KHN0cnVjdCBycSAqcnEsIHN0cnVjdCB0YXNrX3N0cnVjdCAqcCwgaW50IGZsYWdzKTsNCj4gwqBl eHRlcm4gdm9pZCBkZWFjdGl2YXRlX3Rhc2soc3RydWN0IHJxICpycSwgc3RydWN0IHRhc2tfc3Ry dWN0ICpwLCBpbnQgZmxhZ3MpOw0KPiDCoA0KDQo=