From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id CCFCAA00BE for ; Mon, 16 May 2022 05:09:09 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C8CBF40A79; Mon, 16 May 2022 05:09:09 +0200 (CEST) Received: from mail-pg1-f227.google.com (mail-pg1-f227.google.com [209.85.215.227]) by mails.dpdk.org (Postfix) with ESMTP id 5D623406A2 for ; Mon, 16 May 2022 05:09:08 +0200 (CEST) Received: by mail-pg1-f227.google.com with SMTP id r71so12543947pgr.0 for ; Sun, 15 May 2022 20:09:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iol.unh.edu; s=unh-iol; h=mime-version:subject:from:to:cc:message-id:date; bh=IblKyP1/2VaL2KdmX3ZSIe8WxW6ELWuYFMIyhi+gTwM=; b=ACQa44ZLIypTNShKfX3g4lgfAq1pnBOQR0ppu+ltjb0sha0V2H2RBp0tCSpYL3UQvC h9aPvFiyBlroVt4dZ6qs6A9KtG0YyeSt//WIbDQRC9Z7Ife/uaN0LaNcbxWtrrDEDuEL zMHwaJk00RAz/GWkoPJg0Yf6YhcECLgtv4Z44= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:subject:from:to:cc:message-id:date; bh=IblKyP1/2VaL2KdmX3ZSIe8WxW6ELWuYFMIyhi+gTwM=; b=MTQhqS2bGhqkOMHSn1pANO6rBfYy0fWwpTx/8WvYUcZReNpV7QunXFCcQ1xMzL6MOr Yykn2RVSGCpL3I3N3DCo4sEN55OOptUD1lIlNVJlHB2uvzWKTnUZyKx3T79jiMK9TvgF KUomsikcl4ACcbVTw6Pq7rgYJh6fk8scb48+f0JRErQcXRe9grNtRkhrFXu3advnjcy5 NGxJ3bPWPyAGem7DaYO6q/H8nvLZ4GTCI8uZZaVlN1ivbGAOxTvMCL7TR5iOJjv4WA0i mELGTRwSrfoGh2Y0FLwvxgflT8uqbQRRUSPMm+JfHtbR4lO/TqtbIYbCe+NQSGONL//q 6gVg== X-Gm-Message-State: AOAM533GFEc+lUm3dML/WC8/f9aUB+gxybg5bJBG5Gm1af5IMuTStg0t uLhUNg8fmwALs+tJfbg2k/xKDKxPWrSKpJCpEmSjsYXeZv+IFACSLo1dtKpLtMALuA== X-Google-Smtp-Source: ABdhPJy0Jz14JsDIa9GFd5vyTxBZnwnaqqlZzlnlJpRqJOKP4ChOaZNL2Z33XhQ7C1sNGY1cKpJAP+hix7Cw X-Received: by 2002:a63:cc4f:0:b0:3c5:fc22:f6a with SMTP id q15-20020a63cc4f000000b003c5fc220f6amr13503027pgi.67.1652670547655; Sun, 15 May 2022 20:09:07 -0700 (PDT) Received: from postal.iol.unh.edu (postal.iol.unh.edu. [2606:4100:3880:1234::84]) by smtp-relay.gmail.com with ESMTPS id z13-20020a17090a7b8d00b001df151f76b1sm666484pjc.4.2022.05.15.20.09.07 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 15 May 2022 20:09:07 -0700 (PDT) X-Relaying-Domain: iol.unh.edu Received: from noxus.dpdklab.iol.unh.edu (unknown [IPv6:2606:4100:3880:1722::4]) by postal.iol.unh.edu (Postfix) with ESMTP id DA0C7605247D; Sun, 15 May 2022 23:09:06 -0400 (EDT) Received: from noxus.dpdklab.iol.unh.edu (localhost [IPv6:::1]) by noxus.dpdklab.iol.unh.edu (Postfix) with ESMTP id C89D36D3A8; Sun, 15 May 2022 23:09:06 -0400 (EDT) Content-Type: multipart/mixed; boundary="===============1927558637184452273==" MIME-Version: 1.0 Subject: |WARNING| pw111160-111164 [PATCH] [v7, 5/5] examples/vhost: support async dequeue data path From: dpdklab@iol.unh.edu To: test-report@dpdk.org Cc: dpdk-test-reports@iol.unh.edu Message-Id: <20220516030906.C89D36D3A8@noxus.dpdklab.iol.unh.edu> Date: Sun, 15 May 2022 23:09:06 -0400 (EDT) X-BeenThere: test-report@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: automatic DPDK test reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: test-report-bounces@dpdk.org --===============1927558637184452273== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGVzdC1MYWJlbDogaW9sLXRlc3RpbmcKVGVzdC1TdGF0dXM6IFdBUk5JTkcKaHR0cDovL2RwZGsu b3JnL3BhdGNoLzExMTE2MAoKX2FwcGx5IHBhdGNoIGZhaWx1cmVfCgpTdWJtaXR0ZXI6IERpbmcs IFh1YW4gPHh1YW4uZGluZ0BpbnRlbC5jb20+CkRhdGU6IE1vbmRheSwgTWF5IDE2IDIwMjIgMDI6 NDM6MjUgCkFwcGxpZWQgb246IENvbW1pdElEOmMwYzMwNWVlOWUwZTdjOWZlY2E2NDEyMjY2YTc3 OGYzMzBkMjBjMTkKQXBwbHkgcGF0Y2ggc2V0IDExMTE2MC0xMTExNjQgZmFpbGVkOgoKQ2hlY2tp bmcgcGF0Y2ggZG9jL2d1aWRlcy9wcm9nX2d1aWRlL3Zob3N0X2xpYi5yc3QuLi4KSHVuayAjMSBz dWNjZWVkZWQgYXQgMjc2IChvZmZzZXQgLTYgbGluZXMpLgpDaGVja2luZyBwYXRjaCBkb2MvZ3Vp ZGVzL3JlbF9ub3Rlcy9yZWxlYXNlXzIyXzA3LnJzdC4uLgplcnJvcjogd2hpbGUgc2VhcmNoaW5n IGZvcjoKICBBZGRlZCBhbiBBUEkgd2hpY2ggY2FuIGdldCB0aGUgbnVtYmVyIG9mIGluZmxpZ2h0 IHBhY2tldHMgaW4KICB2aG9zdCBhc3luYyBkYXRhIHBhdGggd2l0aG91dCB1c2luZyBsb2NrLgoK UmVtb3ZlZCBJdGVtcwotLS0tLS0tLS0tLS0tCgoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZG9jL2d1 aWRlcy9yZWxfbm90ZXMvcmVsZWFzZV8yMl8wNy5yc3Q6NzAKQ2hlY2tpbmcgcGF0Y2ggbGliL3Zo b3N0L3J0ZV92aG9zdF9hc3luYy5oLi4uCkh1bmsgIzEgc3VjY2VlZGVkIGF0IDE4NyAob2Zmc2V0 IC0xNyBsaW5lcykuCkNoZWNraW5nIHBhdGNoIGxpYi92aG9zdC92ZXJzaW9uLm1hcC4uLgplcnJv cjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKCgkjIGFkZGVkIGluIDIyLjA3CglydGVfdmhvc3RfYXN5 bmNfZ2V0X2luZmxpZ2h0X3RocmVhZF91bnNhZmU7Cgp9OwoKSU5URVJOQUwgewoKZXJyb3I6IHBh dGNoIGZhaWxlZDogbGliL3Zob3N0L3ZlcnNpb24ubWFwOjkwCkNoZWNraW5nIHBhdGNoIGxpYi92 aG9zdC92aXJ0aW9fbmV0LmMuLi4KQXBwbGllZCBwYXRjaCBkb2MvZ3VpZGVzL3Byb2dfZ3VpZGUv dmhvc3RfbGliLnJzdCBjbGVhbmx5LgpBcHBseWluZyBwYXRjaCBkb2MvZ3VpZGVzL3JlbF9ub3Rl cy9yZWxlYXNlXzIyXzA3LnJzdCB3aXRoIDEgcmVqZWN0Li4uClJlamVjdGVkIGh1bmsgIzEuCkFw cGxpZWQgcGF0Y2ggbGliL3Zob3N0L3J0ZV92aG9zdF9hc3luYy5oIGNsZWFubHkuCkFwcGx5aW5n IHBhdGNoIGxpYi92aG9zdC92ZXJzaW9uLm1hcCB3aXRoIDEgcmVqZWN0Li4uClJlamVjdGVkIGh1 bmsgIzEuCkFwcGxpZWQgcGF0Y2ggbGliL3Zob3N0L3ZpcnRpb19uZXQuYyBjbGVhbmx5LgpkaWZm IGEvZG9jL2d1aWRlcy9yZWxfbm90ZXMvcmVsZWFzZV8yMl8wNy5yc3QgYi9kb2MvZ3VpZGVzL3Jl bF9ub3Rlcy9yZWxlYXNlXzIyXzA3LnJzdAkocmVqZWN0ZWQgaHVua3MpCkBAIC03MCw2ICs3MCwx MSBAQCBOZXcgRmVhdHVyZXMKICAgQWRkZWQgYW4gQVBJIHdoaWNoIGNhbiBnZXQgdGhlIG51bWJl ciBvZiBpbmZsaWdodCBwYWNrZXRzIGluCiAgIHZob3N0IGFzeW5jIGRhdGEgcGF0aCB3aXRob3V0 IHVzaW5nIGxvY2suCiAKKyogKipBZGRlZCB2aG9zdCBhc3luYyBkZXF1ZXVlIEFQSSB0byByZWNl aXZlIHBrdHMgZnJvbSBndWVzdC4qKgorCisgIEFkZGVkIHZob3N0IGFzeW5jIGRlcXVldWUgQVBJ IHdoaWNoIGNhbiBsZXZlcmFnZSBETUEgZGV2aWNlcyB0bworICBhY2NlbGVyYXRlIHJlY2Vpdmlu ZyBwa3RzIGZyb20gZ3Vlc3QuCisKIFJlbW92ZWQgSXRlbXMKIC0tLS0tLS0tLS0tLS0KIApkaWZm IGEvbGliL3Zob3N0L3ZlcnNpb24ubWFwIGIvbGliL3Zob3N0L3ZlcnNpb24ubWFwCShyZWplY3Rl ZCBodW5rcykKQEAgLTkwLDcgKzkwLDcgQEAgRVhQRVJJTUVOVEFMIHsKIAogCSMgYWRkZWQgaW4g MjIuMDcKIAlydGVfdmhvc3RfYXN5bmNfZ2V0X2luZmxpZ2h0X3RocmVhZF91bnNhZmU7Ci0KKwly dGVfdmhvc3RfYXN5bmNfdHJ5X2RlcXVldWVfYnVyc3Q7CiB9OwogCiBJTlRFUk5BTCB7CkNoZWNr aW5nIHBhdGNoIGRvYy9ndWlkZXMvc2FtcGxlX2FwcF91Zy92aG9zdC5yc3QuLi4KQ2hlY2tpbmcg cGF0Y2ggZXhhbXBsZXMvdmhvc3QvbWFpbi5jLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9y OgoJdWludDE2X3QgbnJfeG1pdCA9IHZob3N0X3R4YnVmZltidWZmX2lkeF0tPmxlbjsKCXN0cnVj dCBydGVfbWJ1ZiAqKm0gPSB2aG9zdF90eGJ1ZmZbYnVmZl9pZHhdLT5tX3RhYmxlOwoKCWlmIChi dWlsdGluX25ldF9kcml2ZXIpIHsKCQlyZXQgPSB2c19lbnF1ZXVlX3BrdHModmRldiwgVklSVElP X1JYUSwgbSwgbnJfeG1pdCk7Cgl9IGVsc2UgaWYgKGRtYV9iaW5kW3ZkZXYtPnZpZF0uZG1hc1tW SVJUSU9fUlhRXS5hc3luY19lbmFibGVkKSB7CgkJdWludDE2X3QgZW5xdWV1ZV9mYWlsID0gMDsK CQlpbnQxNl90IGRtYV9pZCA9IGRtYV9iaW5kW3ZkZXYtPnZpZF0uZG1hc1tWSVJUSU9fUlhRXS5k ZXZfaWQ7CgoJCWNvbXBsZXRlX2FzeW5jX3BrdHModmRldik7CgkJcmV0ID0gcnRlX3Zob3N0X3N1 Ym1pdF9lbnF1ZXVlX2J1cnN0KHZkZXYtPnZpZCwgVklSVElPX1JYUSwgbSwgbnJfeG1pdCwgZG1h X2lkLCAwKTsKCgkJZW5xdWV1ZV9mYWlsID0gbnJfeG1pdCAtIHJldDsKCQlpZiAoZW5xdWV1ZV9m YWlsKQoJCQlmcmVlX3BrdHMoJm1bcmV0XSwgbnJfeG1pdCAtIHJldCk7Cgl9IGVsc2UgewoJCXJl dCA9IHJ0ZV92aG9zdF9lbnF1ZXVlX2J1cnN0KHZkZXYtPnZpZCwgVklSVElPX1JYUSwKCQkJCQkJ bSwgbnJfeG1pdCk7Cgl9CgoJaWYgKGVuYWJsZV9zdGF0cykgewoJCV9fYXRvbWljX2FkZF9mZXRj aCgmdmRldi0+c3RhdHMucnhfdG90YWxfYXRvbWljLCBucl94bWl0LAoKZXJyb3I6IHBhdGNoIGZh aWxlZDogZXhhbXBsZXMvdmhvc3QvbWFpbi5jOjEwMjkKSHVuayAjMTAgc3VjY2VlZGVkIGF0IDEw ODcgKG9mZnNldCAxOCBsaW5lcykuCkh1bmsgIzExIHN1Y2NlZWRlZCBhdCAxMzU5IChvZmZzZXQg MTggbGluZXMpLgplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKCQl9Cgl9CgoJaWYgKGJ1aWx0 aW5fbmV0X2RyaXZlcikgewoJCWVucXVldWVfY291bnQgPSB2c19lbnF1ZXVlX3BrdHModmRldiwg VklSVElPX1JYUSwKCQkJCQkJcGt0cywgcnhfY291bnQpOwoJfSBlbHNlIGlmIChkbWFfYmluZFt2 ZGV2LT52aWRdLmRtYXNbVklSVElPX1JYUV0uYXN5bmNfZW5hYmxlZCkgewoJCXVpbnQxNl90IGVu cXVldWVfZmFpbCA9IDA7CgkJaW50MTZfdCBkbWFfaWQgPSBkbWFfYmluZFt2ZGV2LT52aWRdLmRt YXNbVklSVElPX1JYUV0uZGV2X2lkOwoKCQljb21wbGV0ZV9hc3luY19wa3RzKHZkZXYpOwoJCWVu cXVldWVfY291bnQgPSBydGVfdmhvc3Rfc3VibWl0X2VucXVldWVfYnVyc3QodmRldi0+dmlkLAoJ CQkJCVZJUlRJT19SWFEsIHBrdHMsIHJ4X2NvdW50LCBkbWFfaWQsIDApOwoKCQllbnF1ZXVlX2Zh aWwgPSByeF9jb3VudCAtIGVucXVldWVfY291bnQ7CgkJaWYgKGVucXVldWVfZmFpbCkKCQkJZnJl ZV9wa3RzKCZwa3RzW2VucXVldWVfY291bnRdLCBlbnF1ZXVlX2ZhaWwpOwoKCX0gZWxzZSB7CgkJ ZW5xdWV1ZV9jb3VudCA9IHJ0ZV92aG9zdF9lbnF1ZXVlX2J1cnN0KHZkZXYtPnZpZCwgVklSVElP X1JYUSwKCQkJCQkJcGt0cywgcnhfY291bnQpOwoJfQoKCWlmIChlbmFibGVfc3RhdHMpIHsKCQlf X2F0b21pY19hZGRfZmV0Y2goJnZkZXYtPnN0YXRzLnJ4X3RvdGFsX2F0b21pYywgcnhfY291bnQs CgplcnJvcjogcGF0Y2ggZmFpbGVkOiBleGFtcGxlcy92aG9zdC9tYWluLmM6MTM1NQpIdW5rICMx MyBzdWNjZWVkZWQgYXQgMTQ0MyAob2Zmc2V0IDM2IGxpbmVzKS4KSHVuayAjMTQgc3VjY2VlZGVk IGF0IDE0NzUgKG9mZnNldCAzNiBsaW5lcykuCkh1bmsgIzE1IHN1Y2NlZWRlZCBhdCAxNTU1IChv ZmZzZXQgMzYgbGluZXMpLgplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKCQl2ZGV2LT52aWQp OwoKCWlmIChkbWFfYmluZFt2aWRdLmRtYXNbVklSVElPX1JYUV0uYXN5bmNfZW5hYmxlZCkgewoJ CXVpbnQxNl90IG5fcGt0ID0gMDsKCQlpbnQgcGt0c19pbmZsaWdodDsKCQlpbnQxNl90IGRtYV9p ZCA9IGRtYV9iaW5kW3ZpZF0uZG1hc1tWSVJUSU9fUlhRXS5kZXZfaWQ7CgkJcGt0c19pbmZsaWdo dCA9IHJ0ZV92aG9zdF9hc3luY19nZXRfaW5mbGlnaHRfdGhyZWFkX3Vuc2FmZSh2aWQsIFZJUlRJ T19SWFEpOwoJCXN0cnVjdCBydGVfbWJ1ZiAqbV9jcGxbcGt0c19pbmZsaWdodF07CgoJCXdoaWxl IChwa3RzX2luZmxpZ2h0KSB7CgkJCW5fcGt0ID0gcnRlX3Zob3N0X2NsZWFyX3F1ZXVlX3RocmVh ZF91bnNhZmUodmlkLCBWSVJUSU9fUlhRLAoJCQkJCQltX2NwbCwgcGt0c19pbmZsaWdodCwgZG1h X2lkLCAwKTsKCQkJZnJlZV9wa3RzKG1fY3BsLCBuX3BrdCk7CgkJCXBrdHNfaW5mbGlnaHQgPSBy dGVfdmhvc3RfYXN5bmNfZ2V0X2luZmxpZ2h0X3RocmVhZF91bnNhZmUodmlkLAoJCQkJCQkJCQkJ VklSVElPX1JYUSk7CgkJfQoKCQlydGVfdmhvc3RfYXN5bmNfY2hhbm5lbF91bnJlZ2lzdGVyKHZp ZCwgVklSVElPX1JYUSk7CgkJZG1hX2JpbmRbdmlkXS5kbWFzW1ZJUlRJT19SWFFdLmFzeW5jX2Vu YWJsZWQgPSBmYWxzZTsKCX0KCglydGVfZnJlZSh2ZGV2KTsKfQoKLyoKICogQSBuZXcgZGV2aWNl IGlzIGFkZGVkIHRvIGEgZGF0YSBjb3JlLiBGaXJzdCB0aGUgZGV2aWNlIGlzIGFkZGVkIHRvIHRo ZSBtYWluIGxpbmtlZCBsaXN0CiAqIGFuZCB0aGVuIGFsbG9jYXRlZCB0byBhIHNwZWNpZmljIGRh dGEgY29yZS4KCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGV4YW1wbGVzL3Zob3N0L21haW4uYzoxNTM1 Ckh1bmsgIzE3IHN1Y2NlZWRlZCBhdCAxNjYxIChvZmZzZXQgLTE5IGxpbmVzKS4KSHVuayAjMTgg c3VjY2VlZGVkIGF0IDE2ODUgKG9mZnNldCAtMTkgbGluZXMpLgpIdW5rICMxOSBzdWNjZWVkZWQg YXQgMTcyNyAob2Zmc2V0IC0xOSBsaW5lcykuCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoJ aWYgKHF1ZXVlX2lkICE9IFZJUlRJT19SWFEpCgkJcmV0dXJuIDA7CgoJaWYgKGRtYV9iaW5kW3Zp ZF0uZG1hc1txdWV1ZV9pZF0uYXN5bmNfZW5hYmxlZCkgewoJCWlmICghZW5hYmxlKSB7CgkJCXVp bnQxNl90IG5fcGt0ID0gMDsKCQkJaW50IHBrdHNfaW5mbGlnaHQ7CgkJCXBrdHNfaW5mbGlnaHQg PSBydGVfdmhvc3RfYXN5bmNfZ2V0X2luZmxpZ2h0X3RocmVhZF91bnNhZmUodmlkLCBxdWV1ZV9p ZCk7CgkJCWludDE2X3QgZG1hX2lkID0gZG1hX2JpbmRbdmlkXS5kbWFzW1ZJUlRJT19SWFFdLmRl dl9pZDsKCQkJc3RydWN0IHJ0ZV9tYnVmICptX2NwbFtwa3RzX2luZmxpZ2h0XTsKCgkJCXdoaWxl IChwa3RzX2luZmxpZ2h0KSB7CgkJCQluX3BrdCA9IHJ0ZV92aG9zdF9jbGVhcl9xdWV1ZV90aHJl YWRfdW5zYWZlKHZpZCwgcXVldWVfaWQsCgkJCQkJCQltX2NwbCwgcGt0c19pbmZsaWdodCwgZG1h X2lkLCAwKTsKCQkJCWZyZWVfcGt0cyhtX2NwbCwgbl9wa3QpOwoJCQkJcGt0c19pbmZsaWdodCA9 IHJ0ZV92aG9zdF9hc3luY19nZXRfaW5mbGlnaHRfdGhyZWFkX3Vuc2FmZSh2aWQsCgkJCQkJCQkJ CQkJcXVldWVfaWQpOwoJCQl9CgkJfQoJfQoKCXJldHVybiAwOwoKZXJyb3I6IHBhdGNoIGZhaWxl ZDogZXhhbXBsZXMvdmhvc3QvbWFpbi5jOjE2NDcKSHVuayAjMjEgc3VjY2VlZGVkIGF0IDE5ODIg KG9mZnNldCAtOSBsaW5lcykuCkNoZWNraW5nIHBhdGNoIGV4YW1wbGVzL3Zob3N0L21haW4uaC4u LgpIdW5rICMxIHN1Y2NlZWRlZCBhdCA2MiAob2Zmc2V0IDEgbGluZSkuCkh1bmsgIzIgc3VjY2Vl ZGVkIGF0IDEwMSAob2Zmc2V0IDEgbGluZSkuCkh1bmsgIzMgc3VjY2VlZGVkIGF0IDExMiAob2Zm c2V0IDEgbGluZSkuCkNoZWNraW5nIHBhdGNoIGV4YW1wbGVzL3Zob3N0L3ZpcnRpb19uZXQuYy4u LgpBcHBsaWVkIHBhdGNoIGRvYy9ndWlkZXMvc2FtcGxlX2FwcF91Zy92aG9zdC5yc3QgY2xlYW5s eS4KQXBwbHlpbmcgcGF0Y2ggZXhhbXBsZXMvdmhvc3QvbWFpbi5jIHdpdGggNCByZWplY3RzLi4u Ckh1bmsgIzEgYXBwbGllZCBjbGVhbmx5LgpIdW5rICMyIGFwcGxpZWQgY2xlYW5seS4KSHVuayAj MyBhcHBsaWVkIGNsZWFubHkuCkh1bmsgIzQgYXBwbGllZCBjbGVhbmx5LgpIdW5rICM1IGFwcGxp ZWQgY2xlYW5seS4KSHVuayAjNiBhcHBsaWVkIGNsZWFubHkuCkh1bmsgIzcgYXBwbGllZCBjbGVh bmx5LgpIdW5rICM4IGFwcGxpZWQgY2xlYW5seS4KUmVqZWN0ZWQgaHVuayAjOS4KSHVuayAjMTAg YXBwbGllZCBjbGVhbmx5LgpIdW5rICMxMSBhcHBsaWVkIGNsZWFubHkuClJlamVjdGVkIGh1bmsg IzEyLgpIdW5rICMxMyBhcHBsaWVkIGNsZWFubHkuCkh1bmsgIzE0IGFwcGxpZWQgY2xlYW5seS4K SHVuayAjMTUgYXBwbGllZCBjbGVhbmx5LgpSZWplY3RlZCBodW5rICMxNi4KSHVuayAjMTcgYXBw bGllZCBjbGVhbmx5LgpIdW5rICMxOCBhcHBsaWVkIGNsZWFubHkuCkh1bmsgIzE5IGFwcGxpZWQg Y2xlYW5seS4KUmVqZWN0ZWQgaHVuayAjMjAuCkh1bmsgIzIxIGFwcGxpZWQgY2xlYW5seS4KQXBw bGllZCBwYXRjaCBleGFtcGxlcy92aG9zdC9tYWluLmggY2xlYW5seS4KQXBwbGllZCBwYXRjaCBl eGFtcGxlcy92aG9zdC92aXJ0aW9fbmV0LmMgY2xlYW5seS4KZGlmZiBhL2V4YW1wbGVzL3Zob3N0 L21haW4uYyBiL2V4YW1wbGVzL3Zob3N0L21haW4uYwkocmVqZWN0ZWQgaHVua3MpCkBAIC0xMDI5 LDIyICsxMDYwLDcgQEAgZHJhaW5fdmhvc3Qoc3RydWN0IHZob3N0X2RldiAqdmRldikKIAl1aW50 MTZfdCBucl94bWl0ID0gdmhvc3RfdHhidWZmW2J1ZmZfaWR4XS0+bGVuOwogCXN0cnVjdCBydGVf bWJ1ZiAqKm0gPSB2aG9zdF90eGJ1ZmZbYnVmZl9pZHhdLT5tX3RhYmxlOwogCi0JaWYgKGJ1aWx0 aW5fbmV0X2RyaXZlcikgewotCQlyZXQgPSB2c19lbnF1ZXVlX3BrdHModmRldiwgVklSVElPX1JY USwgbSwgbnJfeG1pdCk7Ci0JfSBlbHNlIGlmIChkbWFfYmluZFt2ZGV2LT52aWRdLmRtYXNbVklS VElPX1JYUV0uYXN5bmNfZW5hYmxlZCkgewotCQl1aW50MTZfdCBlbnF1ZXVlX2ZhaWwgPSAwOwot CQlpbnQxNl90IGRtYV9pZCA9IGRtYV9iaW5kW3ZkZXYtPnZpZF0uZG1hc1tWSVJUSU9fUlhRXS5k ZXZfaWQ7Ci0KLQkJY29tcGxldGVfYXN5bmNfcGt0cyh2ZGV2KTsKLQkJcmV0ID0gcnRlX3Zob3N0 X3N1Ym1pdF9lbnF1ZXVlX2J1cnN0KHZkZXYtPnZpZCwgVklSVElPX1JYUSwgbSwgbnJfeG1pdCwg ZG1hX2lkLCAwKTsKLQotCQllbnF1ZXVlX2ZhaWwgPSBucl94bWl0IC0gcmV0OwotCQlpZiAoZW5x dWV1ZV9mYWlsKQotCQkJZnJlZV9wa3RzKCZtW3JldF0sIG5yX3htaXQgLSByZXQpOwotCX0gZWxz ZSB7Ci0JCXJldCA9IHJ0ZV92aG9zdF9lbnF1ZXVlX2J1cnN0KHZkZXYtPnZpZCwgVklSVElPX1JY USwKLQkJCQkJCW0sIG5yX3htaXQpOwotCX0KKwlyZXQgPSB2ZGV2X3F1ZXVlX29wc1t2ZGV2LT52 aWRdLmVucXVldWVfcGt0X2J1cnN0KHZkZXYsIFZJUlRJT19SWFEsIG0sIG5yX3htaXQpOwogCiAJ aWYgKGVuYWJsZV9zdGF0cykgewogCQlfX2F0b21pY19hZGRfZmV0Y2goJnZkZXYtPnN0YXRzLnJ4 X3RvdGFsX2F0b21pYywgbnJfeG1pdCwKQEAgLTEzNTUsMjUgKzEzOTcsOCBAQCBkcmFpbl9ldGhf cngoc3RydWN0IHZob3N0X2RldiAqdmRldikKIAkJfQogCX0KIAotCWlmIChidWlsdGluX25ldF9k cml2ZXIpIHsKLQkJZW5xdWV1ZV9jb3VudCA9IHZzX2VucXVldWVfcGt0cyh2ZGV2LCBWSVJUSU9f UlhRLAotCQkJCQkJcGt0cywgcnhfY291bnQpOwotCX0gZWxzZSBpZiAoZG1hX2JpbmRbdmRldi0+ dmlkXS5kbWFzW1ZJUlRJT19SWFFdLmFzeW5jX2VuYWJsZWQpIHsKLQkJdWludDE2X3QgZW5xdWV1 ZV9mYWlsID0gMDsKLQkJaW50MTZfdCBkbWFfaWQgPSBkbWFfYmluZFt2ZGV2LT52aWRdLmRtYXNb VklSVElPX1JYUV0uZGV2X2lkOwotCi0JCWNvbXBsZXRlX2FzeW5jX3BrdHModmRldik7Ci0JCWVu cXVldWVfY291bnQgPSBydGVfdmhvc3Rfc3VibWl0X2VucXVldWVfYnVyc3QodmRldi0+dmlkLAot CQkJCQlWSVJUSU9fUlhRLCBwa3RzLCByeF9jb3VudCwgZG1hX2lkLCAwKTsKLQotCQllbnF1ZXVl X2ZhaWwgPSByeF9jb3VudCAtIGVucXVldWVfY291bnQ7Ci0JCWlmIChlbnF1ZXVlX2ZhaWwpCi0J CQlmcmVlX3BrdHMoJnBrdHNbZW5xdWV1ZV9jb3VudF0sIGVucXVldWVfZmFpbCk7Ci0KLQl9IGVs c2UgewotCQllbnF1ZXVlX2NvdW50ID0gcnRlX3Zob3N0X2VucXVldWVfYnVyc3QodmRldi0+dmlk LCBWSVJUSU9fUlhRLAotCQkJCQkJcGt0cywgcnhfY291bnQpOwotCX0KKwllbnF1ZXVlX2NvdW50 ID0gdmRldl9xdWV1ZV9vcHNbdmRldi0+dmlkXS5lbnF1ZXVlX3BrdF9idXJzdCh2ZGV2LAorCQkJ CQlWSVJUSU9fUlhRLCBwa3RzLCByeF9jb3VudCk7CiAKIAlpZiAoZW5hYmxlX3N0YXRzKSB7CiAJ CV9fYXRvbWljX2FkZF9mZXRjaCgmdmRldi0+c3RhdHMucnhfdG90YWxfYXRvbWljLCByeF9jb3Vu dCwKQEAgLTE1MzUsMjcgKzE1OTYsNzkgQEAgZGVzdHJveV9kZXZpY2UoaW50IHZpZCkKIAkJdmRl di0+dmlkKTsKIAogCWlmIChkbWFfYmluZFt2aWRdLmRtYXNbVklSVElPX1JYUV0uYXN5bmNfZW5h YmxlZCkgewotCQl1aW50MTZfdCBuX3BrdCA9IDA7Ci0JCWludCBwa3RzX2luZmxpZ2h0OwotCQlp bnQxNl90IGRtYV9pZCA9IGRtYV9iaW5kW3ZpZF0uZG1hc1tWSVJUSU9fUlhRXS5kZXZfaWQ7Ci0J CXBrdHNfaW5mbGlnaHQgPSBydGVfdmhvc3RfYXN5bmNfZ2V0X2luZmxpZ2h0X3RocmVhZF91bnNh ZmUodmlkLCBWSVJUSU9fUlhRKTsKLQkJc3RydWN0IHJ0ZV9tYnVmICptX2NwbFtwa3RzX2luZmxp Z2h0XTsKLQotCQl3aGlsZSAocGt0c19pbmZsaWdodCkgewotCQkJbl9wa3QgPSBydGVfdmhvc3Rf Y2xlYXJfcXVldWVfdGhyZWFkX3Vuc2FmZSh2aWQsIFZJUlRJT19SWFEsCi0JCQkJCQltX2NwbCwg cGt0c19pbmZsaWdodCwgZG1hX2lkLCAwKTsKLQkJCWZyZWVfcGt0cyhtX2NwbCwgbl9wa3QpOwot CQkJcGt0c19pbmZsaWdodCA9IHJ0ZV92aG9zdF9hc3luY19nZXRfaW5mbGlnaHRfdGhyZWFkX3Vu c2FmZSh2aWQsCi0JCQkJCQkJCQkJVklSVElPX1JYUSk7Ci0JCX0KLQorCQl2aG9zdF9jbGVhcl9x dWV1ZV90aHJlYWRfdW5zYWZlKHZkZXYsIFZJUlRJT19SWFEpOwogCQlydGVfdmhvc3RfYXN5bmNf Y2hhbm5lbF91bnJlZ2lzdGVyKHZpZCwgVklSVElPX1JYUSk7CiAJCWRtYV9iaW5kW3ZpZF0uZG1h c1tWSVJUSU9fUlhRXS5hc3luY19lbmFibGVkID0gZmFsc2U7CiAJfQogCisJaWYgKGRtYV9iaW5k W3ZpZF0uZG1hc1tWSVJUSU9fVFhRXS5hc3luY19lbmFibGVkKSB7CisJCXZob3N0X2NsZWFyX3F1 ZXVlX3RocmVhZF91bnNhZmUodmRldiwgVklSVElPX1RYUSk7CisJCXJ0ZV92aG9zdF9hc3luY19j aGFubmVsX3VucmVnaXN0ZXIodmlkLCBWSVJUSU9fVFhRKTsKKwkJZG1hX2JpbmRbdmlkXS5kbWFz W1ZJUlRJT19UWFFdLmFzeW5jX2VuYWJsZWQgPSBmYWxzZTsKKwl9CisKIAlydGVfZnJlZSh2ZGV2 KTsKIH0KIAorc3RhdGljIGlubGluZSBpbnQKK2dldF9zb2NrZXRpZF9ieV92aWQoaW50IHZpZCkK K3sKKwlpbnQgaTsKKwljaGFyIGlmbmFtZVtQQVRIX01BWF07CisJcnRlX3Zob3N0X2dldF9pZm5h bWUodmlkLCBpZm5hbWUsIHNpemVvZihpZm5hbWUpKTsKKworCWZvciAoaSA9IDA7IGkgPCBuYl9z b2NrZXRzOyBpKyspIHsKKwkJY2hhciAqZmlsZSA9IHNvY2tldF9maWxlcyArIGkgKiBQQVRIX01B WDsKKwkJaWYgKHN0cmNtcChmaWxlLCBpZm5hbWUpID09IDApCisJCQlyZXR1cm4gaTsKKwl9CisK KwlyZXR1cm4gLTE7Cit9CisKK3N0YXRpYyBpbnQKK2luaXRfdmhvc3RfcXVldWVfb3BzKGludCB2 aWQpCit7CisJaWYgKGJ1aWx0aW5fbmV0X2RyaXZlcikgeworCQl2ZGV2X3F1ZXVlX29wc1t2aWRd LmVucXVldWVfcGt0X2J1cnN0ID0gYnVpbHRpbl9lbnF1ZXVlX3BrdHM7CisJCXZkZXZfcXVldWVf b3BzW3ZpZF0uZGVxdWV1ZV9wa3RfYnVyc3QgPSBidWlsdGluX2RlcXVldWVfcGt0czsKKwl9IGVs c2UgeworCQlpZiAoZG1hX2JpbmRbdmlkMnNvY2tldGlkW3ZpZF1dLmRtYXNbVklSVElPX1JYUV0u YXN5bmNfZW5hYmxlZCkKKwkJCXZkZXZfcXVldWVfb3BzW3ZpZF0uZW5xdWV1ZV9wa3RfYnVyc3Qg PSBhc3luY19lbnF1ZXVlX3BrdHM7CisJCWVsc2UKKwkJCXZkZXZfcXVldWVfb3BzW3ZpZF0uZW5x dWV1ZV9wa3RfYnVyc3QgPSBzeW5jX2VucXVldWVfcGt0czsKKworCQlpZiAoZG1hX2JpbmRbdmlk MnNvY2tldGlkW3ZpZF1dLmRtYXNbVklSVElPX1RYUV0uYXN5bmNfZW5hYmxlZCkKKwkJCXZkZXZf cXVldWVfb3BzW3ZpZF0uZGVxdWV1ZV9wa3RfYnVyc3QgPSBhc3luY19kZXF1ZXVlX3BrdHM7CisJ CWVsc2UKKwkJCXZkZXZfcXVldWVfb3BzW3ZpZF0uZGVxdWV1ZV9wa3RfYnVyc3QgPSBzeW5jX2Rl cXVldWVfcGt0czsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGlubGluZSBpbnQKK3Zo b3N0X2FzeW5jX2NoYW5uZWxfcmVnaXN0ZXIoaW50IHZpZCkKK3sKKwlpbnQgcnhfcmV0ID0gMCwg dHhfcmV0ID0gMDsKKworCWlmIChkbWFfYmluZFt2aWQyc29ja2V0aWRbdmlkXV0uZG1hc1tWSVJU SU9fUlhRXS5kZXZfaWQgIT0gSU5WQUxJRF9ETUFfSUQpIHsKKwkJcnhfcmV0ID0gcnRlX3Zob3N0 X2FzeW5jX2NoYW5uZWxfcmVnaXN0ZXIodmlkLCBWSVJUSU9fUlhRKTsKKwkJaWYgKHJ4X3JldCA9 PSAwKQorCQkJZG1hX2JpbmRbdmlkMnNvY2tldGlkW3ZpZF1dLmRtYXNbVklSVElPX1JYUV0uYXN5 bmNfZW5hYmxlZCA9IHRydWU7CisJfQorCisJaWYgKGRtYV9iaW5kW3ZpZDJzb2NrZXRpZFt2aWRd XS5kbWFzW1ZJUlRJT19UWFFdLmRldl9pZCAhPSBJTlZBTElEX0RNQV9JRCkgeworCQl0eF9yZXQg PSBydGVfdmhvc3RfYXN5bmNfY2hhbm5lbF9yZWdpc3Rlcih2aWQsIFZJUlRJT19UWFEpOworCQlp ZiAodHhfcmV0ID09IDApCisJCQlkbWFfYmluZFt2aWQyc29ja2V0aWRbdmlkXV0uZG1hc1tWSVJU SU9fVFhRXS5hc3luY19lbmFibGVkID0gdHJ1ZTsKKwl9CisKKwlyZXR1cm4gcnhfcmV0IHwgdHhf cmV0OworfQorCisKKwogLyoKICAqIEEgbmV3IGRldmljZSBpcyBhZGRlZCB0byBhIGRhdGEgY29y ZS4gRmlyc3QgdGhlIGRldmljZSBpcyBhZGRlZCB0byB0aGUgbWFpbiBsaW5rZWQgbGlzdAogICog YW5kIHRoZW4gYWxsb2NhdGVkIHRvIGEgc3BlY2lmaWMgZGF0YSBjb3JlLgpAQCAtMTY0NywyMiAr MTc2NCw5IEBAIHZyaW5nX3N0YXRlX2NoYW5nZWQoaW50IHZpZCwgdWludDE2X3QgcXVldWVfaWQs IGludCBlbmFibGUpCiAJaWYgKHF1ZXVlX2lkICE9IFZJUlRJT19SWFEpCiAJCXJldHVybiAwOwog Ci0JaWYgKGRtYV9iaW5kW3ZpZF0uZG1hc1txdWV1ZV9pZF0uYXN5bmNfZW5hYmxlZCkgewotCQlp ZiAoIWVuYWJsZSkgewotCQkJdWludDE2X3Qgbl9wa3QgPSAwOwotCQkJaW50IHBrdHNfaW5mbGln aHQ7Ci0JCQlwa3RzX2luZmxpZ2h0ID0gcnRlX3Zob3N0X2FzeW5jX2dldF9pbmZsaWdodF90aHJl YWRfdW5zYWZlKHZpZCwgcXVldWVfaWQpOwotCQkJaW50MTZfdCBkbWFfaWQgPSBkbWFfYmluZFt2 aWRdLmRtYXNbVklSVElPX1JYUV0uZGV2X2lkOwotCQkJc3RydWN0IHJ0ZV9tYnVmICptX2NwbFtw a3RzX2luZmxpZ2h0XTsKLQotCQkJd2hpbGUgKHBrdHNfaW5mbGlnaHQpIHsKLQkJCQluX3BrdCA9 IHJ0ZV92aG9zdF9jbGVhcl9xdWV1ZV90aHJlYWRfdW5zYWZlKHZpZCwgcXVldWVfaWQsCi0JCQkJ CQkJbV9jcGwsIHBrdHNfaW5mbGlnaHQsIGRtYV9pZCwgMCk7Ci0JCQkJZnJlZV9wa3RzKG1fY3Bs LCBuX3BrdCk7Ci0JCQkJcGt0c19pbmZsaWdodCA9IHJ0ZV92aG9zdF9hc3luY19nZXRfaW5mbGln aHRfdGhyZWFkX3Vuc2FmZSh2aWQsCi0JCQkJCQkJCQkJCXF1ZXVlX2lkKTsKLQkJCX0KLQkJfQor CWlmIChkbWFfYmluZFt2aWQyc29ja2V0aWRbdmlkXV0uZG1hc1txdWV1ZV9pZF0uYXN5bmNfZW5h YmxlZCkgeworCQlpZiAoIWVuYWJsZSkKKwkJCXZob3N0X2NsZWFyX3F1ZXVlX3RocmVhZF91bnNh ZmUodmRldiwgcXVldWVfaWQpOwogCX0KIAogCXJldHVybiAwOwoKaHR0cHM6Ly9sYWIuZHBkay5v cmcvcmVzdWx0cy9kYXNoYm9hcmQvcGF0Y2hzZXRzLzIyMTIyLwoKVU5ILUlPTCBEUERLIENvbW11 bml0eSBMYWIK --===============1927558637184452273==--