From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 4/4] drm/i915: Combine multiple internal plists into the same i915_priolist bucket Date: Mon, 1 Oct 2018 13:32:04 +0100 Message-ID: <20181001123204.23982-4-chris@chris-wilson.co.uk> References: <20181001123204.23982-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from fireflyinternet.com (mail.fireflyinternet.com [109.228.58.192]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0A8CC6E1D8 for ; Mon, 1 Oct 2018 12:32:21 +0000 (UTC) In-Reply-To: <20181001123204.23982-1-chris@chris-wilson.co.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org QXMgd2UgYXJlIGFib3V0IHRvIGFsbG93IG91cnNlbHZlcyB0byBzbGlnaHRseSBidW1wIHRoZSB1 c2VyIHByaW9yaXR5CmludG8gYSBmZXcgZGlmZmVyZW50IHN1YmxldmVscywgcGFja3Rob3NlIGlu dGVybmFsIHByaW9yaXR5IGxpc3RzCmludG8gdGhlIHNhbWUgaTkxNV9wcmlvbGlzdCB0byBrZWVw IHRoZSByYnRyZWUgY29tcGFjdCBhbmQgYXZvaWQgaGF2aW5nCnRvIGFsbG9jYXRlIHRoZSBkZWZh dWx0IHVzZXIgcHJpb3JpdHkgZXZlbiBhZnRlciB0aGUgaW50ZXJuYWwgYnVtcGluZy4KVGhlIGRv d25zaWRlIHRvIGhhdmluZyBhbiByZXF1ZXN0c1tdIHJhdGhlciB0aGFuIGEgbm9kZSBwZXIgYWN0 aXZlIGxpc3QsCmlzIHRoYXQgd2UgdGhlbiBoYXZlIHRvIHdhbGsgb3ZlciB0aGUgZW1wdHkgaGln aGVyIHByaW9yaXR5IGxpc3RzLiBUbwpjb21wZW5zYXRlLCB3ZSB0cmFjayB0aGUgYWN0aXZlIGJ1 Y2tldHMgYW5kIHVzZSBhIHNtYWxsIGJpdG1hcCB0byBza2lwCm92ZXIgYW55IGluYWN0aXZlIG9u ZXMuCgp2MjogVXNlIE1BU0sgb2YgaW50ZXJuYWwgbGV2ZWxzIHRvIHNpbXBsaWZ5IG91ciB1c2Fn ZS4KdjM6IFByZXZlbnQgb3ZlcmZsb3cgd2hlbiBTSElGVCBpcyB6ZXJvLgoKU2lnbmVkLW9mZi1i eTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+CkNjOiBUdnJ0a28gVXJz dWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgpSZXZpZXdlZC1ieTogVHZydGtvIFVyc3Vs aW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9lbmdpbmVfY3MuYyAgICAgIHwgIDYgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2d1Y19zdWJtaXNzaW9uLmMgfCAxMiArKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xy Yy5jICAgICAgICAgICAgfCA4NyArKysrKysrKysrKysrKy0tLS0tLS0KIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaCAgICAgfCAxMyArKy0KIDQgZmlsZXMgY2hhbmdlZCwg ODAgaW5zZXJ0aW9ucygrKSwgMzggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX2NzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9lbmdpbmVfY3MuYwppbmRleCA2NzI2ZDU3ZjAxOGYuLjFjNjE0M2JkZjVhNCAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX2NzLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX2NzLmMKQEAgLTE1MzQsMTAgKzE1MzQsMTAgQEAgdm9p ZCBpbnRlbF9lbmdpbmVfZHVtcChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsCiAJY291 bnQgPSAwOwogCWRybV9wcmludGYobSwgIlx0XHRRdWV1ZSBwcmlvcml0eTogJWRcbiIsIGV4ZWNs aXN0cy0+cXVldWVfcHJpb3JpdHkpOwogCWZvciAocmIgPSByYl9maXJzdF9jYWNoZWQoJmV4ZWNs aXN0cy0+cXVldWUpOyByYjsgcmIgPSByYl9uZXh0KHJiKSkgewotCQlzdHJ1Y3QgaTkxNV9wcmlv bGlzdCAqcCA9Ci0JCQlyYl9lbnRyeShyYiwgdHlwZW9mKCpwKSwgbm9kZSk7CisJCXN0cnVjdCBp OTE1X3ByaW9saXN0ICpwID0gcmJfZW50cnkocmIsIHR5cGVvZigqcCksIG5vZGUpOworCQlpbnQg aTsKIAotCQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHJxLCAmcC0+cmVxdWVzdHMsIHNjaGVkLmxpbmsp IHsKKwkJcHJpb2xpc3RfZm9yX2VhY2hfcmVxdWVzdChycSwgcCwgaSkgewogCQkJaWYgKGNvdW50 KysgPCBNQVhfUkVRVUVTVFNfVE9fU0hPVyAtIDEpCiAJCQkJcHJpbnRfcmVxdWVzdChtLCBycSwg Ilx0XHRRICIpOwogCQkJZWxzZQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZ3VjX3N1Ym1pc3Npb24uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Y19zdWJt aXNzaW9uLmMKaW5kZXggNDg3NGEyMTI3NTRjLi5hYzg2MmI0MmY2YTEgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Y19zdWJtaXNzaW9uLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZ3VjX3N1Ym1pc3Npb24uYwpAQCAtNzQ2LDMwICs3NDYsMjggQEAg c3RhdGljIGJvb2wgX19ndWNfZGVxdWV1ZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUp CiAJd2hpbGUgKChyYiA9IHJiX2ZpcnN0X2NhY2hlZCgmZXhlY2xpc3RzLT5xdWV1ZSkpKSB7CiAJ CXN0cnVjdCBpOTE1X3ByaW9saXN0ICpwID0gdG9fcHJpb2xpc3QocmIpOwogCQlzdHJ1Y3QgaTkx NV9yZXF1ZXN0ICpycSwgKnJuOworCQlpbnQgaTsKIAotCQlsaXN0X2Zvcl9lYWNoX2VudHJ5X3Nh ZmUocnEsIHJuLCAmcC0+cmVxdWVzdHMsIHNjaGVkLmxpbmspIHsKKwkJcHJpb2xpc3RfZm9yX2Vh Y2hfcmVxdWVzdF9jb25zdW1lKHJxLCBybiwgcCwgaSkgewogCQkJaWYgKGxhc3QgJiYgcnEtPmh3 X2NvbnRleHQgIT0gbGFzdC0+aHdfY29udGV4dCkgewotCQkJCWlmIChwb3J0ID09IGxhc3RfcG9y dCkgewotCQkJCQlfX2xpc3RfZGVsX21hbnkoJnAtPnJlcXVlc3RzLAotCQkJCQkJCSZycS0+c2No ZWQubGluayk7CisJCQkJaWYgKHBvcnQgPT0gbGFzdF9wb3J0KQogCQkJCQlnb3RvIGRvbmU7Ci0J CQkJfQogCiAJCQkJaWYgKHN1Ym1pdCkKIAkJCQkJcG9ydF9hc3NpZ24ocG9ydCwgbGFzdCk7CiAJ CQkJcG9ydCsrOwogCQkJfQogCi0JCQlJTklUX0xJU1RfSEVBRCgmcnEtPnNjaGVkLmxpbmspOwor CQkJbGlzdF9kZWxfaW5pdCgmcnEtPnNjaGVkLmxpbmspOwogCiAJCQlfX2k5MTVfcmVxdWVzdF9z dWJtaXQocnEpOwogCQkJdHJhY2VfaTkxNV9yZXF1ZXN0X2luKHJxLCBwb3J0X2luZGV4KHBvcnQs IGV4ZWNsaXN0cykpOworCiAJCQlsYXN0ID0gcnE7CiAJCQlzdWJtaXQgPSB0cnVlOwogCQl9CiAK IAkJcmJfZXJhc2VfY2FjaGVkKCZwLT5ub2RlLCAmZXhlY2xpc3RzLT5xdWV1ZSk7Ci0JCUlOSVRf TElTVF9IRUFEKCZwLT5yZXF1ZXN0cyk7CiAJCWlmIChwLT5wcmlvcml0eSAhPSBJOTE1X1BSSU9S SVRZX05PUk1BTCkKIAkJCWttZW1fY2FjaGVfZnJlZShlbmdpbmUtPmk5MTUtPnByaW9yaXRpZXMs IHApOwogCX0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKaW5kZXggMTUzNDVlNzRkOGNlLi40ZWUw MGY1MzExNTMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCkBAIC0yNTksMTQgKzI1OSw0OSBA QCBpbnRlbF9scl9jb250ZXh0X2Rlc2NyaXB0b3JfdXBkYXRlKHN0cnVjdCBpOTE1X2dlbV9jb250 ZXh0ICpjdHgsCiAJY2UtPmxyY19kZXNjID0gZGVzYzsKIH0KIAotc3RhdGljIHN0cnVjdCBpOTE1 X3ByaW9saXN0ICoKK3N0YXRpYyB2b2lkIGFzc2VydF9wcmlvbGlzdHMoc3RydWN0IGludGVsX2Vu Z2luZV9leGVjbGlzdHMgKiBjb25zdCBleGVjbGlzdHMsCisJCQkgICAgIGxvbmcgcXVldWVfcHJp b3JpdHkpCit7CisJc3RydWN0IHJiX25vZGUgKnJiOworCWxvbmcgbGFzdF9wcmlvLCBpOworCisJ aWYgKCFJU19FTkFCTEVEKENPTkZJR19EUk1fSTkxNV9ERUJVR19HRU0pKQorCQlyZXR1cm47CisK KwlHRU1fQlVHX09OKHJiX2ZpcnN0X2NhY2hlZCgmZXhlY2xpc3RzLT5xdWV1ZSkgIT0KKwkJICAg cmJfZmlyc3QoJmV4ZWNsaXN0cy0+cXVldWUucmJfcm9vdCkpOworCisJbGFzdF9wcmlvID0gKHF1 ZXVlX3ByaW9yaXR5ID4+IEk5MTVfVVNFUl9QUklPUklUWV9TSElGVCkgKyAxOworCWZvciAocmIg PSByYl9maXJzdF9jYWNoZWQoJmV4ZWNsaXN0cy0+cXVldWUpOyByYjsgcmIgPSByYl9uZXh0KHJi KSkgeworCQlzdHJ1Y3QgaTkxNV9wcmlvbGlzdCAqcCA9IHRvX3ByaW9saXN0KHJiKTsKKworCQlH RU1fQlVHX09OKHAtPnByaW9yaXR5ID49IGxhc3RfcHJpbyk7CisJCWxhc3RfcHJpbyA9IHAtPnBy aW9yaXR5OworCisJCUdFTV9CVUdfT04oIXAtPnVzZWQpOworCQlmb3IgKGkgPSAwOyBpIDwgQVJS QVlfU0laRShwLT5yZXF1ZXN0cyk7IGkrKykgeworCQkJaWYgKGxpc3RfZW1wdHkoJnAtPnJlcXVl c3RzW2ldKSkKKwkJCQljb250aW51ZTsKKworCQkJR0VNX0JVR19PTighKHAtPnVzZWQgJiBCSVQo aSkpKTsKKwkJfQorCX0KK30KKworc3RhdGljIHN0cnVjdCBsaXN0X2hlYWQgKgogbG9va3VwX3By aW9saXN0KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwgaW50IHByaW8pCiB7CiAJc3Ry dWN0IGludGVsX2VuZ2luZV9leGVjbGlzdHMgKiBjb25zdCBleGVjbGlzdHMgPSAmZW5naW5lLT5l eGVjbGlzdHM7CiAJc3RydWN0IGk5MTVfcHJpb2xpc3QgKnA7CiAJc3RydWN0IHJiX25vZGUgKipw YXJlbnQsICpyYjsKIAlib29sIGZpcnN0ID0gdHJ1ZTsKKwlpbnQgaWR4LCBpOworCisJYXNzZXJ0 X3ByaW9saXN0cyhleGVjbGlzdHMsIElOVF9NQVgpOwogCisJLyogYnVja2V0cyBzb3J0ZWQgZnJv bSBoaWdoZXN0IFtpbiBzbG90IDBdIHRvIGxvd2VzdCBwcmlvcml0eSAqLworCWlkeCA9IEk5MTVf UFJJT1JJVFlfQ09VTlQgLSAocHJpbyAmIEk5MTVfUFJJT1JJVFlfTUFTSykgLSAxOworCXByaW8g Pj49IEk5MTVfVVNFUl9QUklPUklUWV9TSElGVDsKIAlpZiAodW5saWtlbHkoZXhlY2xpc3RzLT5u b19wcmlvbGlzdCkpCiAJCXByaW8gPSBJOTE1X1BSSU9SSVRZX05PUk1BTDsKIApAQCAtMjgzLDcg KzMxOCw3IEBAIGxvb2t1cF9wcmlvbGlzdChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUs IGludCBwcmlvKQogCQkJcGFyZW50ID0gJnJiLT5yYl9yaWdodDsKIAkJCWZpcnN0ID0gZmFsc2U7 CiAJCX0gZWxzZSB7Ci0JCQlyZXR1cm4gcDsKKwkJCWdvdG8gb3V0OwogCQl9CiAJfQogCkBAIC0z MDksMTEgKzM0NCwxNSBAQCBsb29rdXBfcHJpb2xpc3Qoc3RydWN0IGludGVsX2VuZ2luZV9jcyAq ZW5naW5lLCBpbnQgcHJpbykKIAl9CiAKIAlwLT5wcmlvcml0eSA9IHByaW87Ci0JSU5JVF9MSVNU X0hFQUQoJnAtPnJlcXVlc3RzKTsKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShwLT5yZXF1 ZXN0cyk7IGkrKykKKwkJSU5JVF9MSVNUX0hFQUQoJnAtPnJlcXVlc3RzW2ldKTsKIAlyYl9saW5r X25vZGUoJnAtPm5vZGUsIHJiLCBwYXJlbnQpOwogCXJiX2luc2VydF9jb2xvcl9jYWNoZWQoJnAt Pm5vZGUsICZleGVjbGlzdHMtPnF1ZXVlLCBmaXJzdCk7CisJcC0+dXNlZCA9IDA7CiAKLQlyZXR1 cm4gcDsKK291dDoKKwlwLT51c2VkIHw9IEJJVChpZHgpOworCXJldHVybiAmcC0+cmVxdWVzdHNb aWR4XTsKIH0KIAogc3RhdGljIHZvaWQgdW53aW5kX3dhX3RhaWwoc3RydWN0IGk5MTVfcmVxdWVz dCAqcnEpCkBAIC0zMjUsNyArMzY0LDcgQEAgc3RhdGljIHZvaWQgdW53aW5kX3dhX3RhaWwoc3Ry dWN0IGk5MTVfcmVxdWVzdCAqcnEpCiBzdGF0aWMgdm9pZCBfX3Vud2luZF9pbmNvbXBsZXRlX3Jl cXVlc3RzKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIHsKIAlzdHJ1Y3QgaTkxNV9y ZXF1ZXN0ICpycSwgKnJuOwotCXN0cnVjdCBpOTE1X3ByaW9saXN0ICp1bmluaXRpYWxpemVkX3Zh cihwKTsKKwlzdHJ1Y3QgbGlzdF9oZWFkICp1bmluaXRpYWxpemVkX3ZhcihwbCk7CiAJaW50IGxh c3RfcHJpbyA9IEk5MTVfUFJJT1JJVFlfSU5WQUxJRDsKIAogCWxvY2tkZXBfYXNzZXJ0X2hlbGQo JmVuZ2luZS0+dGltZWxpbmUubG9jayk7CkBAIC0zNDIsMTIgKzM4MSwxMSBAQCBzdGF0aWMgdm9p ZCBfX3Vud2luZF9pbmNvbXBsZXRlX3JlcXVlc3RzKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVu Z2luZSkKIAkJR0VNX0JVR19PTihycV9wcmlvKHJxKSA9PSBJOTE1X1BSSU9SSVRZX0lOVkFMSUQp OwogCQlpZiAocnFfcHJpbyhycSkgIT0gbGFzdF9wcmlvKSB7CiAJCQlsYXN0X3ByaW8gPSBycV9w cmlvKHJxKTsKLQkJCXAgPSBsb29rdXBfcHJpb2xpc3QoZW5naW5lLCBsYXN0X3ByaW8pOworCQkJ cGwgPSBsb29rdXBfcHJpb2xpc3QoZW5naW5lLCBsYXN0X3ByaW8pOwogCQl9CiAJCUdFTV9CVUdf T04oUkJfRU1QVFlfUk9PVCgmZW5naW5lLT5leGVjbGlzdHMucXVldWUucmJfcm9vdCkpOwogCi0J CUdFTV9CVUdfT04ocC0+cHJpb3JpdHkgIT0gcnFfcHJpbyhycSkpOwotCQlsaXN0X2FkZCgmcnEt PnNjaGVkLmxpbmssICZwLT5yZXF1ZXN0cyk7CisJCWxpc3RfYWRkKCZycS0+c2NoZWQubGluaywg cGwpOwogCX0KIH0KIApAQCAtNjY0LDggKzcwMiw5IEBAIHN0YXRpYyB2b2lkIGV4ZWNsaXN0c19k ZXF1ZXVlKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIAl3aGlsZSAoKHJiID0gcmJf Zmlyc3RfY2FjaGVkKCZleGVjbGlzdHMtPnF1ZXVlKSkpIHsKIAkJc3RydWN0IGk5MTVfcHJpb2xp c3QgKnAgPSB0b19wcmlvbGlzdChyYik7CiAJCXN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxLCAqcm47 CisJCWludCBpOwogCi0JCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShycSwgcm4sICZwLT5yZXF1 ZXN0cywgc2NoZWQubGluaykgeworCQlwcmlvbGlzdF9mb3JfZWFjaF9yZXF1ZXN0X2NvbnN1bWUo cnEsIHJuLCBwLCBpKSB7CiAJCQkvKgogCQkJICogQ2FuIHdlIGNvbWJpbmUgdGhpcyByZXF1ZXN0 IHdpdGggdGhlIGN1cnJlbnQgcG9ydD8KIAkJCSAqIEl0IGhhcyB0byBiZSB0aGUgc2FtZSBjb250 ZXh0L3JpbmdidWZmZXIgYW5kIG5vdApAQCAtNjg0LDExICs3MjMsOCBAQCBzdGF0aWMgdm9pZCBl eGVjbGlzdHNfZGVxdWV1ZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCiAJCQkJICog Y29tYmluZSB0aGlzIHJlcXVlc3Qgd2l0aCB0aGUgbGFzdCwgdGhlbiB3ZQogCQkJCSAqIGFyZSBk b25lLgogCQkJCSAqLwotCQkJCWlmIChwb3J0ID09IGxhc3RfcG9ydCkgewotCQkJCQlfX2xpc3Rf ZGVsX21hbnkoJnAtPnJlcXVlc3RzLAotCQkJCQkJCSZycS0+c2NoZWQubGluayk7CisJCQkJaWYg KHBvcnQgPT0gbGFzdF9wb3J0KQogCQkJCQlnb3RvIGRvbmU7Ci0JCQkJfQogCiAJCQkJLyoKIAkJ CQkgKiBJZiBHVlQgb3ZlcnJpZGVzIHVzIHdlIG9ubHkgZXZlciBzdWJtaXQKQEAgLTY5OCwxMSAr NzM0LDggQEAgc3RhdGljIHZvaWQgZXhlY2xpc3RzX2RlcXVldWUoc3RydWN0IGludGVsX2VuZ2lu ZV9jcyAqZW5naW5lKQogCQkJCSAqIHJlcXVlc3QpIHRvIHRoZSBzZWNvbmQgcG9ydC4KIAkJCQkg Ki8KIAkJCQlpZiAoY3R4X3NpbmdsZV9wb3J0X3N1Ym1pc3Npb24obGFzdC0+aHdfY29udGV4dCkg fHwKLQkJCQkgICAgY3R4X3NpbmdsZV9wb3J0X3N1Ym1pc3Npb24ocnEtPmh3X2NvbnRleHQpKSB7 Ci0JCQkJCV9fbGlzdF9kZWxfbWFueSgmcC0+cmVxdWVzdHMsCi0JCQkJCQkJJnJxLT5zY2hlZC5s aW5rKTsKKwkJCQkgICAgY3R4X3NpbmdsZV9wb3J0X3N1Ym1pc3Npb24ocnEtPmh3X2NvbnRleHQp KQogCQkJCQlnb3RvIGRvbmU7Ci0JCQkJfQogCiAJCQkJR0VNX0JVR19PTihsYXN0LT5od19jb250 ZXh0ID09IHJxLT5od19jb250ZXh0KTsKIApAQCAtNzEzLDE1ICs3NDYsMTYgQEAgc3RhdGljIHZv aWQgZXhlY2xpc3RzX2RlcXVldWUoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQogCQkJ CUdFTV9CVUdfT04ocG9ydF9pc3NldChwb3J0KSk7CiAJCQl9CiAKLQkJCUlOSVRfTElTVF9IRUFE KCZycS0+c2NoZWQubGluayk7CisJCQlsaXN0X2RlbF9pbml0KCZycS0+c2NoZWQubGluayk7CisK IAkJCV9faTkxNV9yZXF1ZXN0X3N1Ym1pdChycSk7CiAJCQl0cmFjZV9pOTE1X3JlcXVlc3RfaW4o cnEsIHBvcnRfaW5kZXgocG9ydCwgZXhlY2xpc3RzKSk7CisKIAkJCWxhc3QgPSBycTsKIAkJCXN1 Ym1pdCA9IHRydWU7CiAJCX0KIAogCQlyYl9lcmFzZV9jYWNoZWQoJnAtPm5vZGUsICZleGVjbGlz dHMtPnF1ZXVlKTsKLQkJSU5JVF9MSVNUX0hFQUQoJnAtPnJlcXVlc3RzKTsKIAkJaWYgKHAtPnBy aW9yaXR5ICE9IEk5MTVfUFJJT1JJVFlfTk9STUFMKQogCQkJa21lbV9jYWNoZV9mcmVlKGVuZ2lu ZS0+aTkxNS0+cHJpb3JpdGllcywgcCk7CiAJfQpAQCAtNzQ1LDYgKzc3OSw3IEBAIHN0YXRpYyB2 b2lkIGV4ZWNsaXN0c19kZXF1ZXVlKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIAkg Ki8KIAlleGVjbGlzdHMtPnF1ZXVlX3ByaW9yaXR5ID0KIAkJcG9ydCAhPSBleGVjbGlzdHMtPnBv cnQgPyBycV9wcmlvKGxhc3QpIDogSU5UX01JTjsKKwlhc3NlcnRfcHJpb2xpc3RzKGV4ZWNsaXN0 cywgZXhlY2xpc3RzLT5xdWV1ZV9wcmlvcml0eSk7CiAKIAlpZiAoc3VibWl0KSB7CiAJCXBvcnRf YXNzaWduKHBvcnQsIGxhc3QpOwpAQCAtODU2LDE2ICs4OTEsMTYgQEAgc3RhdGljIHZvaWQgZXhl Y2xpc3RzX2NhbmNlbF9yZXF1ZXN0cyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCiAJ LyogRmx1c2ggdGhlIHF1ZXVlZCByZXF1ZXN0cyB0byB0aGUgdGltZWxpbmUgbGlzdCAoZm9yIHJl dGlyaW5nKS4gKi8KIAl3aGlsZSAoKHJiID0gcmJfZmlyc3RfY2FjaGVkKCZleGVjbGlzdHMtPnF1 ZXVlKSkpIHsKIAkJc3RydWN0IGk5MTVfcHJpb2xpc3QgKnAgPSB0b19wcmlvbGlzdChyYik7CisJ CWludCBpOwogCi0JCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShycSwgcm4sICZwLT5yZXF1ZXN0 cywgc2NoZWQubGluaykgewotCQkJSU5JVF9MSVNUX0hFQUQoJnJxLT5zY2hlZC5saW5rKTsKKwkJ cHJpb2xpc3RfZm9yX2VhY2hfcmVxdWVzdF9jb25zdW1lKHJxLCBybiwgcCwgaSkgeworCQkJbGlz dF9kZWxfaW5pdCgmcnEtPnNjaGVkLmxpbmspOwogCiAJCQlkbWFfZmVuY2Vfc2V0X2Vycm9yKCZy cS0+ZmVuY2UsIC1FSU8pOwogCQkJX19pOTE1X3JlcXVlc3Rfc3VibWl0KHJxKTsKIAkJfQogCiAJ CXJiX2VyYXNlX2NhY2hlZCgmcC0+bm9kZSwgJmV4ZWNsaXN0cy0+cXVldWUpOwotCQlJTklUX0xJ U1RfSEVBRCgmcC0+cmVxdWVzdHMpOwogCQlpZiAocC0+cHJpb3JpdHkgIT0gSTkxNV9QUklPUklU WV9OT1JNQUwpCiAJCQlrbWVtX2NhY2hlX2ZyZWUoZW5naW5lLT5pOTE1LT5wcmlvcml0aWVzLCBw KTsKIAl9CkBAIC0xMDcxLDggKzExMDYsNyBAQCBzdGF0aWMgdm9pZCBxdWV1ZV9yZXF1ZXN0KHN0 cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKIAkJCSAgc3RydWN0IGk5MTVfc2NoZWRfbm9k ZSAqbm9kZSwKIAkJCSAgaW50IHByaW8pCiB7Ci0JbGlzdF9hZGRfdGFpbCgmbm9kZS0+bGluaywK LQkJICAgICAgJmxvb2t1cF9wcmlvbGlzdChlbmdpbmUsIHByaW8pLT5yZXF1ZXN0cyk7CisJbGlz dF9hZGRfdGFpbCgmbm9kZS0+bGluaywgbG9va3VwX3ByaW9saXN0KGVuZ2luZSwgcHJpbykpOwog fQogCiBzdGF0aWMgdm9pZCBfX3VwZGF0ZV9xdWV1ZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpl bmdpbmUsIGludCBwcmlvKQpAQCAtMTE0Miw3ICsxMTc2LDcgQEAgc2NoZWRfbG9ja19lbmdpbmUo c3RydWN0IGk5MTVfc2NoZWRfbm9kZSAqbm9kZSwgc3RydWN0IGludGVsX2VuZ2luZV9jcyAqbG9j a2VkKQogc3RhdGljIHZvaWQgZXhlY2xpc3RzX3NjaGVkdWxlKHN0cnVjdCBpOTE1X3JlcXVlc3Qg KnJlcXVlc3QsCiAJCQkgICAgICAgY29uc3Qgc3RydWN0IGk5MTVfc2NoZWRfYXR0ciAqYXR0cikK IHsKLQlzdHJ1Y3QgaTkxNV9wcmlvbGlzdCAqdW5pbml0aWFsaXplZF92YXIocGwpOworCXN0cnVj dCBsaXN0X2hlYWQgKnVuaW5pdGlhbGl6ZWRfdmFyKHBsKTsKIAlzdHJ1Y3QgaW50ZWxfZW5naW5l X2NzICplbmdpbmUsICpsYXN0OwogCXN0cnVjdCBpOTE1X2RlcGVuZGVuY3kgKmRlcCwgKnA7CiAJ c3RydWN0IGk5MTVfZGVwZW5kZW5jeSBzdGFjazsKQEAgLTEyNDEsOCArMTI3NSw3IEBAIHN0YXRp YyB2b2lkIGV4ZWNsaXN0c19zY2hlZHVsZShzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpyZXF1ZXN0LAog CQkJCXBsID0gbG9va3VwX3ByaW9saXN0KGVuZ2luZSwgcHJpbyk7CiAJCQkJbGFzdCA9IGVuZ2lu ZTsKIAkJCX0KLQkJCUdFTV9CVUdfT04ocGwtPnByaW9yaXR5ICE9IHByaW8pOwotCQkJbGlzdF9t b3ZlX3RhaWwoJm5vZGUtPmxpbmssICZwbC0+cmVxdWVzdHMpOworCQkJbGlzdF9tb3ZlX3RhaWwo Jm5vZGUtPmxpbmssIHBsKTsKIAkJfSBlbHNlIHsKIAkJCS8qCiAJCQkgKiBJZiB0aGUgcmVxdWVz dCBpcyBub3QgaW4gdGhlIHByaW9saXN0IHF1ZXVlIGJlY2F1c2UKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3JpbmdidWZmZXIuaAppbmRleCAyZGZhNTg1NzEyYzIuLjE1MzRkZTViYjg1MiAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaApAQCAtMTkwLDExICsxOTAsMjIg QEAgZW51bSBpbnRlbF9lbmdpbmVfaWQgewogfTsKIAogc3RydWN0IGk5MTVfcHJpb2xpc3Qgewor CXN0cnVjdCBsaXN0X2hlYWQgcmVxdWVzdHNbSTkxNV9QUklPUklUWV9DT1VOVF07CiAJc3RydWN0 IHJiX25vZGUgbm9kZTsKLQlzdHJ1Y3QgbGlzdF9oZWFkIHJlcXVlc3RzOworCXVuc2lnbmVkIGxv bmcgdXNlZDsKIAlpbnQgcHJpb3JpdHk7CiB9OwogCisjZGVmaW5lIHByaW9saXN0X2Zvcl9lYWNo X3JlcXVlc3QoaXQsIHBsaXN0LCBpZHgpIFwKKwlmb3IgKGlkeCA9IDA7IGlkeCA8IEFSUkFZX1NJ WkUoKHBsaXN0KS0+cmVxdWVzdHMpOyBpZHgrKykgXAorCQlsaXN0X2Zvcl9lYWNoX2VudHJ5KGl0 LCAmKHBsaXN0KS0+cmVxdWVzdHNbaWR4XSwgc2NoZWQubGluaykKKworI2RlZmluZSBwcmlvbGlz dF9mb3JfZWFjaF9yZXF1ZXN0X2NvbnN1bWUoaXQsIG4sIHBsaXN0LCBpZHgpIFwKKwlmb3IgKDsg KGlkeCA9IGZmcygocGxpc3QpLT51c2VkKSk7IChwbGlzdCktPnVzZWQgJj0gfkJJVChpZHggLSAx KSkgXAorCQlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUoaXQsIG4sIFwKKwkJCQkJICYocGxpc3Qp LT5yZXF1ZXN0c1tpZHggLSAxXSwgXAorCQkJCQkgc2NoZWQubGluaykKKwogc3RydWN0IHN0X3By ZWVtcHRfaGFuZyB7CiAJc3RydWN0IGNvbXBsZXRpb24gY29tcGxldGlvbjsKIAlib29sIGluamVj dF9oYW5nOwotLSAKMi4xOS4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9p bnRlbC1nZngK