From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mail.toke.dk (Postfix) with ESMTPS id D4C379AFF4F for ; Fri, 28 Oct 2022 12:37:20 +0200 (CEST) Authentication-Results: mail.toke.dk; dkim=pass (1024-bit key; unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=gGFy3yPm DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1666953439; h=from:from: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:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=rQlWIN7d57RONqQ/e3CUzK190bnqtzPjHOTosJNCfJ4=; b=gGFy3yPmeo3lq5o+otvkZ/Wo4l7YMp1aP97qlEXE80B/MEjzULvz3fYuc7euYOiP2v81ya EYf2gb6M79Jn/pyjutAhLQ336KGFZ0o3+T6adw5lKcI6nB9lIcM5quv6I/tp5UO6wqziqL cdCyOwQudU5HkSPP7FdqSAksXQYazVg= Received: from mail-ej1-f71.google.com (mail-ej1-f71.google.com [209.85.218.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-471-ZRtWRFg_Mouz_iaj4RGzrA-1; Fri, 28 Oct 2022 06:37:18 -0400 X-MC-Unique: ZRtWRFg_Mouz_iaj4RGzrA-1 Received: by mail-ej1-f71.google.com with SMTP id he6-20020a1709073d8600b0078e20190301so2594109ejc.22 for ; Fri, 28 Oct 2022 03:37:18 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:in-reply-to:references:to :content-language:subject:cc:user-agent:mime-version:date:message-id :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=rQlWIN7d57RONqQ/e3CUzK190bnqtzPjHOTosJNCfJ4=; b=jfHClXwHX+wGIPsLw86wADlPEY4wbbUnIBk4/CsIMUb/03Uhr21JkVX+MYDKaZ0dOZ KtxaxX6P6c3HQH+ZjWOZyxqVOFV4DubEFatKEYl6UKx6YTBykpLGBeIu/IsKgx5Iv4X5 /9oFZDZwyQUfj3r40L0LxBbT4aPxhNbH+Novo1Cg6Hx4fD1vltq7djfGw0+mLKr2X3FZ mMfbT1N4UqLkaC+Whq689ElYr9VJm9POoUUoygLkoyclDiFoUkd3aVhWj/w7L+VMiF4I 0d+1dYAzqyteT1UBeimxRWzDT4BmX3NuRTuJAyZsoPjhnMa4soPbbxalYKSc3QV+4Wb2 ZnXQ== X-Gm-Message-State: ACrzQf0z1r9E7D6mzcl/Al0vb0b7xp+Cq5UhU1M99hEn56qVbuoJHVCk yYEN8Qhbrwv23oGCGZ1CM26QigR65JvRiaEwbwhV0bytoliB/R8zYpZXhB/e63PjzkCC+y88gXE +U4yvggPD6PkVaOATE4ha X-Received: by 2002:a05:6402:496:b0:443:a5f5:d3b with SMTP id k22-20020a056402049600b00443a5f50d3bmr51671285edv.331.1666953437171; Fri, 28 Oct 2022 03:37:17 -0700 (PDT) X-Google-Smtp-Source: AMsMyM5uTFGVbbkxX7P5NzYfu2FbthkGa0Xbcx4RUw8v8EnATeCMfvmoC6hTxlmMZASEebuYKgB7aw== X-Received: by 2002:a05:6402:496:b0:443:a5f5:d3b with SMTP id k22-20020a056402049600b00443a5f50d3bmr51671268edv.331.1666953436969; Fri, 28 Oct 2022 03:37:16 -0700 (PDT) Received: from [192.168.41.200] (83-90-141-187-cable.dk.customer.tdc.net. [83.90.141.187]) by smtp.gmail.com with ESMTPSA id ds12-20020a0564021ccc00b00461aebb2fe2sm2426729edb.54.2022.10.28.03.37.14 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 28 Oct 2022 03:37:16 -0700 (PDT) From: Jesper Dangaard Brouer X-Google-Original-From: Jesper Dangaard Brouer Message-ID: <1885bc0c-1929-53ba-b6f8-ace2393a14df@redhat.com> Date: Fri, 28 Oct 2022 12:37:14 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.3.1 To: Martin KaFai Lau , Stanislav Fomichev References: <20221027200019.4106375-1-sdf@google.com> <20221027200019.4106375-6-sdf@google.com> <31f3aa18-d368-9738-8bb5-857cd5f2c5bf@linux.dev> In-Reply-To: <31f3aa18-d368-9738-8bb5-857cd5f2c5bf@linux.dev> X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-US Content-Type: text/plain; charset="utf-8"; format="flowed" Content-Transfer-Encoding: base64 Message-ID-Hash: 6LFGYJZCSSEXXAO5PD6OTWDG3LY2DKYZ X-Message-ID-Hash: 6LFGYJZCSSEXXAO5PD6OTWDG3LY2DKYZ X-MailFrom: jbrouer@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: brouer@redhat.com, ast@kernel.org, daniel@iogearbox.net, andrii@kernel.org, song@kernel.org, yhs@fb.com, john.fastabend@gmail.com, kpsingh@kernel.org, haoluo@google.com, jolsa@kernel.org, Jakub Kicinski , Willem de Bruijn , Anatoly Burakov , Alexander Lobakin , Magnus Karlsson , Maryam Tahhan , xdp-hints@xdp-project.net, netdev@vger.kernel.org, bpf@vger.kernel.org X-Mailman-Version: 3.3.5 Precedence: list Subject: [xdp-hints] Re: [RFC bpf-next 5/5] selftests/bpf: Test rx_timestamp metadata in xskxceiver List-Id: XDP hardware hints design discussion Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: DQpPbiAyOC8xMC8yMDIyIDA4LjIyLCBNYXJ0aW4gS2FGYWkgTGF1IHdyb3RlOg0KPiBPbiAxMC8y Ny8yMiAxOjAwIFBNLCBTdGFuaXNsYXYgRm9taWNoZXYgd3JvdGU6DQo+PiBFeGFtcGxlIG9uIGhv dyB0aGUgbWV0YWRhdGEgaXMgcHJlcGFyZWQgZnJvbSB0aGUgQlBGIGNvbnRleHQNCj4+IGFuZCBj b25zdW1lZCBieSBBRl9YRFA6DQo+Pg0KPj4gLSBicGZfeGRwX21ldGFkYXRhX2hhdmVfcnhfdGlt ZXN0YW1wIHRvIHRlc3Qgd2hldGhlciBpdCdzIHN1cHBvcnRlZDsNCj4+IMKgwqAgaWYgbm90LCBJ J20gYXNzdW1pbmcgdmVyaWZpZXIgd2lsbCByZW1vdmUgdGhpcyAiaWYgKDApIiBicmFuY2gNCj4+ IC0gYnBmX3hkcF9tZXRhZGF0YV9yeF90aW1lc3RhbXAgcmV0dXJucyBhIF9jb3B5XyBvZiBtZXRh ZGF0YTsNCj4+IMKgwqAgdGhlIHByb2dyYW0gaGFzIHRvIGJwZl94ZHBfYWRqdXN0X21ldGErbWVt Y3B5IGl0Ow0KPj4gwqDCoCBtYXliZSByZXR1cm5pbmcgYSBwb2ludGVyIGlzIGJldHRlcj8NCj4+ IC0gYWZfeGRwIGNvbnN1bWVyIGdyYWJzIGl0IGZyb20gZGF0YS08ZXhwZWN0ZWRfbWV0YWRhdGFf b2Zmc2V0PiBhbmQNCj4+IMKgwqAgbWFrZXMgc3VyZSB0aW1lc3RhbXAgaXMgbm90IGVtcHR5DQo+ PiAtIHdoZW4gbG9hZGluZyB0aGUgcHJvZ3JhbSwgd2UgcGFzcyBCUEZfRl9YRFBfSEFTX01FVEFE QVRBK3Byb2dfaWZpbmRleA0KPj4NCj4+IENjOiBNYXJ0aW4gS2FGYWkgTGF1IDxtYXJ0aW4ubGF1 QGxpbnV4LmRldj4NCj4+IENjOiBKYWt1YiBLaWNpbnNraSA8a3ViYUBrZXJuZWwub3JnPg0KPj4g Q2M6IFdpbGxlbSBkZSBCcnVpam4gPHdpbGxlbWJAZ29vZ2xlLmNvbT4NCj4+IENjOiBKZXNwZXIg RGFuZ2FhcmQgQnJvdWVyIDxicm91ZXJAcmVkaGF0LmNvbT4NCj4+IENjOiBBbmF0b2x5IEJ1cmFr b3YgPGFuYXRvbHkuYnVyYWtvdkBpbnRlbC5jb20+DQo+PiBDYzogQWxleGFuZGVyIExvYmFraW4g PGFsZXhhbmRyLmxvYmFraW5AaW50ZWwuY29tPg0KPj4gQ2M6IE1hZ251cyBLYXJsc3NvbiA8bWFn bnVzLmthcmxzc29uQGdtYWlsLmNvbT4NCj4+IENjOiBNYXJ5YW0gVGFoaGFuIDxtdGFoaGFuQHJl ZGhhdC5jb20+DQo+PiBDYzogeGRwLWhpbnRzQHhkcC1wcm9qZWN0Lm5ldA0KPj4gQ2M6IG5ldGRl dkB2Z2VyLmtlcm5lbC5vcmcNCj4+IFNpZ25lZC1vZmYtYnk6IFN0YW5pc2xhdiBGb21pY2hldiA8 c2RmQGdvb2dsZS5jb20+DQo+PiAtLS0NCj4+IMKgIC4uLi90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYv cHJvZ3MveHNreGNlaXZlci5jwqAgfCAyMiArKysrKysrKysrKysrKysrKysNCj4+IMKgIHRvb2xz L3Rlc3Rpbmcvc2VsZnRlc3RzL2JwZi94c2t4Y2VpdmVyLmPCoMKgwqDCoMKgIHwgMjMgKysrKysr KysrKysrKysrKysrLQ0KPj4gwqAgMiBmaWxlcyBjaGFuZ2VkLCA0NCBpbnNlcnRpb25zKCspLCAx IGRlbGV0aW9uKC0pDQo+Pg0KPj4gZGlmZiAtLWdpdCBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3Rz L2JwZi9wcm9ncy94c2t4Y2VpdmVyLmMgDQo+PiBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL2Jw Zi9wcm9ncy94c2t4Y2VpdmVyLmMNCj4+IGluZGV4IGIxMzVkYWRkYWQzYS4uODNjODc5YWEzNTgx IDEwMDY0NA0KPj4gLS0tIGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3hza3hj ZWl2ZXIuYw0KPj4gKysrIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBmL3Byb2dzL3hza3hj ZWl2ZXIuYw0KPj4gQEAgLTEyLDkgKzEyLDMxIEBAIHN0cnVjdCB7DQo+PiDCoMKgwqDCoMKgIF9f dHlwZSh2YWx1ZSwgX191MzIpOw0KPj4gwqAgfSB4c2sgU0VDKCIubWFwcyIpOw0KPj4gK2V4dGVy biBpbnQgYnBmX3hkcF9tZXRhZGF0YV9oYXZlX3J4X3RpbWVzdGFtcChzdHJ1Y3QgeGRwX21kICpj dHgpIA0KPj4gX19rc3ltOw0KPj4gK2V4dGVybiBfX3UzMiBicGZfeGRwX21ldGFkYXRhX3J4X3Rp bWVzdGFtcChzdHJ1Y3QgeGRwX21kICpjdHgpIF9fa3N5bTsNCj4+ICsNCj4+IMKgIFNFQygieGRw IikNCj4+IMKgIGludCByeChzdHJ1Y3QgeGRwX21kICpjdHgpDQo+PiDCoCB7DQo+PiArwqDCoMKg IHZvaWQgKmRhdGEsICpkYXRhX21ldGE7DQo+PiArwqDCoMKgIF9fdTMyIHJ4X3RpbWVzdGFtcDsN Cj4+ICvCoMKgwqAgaW50IHJldDsNCj4+ICsNCj4+ICvCoMKgwqAgaWYgKGJwZl94ZHBfbWV0YWRh dGFfaGF2ZV9yeF90aW1lc3RhbXAoY3R4KSkgew0KDQpJbiBjdXJyZW50IHZldGggaW1wbGVtZW50 YXRpb24sIGJwZl94ZHBfbWV0YWRhdGFfaGF2ZV9yeF90aW1lc3RhbXAoKQ0Kd2lsbCBhbHdheXMg cmV0dXJuIHRydWUgaGVyZS4NCg0KSW4gdGhlIGNhc2Ugb2YgaGFyZHdhcmUgdGltZXN0YW1wcywg bm90IGV2ZXJ5IHBhY2tldCB3aWxsIGNvbnRhaW4gYSANCmhhcmR3YXJlIHRpbWVzdGFtcC4gIChT ZWUgbXkvTWFyeWFtIGl4Z2JlIHBhdGNoLCB3aGVyZSB0aW1lc3RhbXBzIGFyZSANCnJlYWQgdmlh IEhXIGRldmljZSByZWdpc3Rlciwgd2hpY2ggaXNuJ3QgZmFzdCwgYW5kIEhXIG9ubHkgc3VwcG9y dCB0aGlzIA0KZm9yIHRpbWVzeW5jIHByb3RvY29scyBsaWtlIFBUUCkuDQoNCkhvdyBkbyB5b3Ug aW1hZ2luZSB3ZSBjYW4gZXh0ZW5kIHRoaXM/DQoNCj4+ICvCoMKgwqDCoMKgwqDCoCByZXQgPSBi cGZfeGRwX2FkanVzdF9tZXRhKGN0eCwgLShpbnQpc2l6ZW9mKF9fdTMyKSk7DQoNCklNSE8gc2l6 ZW9mKCkgc2hvdWxkIGNvbWUgZnJvbSBhIHN0cnVjdCBkZXNjcmliaW5nIGRhdGFfbWV0YSBhcmVh IHNlZToNCiANCmh0dHBzOi8vZ2l0aHViLmNvbS94ZHAtcHJvamVjdC9icGYtZXhhbXBsZXMvYmxv Yi9tYXN0ZXIvQUZfWERQLWludGVyYWN0aW9uL2FmX3hkcF9rZXJuLmMjTDYyDQoNCg0KPj4gK8Kg wqDCoMKgwqDCoMKgIGlmIChyZXQgIT0gMCkNCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJl dHVybiBYRFBfRFJPUDsNCj4+ICsNCj4+ICvCoMKgwqDCoMKgwqDCoCBkYXRhID0gKHZvaWQgKiko bG9uZyljdHgtPmRhdGE7DQo+PiArwqDCoMKgwqDCoMKgwqAgZGF0YV9tZXRhID0gKHZvaWQgKiko bG9uZyljdHgtPmRhdGFfbWV0YTsNCj4+ICsNCj4+ICvCoMKgwqDCoMKgwqDCoCBpZiAoZGF0YV9t ZXRhICsgc2l6ZW9mKF9fdTMyKSA+IGRhdGEpDQo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBy ZXR1cm4gWERQX0RST1A7DQo+PiArDQo+PiArwqDCoMKgwqDCoMKgwqAgcnhfdGltZXN0YW1wID0g YnBmX3hkcF9tZXRhZGF0YV9yeF90aW1lc3RhbXAoY3R4KTsNCj4+ICvCoMKgwqDCoMKgwqDCoCBf X2J1aWx0aW5fbWVtY3B5KGRhdGFfbWV0YSwgJnJ4X3RpbWVzdGFtcCwgc2l6ZW9mKF9fdTMyKSk7 DQoNClNvLCB0aGlzIGFwcHJvYWNoIGZpcnN0IHN0b3JlcyBoaW50cyBvbiBzb21lIG90aGVyIG1l bW9yeSBsb2NhdGlvbiwgYW5kIA0KdGhlbiBuZWVkIHRvIGNvcHkgb3ZlciBpbmZvcm1hdGlvbiBp bnRvIGRhdGFfbWV0YSBhcmVhLiBUaGF0IGlzbid0IGdvb2QgDQpmcm9tIGEgcGVyZm9ybWFuY2Ug cGVyc3BlY3RpdmUuDQoNCk15IGlkZWEgaXMgdG8gc3RvcmUgaXQgaW4gdGhlIGZpbmFsIGRhdGFf bWV0YSBkZXN0aW5hdGlvbiBpbW1lZGlhdGVseS4NCg0KRG8gbm90aWNlIHRoYXQgaW4gbXkgYXBw cm9hY2gsIHRoZSBleGlzdGluZyBldGh0b29sIGNvbmZpZyBzZXR0aW5nIGFuZCANCnNvY2tldCBv cHRpb25zIChmb3IgdGltZXN0YW1wcykgc3RpbGwgYXBwbHkuICBUaHVzLCBlYWNoIGluZGl2aWR1 YWwgDQpoYXJkd2FyZSBoaW50IGFyZSBhbHJlYWR5IGNvbmZpZ3VyYWJsZS4gVGh1cyB3ZSBhbHJl YWR5IGhhdmUgYSBjb25maWcgDQppbnRlcmZhY2UuIEkgZG8gYWNrbm93bGVkZ2UsIHRoYXQgaW4t Y2FzZSBhIGZlYXR1cmUgaXMgZGlzYWJsZWQgaXQgc3RpbGwgDQp0YWtlcyB1cCBzcGFjZSBpbiBk YXRhX21ldGEgYXJlYXMsIGJ1dCBpbXBvcnRhbnRseSBpdCBpcyBOT1Qgc3RvcmVkIGludG8gDQp0 aGUgYXJlYSAoZm9yIHBlcmZvcm1hbmNlIHJlYXNvbnMpLg0KDQoNCj4+ICvCoMKgwqAgfQ0KPiAN Cj4gVGhhbmtzIGZvciB0aGUgcGF0Y2hlcy7CoCBJIHRvb2sgYSBxdWljayBsb29rIGF0IHBhdGNo IDEgYW5kIDIgYnV0IA0KPiBoYXZlbid0IGhhZCBhIGNoYW5jZSB0byBsb29rIGF0IHRoZSBpbXBs ZW1lbnRhdGlvbiBkZXRhaWxzIChlZy4gDQo+IEtGX1VOUk9MTC4uLmV0YyksIHlldC4NCj4gDQoN ClllcywgdGhhbmtzIGZvciB0aGUgcGF0Y2hlcywgZXZlbi10aG91Z2ggSSBkb24ndCBhZ3JlZSB3 aXRoIHRoZQ0KYXBwcm9hY2gsIGF0LWxlYXN0IHVudGlsIG15IGNvbmNlcm5zL3VzZS1jYXNlIGNh biBiZSByZXNvbHZlZC4NCklNSE8gdGhlIGJlc3Qgd2F5IHRvIGNvbnZpbmNlIHBlb3BsZSBpcyB0 aHJvdWdoIGNvZGUuIFNvLCB0aGFuayB5b3UgZm9yDQp0aGUgZWZmb3J0LiAgSG9wZWZ1bGx5IHdl IGNhbiB1c2Ugc29tZSBvZiB0aGVzZSBpZGVhcyBhbmQgSSBjYW4gYWxzbw0KY2hhbmdlL2FkanVz dCBteSBYRFAtaGludHMgaWRlYXMgdG8gaW5jb3Jwb3JhdGUgc29tZSBvZiB0aGlzIDotKQ0KDQoN Cj4gT3ZlcmFsbCAod2l0aCB0aGUgZXhhbXBsZSBoZXJlKSBsb29rcyBwcm9taXNpbmcuwqAgVGhl cmUgaXMgYSBsb3Qgb2YgDQo+IGZsZXhpYmlsaXR5IG9uIHdoZXRoZXIgdGhlIHhkcCBwcm9nIG5l ZWRzIGFueSBoaW50IGF0IGFsbCwgd2hpY2ggaGludCBpdCANCj4gbmVlZHMsIGFuZCBob3cgdG8g c3RvcmUgaXQuDQo+IA0KDQpJIGRvIHNlZSB0aGUgYWR2YW50YWdlIHRoYXQgWERQIHByb2cgb25s eSBwb3B1bGF0ZXMgbWV0YWRhdGEgaXQgbmVlZHMuDQpCdXQgaG93IGNhbiB3ZSB1c2UvYWNjZXNz IHRoaXMgaW4gX194ZHBfYnVpbGRfc2tiX2Zyb21fZnJhbWUoKSA/DQoNCg0KPj4gKw0KPj4gwqDC oMKgwqDCoCByZXR1cm4gYnBmX3JlZGlyZWN0X21hcCgmeHNrLCBjdHgtPnJ4X3F1ZXVlX2luZGV4 LCBYRFBfUEFTUyk7DQo+PiDCoCB9DQo+PiBkaWZmIC0tZ2l0IGEvdG9vbHMvdGVzdGluZy9zZWxm dGVzdHMvYnBmL3hza3hjZWl2ZXIuYyANCj4+IGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvYnBm L3hza3hjZWl2ZXIuYw0KPj4gaW5kZXggMDY2YmQ2OTFkYjEzLi5jZTgyYzg5YTQzMmUgMTAwNjQ0 DQo+PiAtLS0gYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYveHNreGNlaXZlci5jDQo+PiAr KysgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9icGYveHNreGNlaXZlci5jDQo+PiBAQCAtODcx LDcgKzg3MSw5IEBAIHN0YXRpYyBib29sIGlzX29mZnNldF9jb3JyZWN0KHN0cnVjdCB4c2tfdW1l bV9pbmZvIA0KPj4gKnVtZW0sIHN0cnVjdCBwa3Rfc3RyZWFtICpwa3QNCj4+IMKgIHN0YXRpYyBi b29sIGlzX3BrdF92YWxpZChzdHJ1Y3QgcGt0ICpwa3QsIHZvaWQgKmJ1ZmZlciwgdTY0IGFkZHIs IA0KPj4gdTMyIGxlbikNCj4+IMKgIHsNCj4+IMKgwqDCoMKgwqAgdm9pZCAqZGF0YSA9IHhza191 bWVtX19nZXRfZGF0YShidWZmZXIsIGFkZHIpOw0KPj4gK8KgwqDCoCB2b2lkICpkYXRhX21ldGEg PSBkYXRhIC0gc2l6ZW9mKF9fdTMyKTsNCj4+IMKgwqDCoMKgwqAgc3RydWN0IGlwaGRyICppcGhk ciA9IChzdHJ1Y3QgaXBoZHIgKikoZGF0YSArIHNpemVvZihzdHJ1Y3QgDQo+PiBldGhoZHIpKTsN Cj4+ICvCoMKgwqAgX191MzIgcnhfdGltZXN0YW1wID0gMDsNCj4+IMKgwqDCoMKgwqAgaWYgKCFw a3QpIHsNCj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBrc2Z0X3ByaW50X21zZygiWyVzXSB0b28gbWFu eSBwYWNrZXRzIHJlY2VpdmVkXG4iLCBfX2Z1bmNfXyk7DQo+PiBAQCAtOTA3LDYgKzkwOSwxMyBA QCBzdGF0aWMgYm9vbCBpc19wa3RfdmFsaWQoc3RydWN0IHBrdCAqcGt0LCB2b2lkIA0KPj4gKmJ1 ZmZlciwgdTY0IGFkZHIsIHUzMiBsZW4pDQo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuIGZh bHNlOw0KPj4gwqDCoMKgwqDCoCB9DQo+PiArwqDCoMKgIG1lbWNweSgmcnhfdGltZXN0YW1wLCBk YXRhX21ldGEsIHNpemVvZihyeF90aW1lc3RhbXApKTsNCg0KSSBhY2tub3dsZWRnZSB0aGF0IGl0 IGlzIHRvbyBleHRlbnNpdmUgdG8gYWRkIHRvIHRoaXMgcGF0Y2gsIGJ1dCBpbiBteSANCkFGX1hE UC1pbnRlcmFjdGlvbiBleGFtcGxlWzFdLCBJJ20gY3JlYXRpbmcgYSBzdHJ1Y3QgeGRwX2hpbnRz X3J4X3RpbWUgDQp0aGF0IGdldHMgQlRGIGV4cG9ydGVkWzFdWzJdIHRvIHRoZSB1c2Vyc3BhY2Ug YXBwbGljYXRpb24sIGFuZCB1c2Vyc3BhY2UgDQpkZWNvZGVzIHRoZSBCVEYgYW5kIGdldHNbM10g YSB4c2tfYnRmX21lbWJlciBzdHJ1Y3QgZm9yIG1lbWJlcnMgdGhhdCANCnNpbXBseSBjb250YWlu cyBhIG9mZnNldCtzaXplIHRvIHJlYWQgZnJvbS4NCg0KWzFdIA0KaHR0cHM6Ly9naXRodWIuY29t L3hkcC1wcm9qZWN0L2JwZi1leGFtcGxlcy9ibG9iL21hc3Rlci9BRl9YRFAtaW50ZXJhY3Rpb24v YWZfeGRwX2tlcm4uYyNMNDctTDUxDQoNClsyXSANCmh0dHBzOi8vZ2l0aHViLmNvbS94ZHAtcHJv amVjdC9icGYtZXhhbXBsZXMvYmxvYi9tYXN0ZXIvQUZfWERQLWludGVyYWN0aW9uL2FmX3hkcF9r ZXJuLmMjTDgwDQoNClszXSANCmh0dHBzOi8vZ2l0aHViLmNvbS94ZHAtcHJvamVjdC9icGYtZXhh bXBsZXMvYmxvYi9tYXN0ZXIvQUZfWERQLWludGVyYWN0aW9uL2FmX3hkcF91c2VyLmMjTDEyMy1M MTI5DQoNCj4+ICvCoMKgwqAgaWYgKHJ4X3RpbWVzdGFtcCA9PSAwKSB7DQo+PiArwqDCoMKgwqDC oMKgwqAga3NmdF9wcmludF9tc2coIkludmFsaWQgbWV0YWRhdGEgcmVjZWl2ZWQ6ICIpOw0KPj4g K8KgwqDCoMKgwqDCoMKgIGtzZnRfcHJpbnRfbXNnKCJnb3QgJTA4eCwgZXhwZWN0ZWQgIT0gMFxu IiwgcnhfdGltZXN0YW1wKTsNCj4+ICvCoMKgwqDCoMKgwqDCoCByZXR1cm4gZmFsc2U7DQo+PiAr wqDCoMKgIH0NCj4+ICsNCj4+IMKgwqDCoMKgwqAgcmV0dXJuIHRydWU7DQo+PiDCoCB9DQo+IA0K DQpMb29raW5nIGZvcndhcmQgdG8gY29sbGFib3JhdGUgOi0pDQotLUplc3Blcg0KDQo=