From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Hellstrom Subject: [PATCH 18/28] drm/vmwgfx: Avoid cmdbuf alloc sleeping if !TASK_RUNNING Date: Wed, 12 Aug 2015 22:43:07 -0700 Message-ID: <1439444597-4664-19-git-send-email-thellstrom@vmware.com> References: <1439444597-4664-1-git-send-email-thellstrom@vmware.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mx2.bahnhof.se (mx2.bahnhof.se [213.80.101.12]) by gabe.freedesktop.org (Postfix) with ESMTPS id 495066EBEC for ; Wed, 12 Aug 2015 23:03:46 -0700 (PDT) Received: from localhost (mf.bahnhof.se [213.80.101.20]) by mx2-reinject (Postfix) with ESMTP id 04A6840B77 for ; Thu, 13 Aug 2015 08:03:44 +0200 (CEST) Received: from mf3.bahnhof.se ([127.0.0.1]) by localhost (mf3.bahnhof.se [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 0kUxZ5kOUkTV for ; Thu, 13 Aug 2015 08:03:36 +0200 (CEST) Received: from mail.shipmail.org (h-5-150-198-217.na.cust.bahnhof.se [5.150.198.217]) by mf3.bahnhof.se (Postfix) with ESMTP id 71B733E8D29 for ; Thu, 13 Aug 2015 08:03:05 +0200 (CEST) Received: from mail.shipmail.org (lin0.kontor.shipmail.org [127.0.0.1]) by mail.shipmail.org (Postfix) with ESMTP id DCBE03DC001 for ; Thu, 13 Aug 2015 07:43:25 +0200 (CEST) Received: from localhost.localdomain (lin0.kontor.shipmail.org [127.0.0.1]) by mail.shipmail.org (Postfix) with ESMTP id C25453F4003 for ; Thu, 13 Aug 2015 07:43:25 +0200 (CEST) In-Reply-To: <1439444597-4664-1-git-send-email-thellstrom@vmware.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org SWYgdGhlIGNvbW1hbmQgYnVmZmVyIHBvb2wgaXMgb3V0IG9mIHNwYWNlLCB0aGUgY29kZSB3YWl0 cyB1bnRpbCBzcGFjZSBpcwphdmFpbGFibGUuIEhvd2V2ZXIgc2luY2UgdGhlIGNvbmRpdGlvbiBj b2RlIHRyaWVzIHRvIGFsbG9jYXRlIGEgcmFuZ2UgbWFuYWdlcgpub2RlIHdoaWxlICFUQVNLX1JV Tk5JTkcgd2UgZ2V0IGEga2VybmVsIHdhcm5pbmcuCgpBdm9pZCB0aGlzIGJ5IHByZS1hbGxvY2F0 aW5nIHRoZSBtbSBub2RlLiBUaGlzIHdpbGwgYWxzbyBwcm9iYWJseSBiZSBtb3JlCmVmZmljaWVu dC4KClNpZ25lZC1vZmYtYnk6IFRob21hcyBIZWxsc3Ryb20gPHRoZWxsc3Ryb21Adm13YXJlLmNv bT4KUmV2aWV3ZWQtYnk6IFNpbmNsYWlyIFllaCA8c3llaEB2bXdhcmUuY29tPgotLS0KIGRyaXZl cnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X2NtZGJ1Zi5jIHwgODMgKysrKysrKysrKysrKystLS0t LS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDM0IGluc2VydGlvbnMoKyksIDQ5IGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X2Nt ZGJ1Zi5jIGIvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfY21kYnVmLmMKaW5kZXggYjA0 NGJmNS4uZTk0ZmViMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhf Y21kYnVmLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfY21kYnVmLmMKQEAg LTMzLDcgKzMzLDggQEAKICAqIG11bHRpcGxlIG9mIHRoZSBETUEgcG9vbCBhbGxvY2F0aW9uIHNp emUuCiAgKi8KICNkZWZpbmUgVk1XX0NNREJVRl9JTkxJTkVfQUxJR04gNjQKLSNkZWZpbmUgVk1X X0NNREJVRl9JTkxJTkVfU0laRSAoMTAyNCAtIFZNV19DTURCVUZfSU5MSU5FX0FMSUdOKQorI2Rl ZmluZSBWTVdfQ01EQlVGX0lOTElORV9TSVpFIFwKKwkoMTAyNCAtIEFMSUdOKHNpemVvZihTVkdB Q0JIZWFkZXIpLCBWTVdfQ01EQlVGX0lOTElORV9BTElHTikpCiAKIC8qKgogICogc3RydWN0IHZt d19jbWRidWZfY29udGV4dCAtIENvbW1hbmQgYnVmZmVyIGNvbnRleHQgcXVldWVzCkBAIC0xNDUs NyArMTQ2LDcgQEAgc3RydWN0IHZtd19jbWRidWZfaGVhZGVyIHsKIAlTVkdBQ0JIZWFkZXIgKmNi X2hlYWRlcjsKIAlTVkdBQ0JDb250ZXh0IGNiX2NvbnRleHQ7CiAJc3RydWN0IGxpc3RfaGVhZCBs aXN0OwotCXN0cnVjdCBkcm1fbW1fbm9kZSAqbm9kZTsKKwlzdHJ1Y3QgZHJtX21tX25vZGUgbm9k ZTsKIAlkbWFfYWRkcl90IGhhbmRsZTsKIAl1OCAqY21kOwogCXNpemVfdCBzaXplOwpAQCAtMTY5 LDEzICsxNzAsMTMgQEAgc3RydWN0IHZtd19jbWRidWZfZGhlYWRlciB7CiAgKiBzdHJ1Y3Qgdm13 X2NtZGJ1Zl9hbGxvY19pbmZvIC0gQ29tbWFuZCBidWZmZXIgc3BhY2UgYWxsb2NhdGlvbiBtZXRh ZGF0YQogICoKICAqIEBwYWdlX3NpemU6IFNpemUgb2YgcmVxdWVzdGVkIGNvbW1hbmQgYnVmZmVy IHNwYWNlIGluIHBhZ2VzLgotICogQG5vZGU6IFRoZSByYW5nZSBtYW5hZ2VyIG5vZGUgaWYgYWxs b2NhdGlvbiBzdWNjZWVkZWQuCi0gKiBAcmV0OiBFcnJvciBjb2RlIGlmIGZhaWx1cmUuIE90aGVy d2lzZSAwLgorICogQG5vZGU6IFBvaW50ZXIgdG8gdGhlIHJhbmdlIG1hbmFnZXIgbm9kZS4KKyAq IEBkb25lOiBUcnVlIGlmIHRoaXMgYWxsb2NhdGlvbiBoYXMgc3VjY2VlZGVkLgogICovCiBzdHJ1 Y3Qgdm13X2NtZGJ1Zl9hbGxvY19pbmZvIHsKIAlzaXplX3QgcGFnZV9zaXplOwogCXN0cnVjdCBk cm1fbW1fbm9kZSAqbm9kZTsKLQlpbnQgcmV0OworCWJvb2wgZG9uZTsKIH07CiAKIC8qIExvb3Ag b3ZlciBlYWNoIGNvbnRleHQgaW4gdGhlIGNvbW1hbmQgYnVmZmVyIG1hbmFnZXIuICovCkBAIC0y NTMsOSArMjU0LDcgQEAgc3RhdGljIHZvaWQgX192bXdfY21kYnVmX2hlYWRlcl9mcmVlKHN0cnVj dCB2bXdfY21kYnVmX2hlYWRlciAqaGVhZGVyKQogCQlyZXR1cm47CiAJfQogCi0JZHJtX21tX3Jl bW92ZV9ub2RlKGhlYWRlci0+bm9kZSk7Ci0Ja2ZyZWUoaGVhZGVyLT5ub2RlKTsKLQloZWFkZXIt Pm5vZGUgPSBOVUxMOworCWRybV9tbV9yZW1vdmVfbm9kZSgmaGVhZGVyLT5ub2RlKTsKIAl3YWtl X3VwX2FsbCgmbWFuLT5hbGxvY19xdWV1ZSk7CiAJaWYgKGhlYWRlci0+Y2JfaGVhZGVyKQogCQlk bWFfcG9vbF9mcmVlKG1hbi0+aGVhZGVycywgaGVhZGVyLT5jYl9oZWFkZXIsCkBAIC02NjksMzIg KzY2OCwyNiBAQCBzdGF0aWMgYm9vbCB2bXdfY21kYnVmX3RyeV9hbGxvYyhzdHJ1Y3Qgdm13X2Nt ZGJ1Zl9tYW4gKm1hbiwKIHsKIAlpbnQgcmV0OwogCi0JaWYgKGluZm8tPm5vZGUpCisJaWYgKGlu Zm8tPmRvbmUpCiAJCXJldHVybiB0cnVlOwotCi0JaW5mby0+bm9kZSA9IGt6YWxsb2Moc2l6ZW9m KCppbmZvLT5ub2RlKSwgR0ZQX0tFUk5FTCk7Ci0JaWYgKCFpbmZvLT5ub2RlKSB7Ci0JCWluZm8t PnJldCA9IC1FTk9NRU07Ci0JCXJldHVybiB0cnVlOwotCX0KLQorIAorCW1lbXNldChpbmZvLT5u b2RlLCAwLCBzaXplb2YoKmluZm8tPm5vZGUpKTsKIAlzcGluX2xvY2tfYmgoJm1hbi0+bG9jayk7 Ci0JcmV0ID0gZHJtX21tX2luc2VydF9ub2RlX2dlbmVyaWMoJm1hbi0+bW0sIGluZm8tPm5vZGUs IGluZm8tPnBhZ2Vfc2l6ZSwgMCwgMCwKKwlyZXQgPSBkcm1fbW1faW5zZXJ0X25vZGVfZ2VuZXJp YygmbWFuLT5tbSwgaW5mby0+bm9kZSwgaW5mby0+cGFnZV9zaXplLAorCQkJCQkgMCwgMCwKIAkJ CQkJIERSTV9NTV9TRUFSQ0hfREVGQVVMVCwKIAkJCQkJIERSTV9NTV9DUkVBVEVfREVGQVVMVCk7 CiAJc3Bpbl91bmxvY2tfYmgoJm1hbi0+bG9jayk7Ci0JaWYgKHJldCkgewotCQlrZnJlZShpbmZv LT5ub2RlKTsKLQkJaW5mby0+bm9kZSA9IE5VTEw7Ci0JfQorCWluZm8tPmRvbmUgPSAhcmV0Owog Ci0JcmV0dXJuICEhaW5mby0+bm9kZTsKKwlyZXR1cm4gaW5mby0+ZG9uZTsKIH0KIAogLyoqCiAg KiB2bXdfY21kYnVmX2FsbG9jX3NwYWNlIC0gQWxsb2NhdGUgYnVmZmVyIHNwYWNlIGZyb20gdGhl IG1haW4gcG9vbC4KICAqCiAgKiBAbWFuOiBUaGUgY29tbWFuZCBidWZmZXIgbWFuYWdlci4KKyAq IEBub2RlOiBQb2ludGVyIHRvIHByZS1hbGxvY2F0ZWQgcmFuZ2UtbWFuYWdlciBub2RlLgogICog QHNpemU6IFRoZSBzaXplIG9mIHRoZSBhbGxvY2F0aW9uLgogICogQGludGVycnVwdGlibGU6IFdo ZXRoZXIgdG8gc2xlZXAgaW50ZXJydXB0aWJsZSB3aGlsZSB3YWl0aW5nIGZvciBzcGFjZS4KICAq CkBAIC03MDIsMTUgKzY5NSwxNiBAQCBzdGF0aWMgYm9vbCB2bXdfY21kYnVmX3RyeV9hbGxvYyhz dHJ1Y3Qgdm13X2NtZGJ1Zl9tYW4gKm1hbiwKICAqIG5vIHNwYWNlIGF2YWlsYWJsZSBBVE0sIGl0 IHR1cm5zIG9uIElSUSBoYW5kbGluZyBhbmQgc2xlZXBzIHdhaXRpbmcgZm9yIGl0IHRvCiAgKiBi ZWNvbWUgYXZhaWxhYmxlLgogICovCi1zdGF0aWMgc3RydWN0IGRybV9tbV9ub2RlICp2bXdfY21k YnVmX2FsbG9jX3NwYWNlKHN0cnVjdCB2bXdfY21kYnVmX21hbiAqbWFuLAotCQkJCQkJICBzaXpl X3Qgc2l6ZSwKLQkJCQkJCSAgYm9vbCBpbnRlcnJ1cHRpYmxlKQoraW50IHZtd19jbWRidWZfYWxs b2Nfc3BhY2Uoc3RydWN0IHZtd19jbWRidWZfbWFuICptYW4sCisJCQkgICBzdHJ1Y3QgZHJtX21t X25vZGUgKm5vZGUsCisJCQkgICBzaXplX3Qgc2l6ZSwKKwkJCSAgIGJvb2wgaW50ZXJydXB0aWJs ZSkKIHsKIAlzdHJ1Y3Qgdm13X2NtZGJ1Zl9hbGxvY19pbmZvIGluZm87CiAKIAlpbmZvLnBhZ2Vf c2l6ZSA9IFBBR0VfQUxJR04oc2l6ZSkgPj4gUEFHRV9TSElGVDsKLQlpbmZvLm5vZGUgPSBOVUxM OwotCWluZm8ucmV0ID0gMDsKKwlpbmZvLm5vZGUgPSBub2RlOworCWluZm8uZG9uZSA9IGZhbHNl OwogCiAJLyoKIAkgKiBUbyBwcmV2ZW50IHN0YXJ2YXRpb24gb2YgbGFyZ2UgcmVxdWVzdHMsIG9u bHkgb25lIGFsbG9jYXRpbmcgY2FsbApAQCAtNzE4LDIyICs3MTIsMTQgQEAgc3RhdGljIHN0cnVj dCBkcm1fbW1fbm9kZSAqdm13X2NtZGJ1Zl9hbGxvY19zcGFjZShzdHJ1Y3Qgdm13X2NtZGJ1Zl9t YW4gKm1hbiwKIAkgKi8KIAlpZiAoaW50ZXJydXB0aWJsZSkgewogCQlpZiAobXV0ZXhfbG9ja19p bnRlcnJ1cHRpYmxlKCZtYW4tPnNwYWNlX211dGV4KSkKLQkJCXJldHVybiBFUlJfUFRSKC1FUkVT VEFSVFNZUyk7CisJCQlyZXR1cm4gLUVSRVNUQVJUU1lTOwogCX0gZWxzZSB7CiAJCW11dGV4X2xv Y2soJm1hbi0+c3BhY2VfbXV0ZXgpOwogCX0KIAogCS8qIFRyeSB0byBhbGxvY2F0ZSBzcGFjZSB3 aXRob3V0IHdhaXRpbmcuICovCi0JKHZvaWQpIHZtd19jbWRidWZfdHJ5X2FsbG9jKG1hbiwgJmlu Zm8pOwotCWlmIChpbmZvLnJldCAmJiAhaW5mby5ub2RlKSB7Ci0JCW11dGV4X3VubG9jaygmbWFu LT5zcGFjZV9tdXRleCk7Ci0JCXJldHVybiBFUlJfUFRSKGluZm8ucmV0KTsKLQl9Ci0KLQlpZiAo aW5mby5ub2RlKSB7Ci0JCW11dGV4X3VubG9jaygmbWFuLT5zcGFjZV9tdXRleCk7Ci0JCXJldHVy biBpbmZvLm5vZGU7Ci0JfQorCWlmICh2bXdfY21kYnVmX3RyeV9hbGxvYyhtYW4sICZpbmZvKSkK KwkJZ290byBvdXRfdW5sb2NrOwogCiAJdm13X2dlbmVyaWNfd2FpdGVyX2FkZChtYW4tPmRldl9w cml2LAogCQkJICAgICAgIFNWR0FfSVJRRkxBR19DT01NQU5EX0JVRkZFUiwKQEAgLTc0OSw3ICs3 MzUsNyBAQCBzdGF0aWMgc3RydWN0IGRybV9tbV9ub2RlICp2bXdfY21kYnVmX2FsbG9jX3NwYWNl KHN0cnVjdCB2bXdfY21kYnVmX21hbiAqbWFuLAogCQkJCShtYW4tPmRldl9wcml2LCBTVkdBX0lS UUZMQUdfQ09NTUFORF9CVUZGRVIsCiAJCQkJICZtYW4tPmRldl9wcml2LT5jbWRidWZfd2FpdGVy cyk7CiAJCQltdXRleF91bmxvY2soJm1hbi0+c3BhY2VfbXV0ZXgpOwotCQkJcmV0dXJuIEVSUl9Q VFIocmV0KTsKKwkJCXJldHVybiByZXQ7CiAJCX0KIAl9IGVsc2UgewogCQl3YWl0X2V2ZW50KG1h bi0+YWxsb2NfcXVldWUsIHZtd19jbWRidWZfdHJ5X2FsbG9jKG1hbiwgJmluZm8pKTsKQEAgLTc1 NywxMSArNzQzLDExIEBAIHN0YXRpYyBzdHJ1Y3QgZHJtX21tX25vZGUgKnZtd19jbWRidWZfYWxs b2Nfc3BhY2Uoc3RydWN0IHZtd19jbWRidWZfbWFuICptYW4sCiAJdm13X2dlbmVyaWNfd2FpdGVy X3JlbW92ZShtYW4tPmRldl9wcml2LAogCQkJCSAgU1ZHQV9JUlFGTEFHX0NPTU1BTkRfQlVGRkVS LAogCQkJCSAgJm1hbi0+ZGV2X3ByaXYtPmNtZGJ1Zl93YWl0ZXJzKTsKKworb3V0X3VubG9jazoK IAltdXRleF91bmxvY2soJm1hbi0+c3BhY2VfbXV0ZXgpOwotCWlmIChpbmZvLnJldCAmJiAhaW5m by5ub2RlKQotCQlyZXR1cm4gRVJSX1BUUihpbmZvLnJldCk7CiAKLQlyZXR1cm4gaW5mby5ub2Rl OworCXJldHVybiAwOwogfQogCiAvKioKQEAgLTc4NSwxMCArNzcxLDEwIEBAIHN0YXRpYyBpbnQg dm13X2NtZGJ1Zl9zcGFjZV9wb29sKHN0cnVjdCB2bXdfY21kYnVmX21hbiAqbWFuLAogCWlmICgh bWFuLT5oYXNfcG9vbCkKIAkJcmV0dXJuIC1FTk9NRU07CiAKLQloZWFkZXItPm5vZGUgPSB2bXdf Y21kYnVmX2FsbG9jX3NwYWNlKG1hbiwgc2l6ZSwgaW50ZXJydXB0aWJsZSk7CisJcmV0ID0gdm13 X2NtZGJ1Zl9hbGxvY19zcGFjZShtYW4sICZoZWFkZXItPm5vZGUsICBzaXplLCBpbnRlcnJ1cHRp YmxlKTsKIAotCWlmIChJU19FUlIoaGVhZGVyLT5ub2RlKSkKLQkJcmV0dXJuIFBUUl9FUlIoaGVh ZGVyLT5ub2RlKTsKKwlpZiAocmV0KQorCQlyZXR1cm4gcmV0OwogCiAJaGVhZGVyLT5jYl9oZWFk ZXIgPSBkbWFfcG9vbF9hbGxvYyhtYW4tPmhlYWRlcnMsIEdGUF9LRVJORUwsCiAJCQkJCSAgICZo ZWFkZXItPmhhbmRsZSk7CkBAIC03OTcsOSArNzgzLDkgQEAgc3RhdGljIGludCB2bXdfY21kYnVm X3NwYWNlX3Bvb2woc3RydWN0IHZtd19jbWRidWZfbWFuICptYW4sCiAJCWdvdG8gb3V0X25vX2Ni X2hlYWRlcjsKIAl9CiAKLQloZWFkZXItPnNpemUgPSBoZWFkZXItPm5vZGUtPnNpemUgPDwgUEFH RV9TSElGVDsKKwloZWFkZXItPnNpemUgPSBoZWFkZXItPm5vZGUuc2l6ZSA8PCBQQUdFX1NISUZU OwogCWNiX2hkciA9IGhlYWRlci0+Y2JfaGVhZGVyOwotCW9mZnNldCA9IGhlYWRlci0+bm9kZS0+ c3RhcnQgPDwgUEFHRV9TSElGVDsKKwlvZmZzZXQgPSBoZWFkZXItPm5vZGUuc3RhcnQgPDwgUEFH RV9TSElGVDsKIAloZWFkZXItPmNtZCA9IG1hbi0+bWFwICsgb2Zmc2V0OwogCW1lbXNldChjYl9o ZHIsIDAsIHNpemVvZigqY2JfaGRyKSk7CiAJaWYgKG1hbi0+dXNpbmdfbW9iKSB7CkBAIC04MTQs OSArODAwLDggQEAgc3RhdGljIGludCB2bXdfY21kYnVmX3NwYWNlX3Bvb2woc3RydWN0IHZtd19j bWRidWZfbWFuICptYW4sCiAKIG91dF9ub19jYl9oZWFkZXI6CiAJc3Bpbl9sb2NrX2JoKCZtYW4t PmxvY2spOwotCWRybV9tbV9yZW1vdmVfbm9kZShoZWFkZXItPm5vZGUpOworCWRybV9tbV9yZW1v dmVfbm9kZSgmaGVhZGVyLT5ub2RlKTsKIAlzcGluX3VubG9ja19iaCgmbWFuLT5sb2NrKTsKLQlr ZnJlZShoZWFkZXItPm5vZGUpOwogCiAJcmV0dXJuIHJldDsKIH0KLS0gCjIuMS4wCgoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxp bmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK