From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Airlie Subject: [PATCH 5/8] sync_file: add support for a semaphore object (v2) Date: Wed, 12 Apr 2017 14:57:23 +1000 Message-ID: <20170412045726.13689-6-airlied@gmail.com> References: <20170412045726.13689-1-airlied@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170412045726.13689-1-airlied@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org RnJvbTogRGF2ZSBBaXJsaWUgPGFpcmxpZWRAcmVkaGF0LmNvbT4KClRoaXMgb2JqZWN0IGNhbiBi ZSB1c2VkIHRvIGltcGxlbWVudCB0aGUgVnVsa2FuIHNlbWFwaG9yZXMuCgpUaGUgb2JqZWN0IGJl aGF2aW91ciBkaWZmZXJzIGZyb20gZmVuY2UsIGluIHRoYXQgeW91IGNhbgpyZXBsYWNlIHRoZSB1 bmRlcmx5aW5nIGZlbmNlLCBhbmQgeW91IGNhbm5vdCBtZXJnZSBzZW1hcGhvcmVzLgoKdjI6IGNo YW5nZSByZXBsYWNlIGZlbmNlIEFQSSB0byBoYXZlIGEgcmV0dXJuIHZhbHVlLApkb24ndCBhbGxv dyBwb2xsaW5nIG9uIHNlbWFwaG9yZSBvYmplY3RzLApkb24ndCB3b3JyeSBhYm91dCBwb2xsaW5n IHdoZW4gcmVwbGFjaW5nIGZlbmNlcyAoc2luY2UKd2UgZG9uJ3QgYWxsb3cgcG9sbGluZyBhbnlt b3JlKS4Kc3dpdGNoIEFQSXMgdG8gb25lIHRvIHJldHJlaXZlIGEgZmVuY2UgZnJvbSBhIHN5bmNf ZmlsZQp0byBtYWtlIEFNREdQVSBpbXBsZW1lbnRhdGlvbiBtb3JlIHJvYnVzdC4KClNpZ25lZC1v ZmYtYnk6IERhdmUgQWlybGllIDxhaXJsaWVkQHJlZGhhdC5jb20+Ci0tLQogZHJpdmVycy9kbWEt YnVmL3N5bmNfZmlsZS5jICAgIHwgNzMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrLS0tLS0tCiBpbmNsdWRlL2xpbnV4L3N5bmNfZmlsZS5oICAgICAgfCAgNCArKysKIGluY2x1 ZGUvdWFwaS9saW51eC9zeW5jX2ZpbGUuaCB8IDE0ICsrKysrKysrCiAzIGZpbGVzIGNoYW5nZWQs IDgxIGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMv ZG1hLWJ1Zi9zeW5jX2ZpbGUuYyBiL2RyaXZlcnMvZG1hLWJ1Zi9zeW5jX2ZpbGUuYwppbmRleCA1 N2VhN2M3Li4wMWMxMmU3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2RtYS1idWYvc3luY19maWxlLmMK KysrIGIvZHJpdmVycy9kbWEtYnVmL3N5bmNfZmlsZS5jCkBAIC00NCw3ICs0NCw3IEBAIGludCBz eW5jX2ZpbGVfdmFsaWRhdGVfdHlwZV9mbGFncyh1aW50MzJfdCB0eXBlLCB1aW50MzJfdCBmbGFn cykKIHsKIAlpZiAoZmxhZ3MpCiAJCXJldHVybiAtRUlOVkFMOwotCWlmICh0eXBlICE9IFNZTkNf RklMRV9UWVBFX0ZFTkNFKQorCWlmICh0eXBlICE9IFNZTkNfRklMRV9UWVBFX0ZFTkNFICYmIHR5 cGUgIT0gU1lOQ19GSUxFX1RZUEVfU0VNQVBIT1JFKQogCQlyZXR1cm4gLUVJTlZBTDsKIAlyZXR1 cm4gMDsKIH0KQEAgLTE2NSw2ICsxNjUsMjggQEAgc3RydWN0IHN5bmNfZmlsZSAqc3luY19maWxl X2ZkZ2V0KGludCBmZCkKIEVYUE9SVF9TWU1CT0woc3luY19maWxlX2ZkZ2V0KTsKIAogLyoqCisg KiBzeW5jX2ZpbGVfZ2V0X2ZlbmNlX2Zyb21fc3luY19maWxlIC0gZ2V0IHRoZSBmZW5jZSByZWxh dGVkIHRvIHRoZSBzeW5jX2ZpbGUKKyAqIEBzeW5jX2ZpbGU6CQlzeW5jX2ZpbGUgZmQgdG8gZ2V0 IHRoZSBmZW5jZSBmcm9tCisgKgorICogUmV0dXJucyBhIGZlbmNlIHRoYXQgcmVwcmVzZW50cyBh bGwgZmVuY2UgaW4gdGhlIHN5bmNfZmlsZS4gT24gZXJyb3IgTlVMTCBpcyByZXR1cm5lZC4KKyAq Lworc3RydWN0IGRtYV9mZW5jZSAqc3luY19maWxlX2dldF9mZW5jZV9mcm9tX3N5bmNfZmlsZShz dHJ1Y3Qgc3luY19maWxlICpzeW5jX2ZpbGUpCit7CisJc3RydWN0IGRtYV9mZW5jZSAqZmVuY2U7 CisKKwlpZiAoIXJjdV9hY2Nlc3NfcG9pbnRlcihzeW5jX2ZpbGUtPmZlbmNlKSkgeworCQlmcHV0 KHN5bmNfZmlsZS0+ZmlsZSk7CisJCXJldHVybiBOVUxMOworCX0KKworCXJjdV9yZWFkX2xvY2so KTsKKwlmZW5jZSA9IGRtYV9mZW5jZV9nZXRfcmN1X3NhZmUoJnN5bmNfZmlsZS0+ZmVuY2UpOwor CXJjdV9yZWFkX3VubG9jaygpOworCXJldHVybiBmZW5jZTsKK30KK0VYUE9SVF9TWU1CT0woc3lu Y19maWxlX2dldF9mZW5jZV9mcm9tX3N5bmNfZmlsZSk7CisKKy8qKgogICogc3luY19maWxlX2dl dF9mZW5jZSAtIGdldCB0aGUgZmVuY2UgcmVsYXRlZCB0byB0aGUgc3luY19maWxlIGZkCiAgKiBA ZmQ6CQlzeW5jX2ZpbGUgZmQgdG8gZ2V0IHRoZSBmZW5jZSBmcm9tCiAgKgpAQCAtMTgwLDE0ICsy MDIsNyBAQCBzdHJ1Y3QgZG1hX2ZlbmNlICpzeW5jX2ZpbGVfZ2V0X2ZlbmNlKGludCBmZCkKIAlp ZiAoIXN5bmNfZmlsZSkKIAkJcmV0dXJuIE5VTEw7CiAKLQlpZiAoIXJjdV9hY2Nlc3NfcG9pbnRl cihzeW5jX2ZpbGUtPmZlbmNlKSkgewotCQlmcHV0KHN5bmNfZmlsZS0+ZmlsZSk7Ci0JCXJldHVy biBOVUxMOwotCX0KLQotCXJjdV9yZWFkX2xvY2soKTsKLQlmZW5jZSA9IGRtYV9mZW5jZV9nZXRf cmN1X3NhZmUoJnN5bmNfZmlsZS0+ZmVuY2UpOwotCXJjdV9yZWFkX3VubG9jaygpOworCWZlbmNl ID0gc3luY19maWxlX2dldF9mZW5jZV9mcm9tX3N5bmNfZmlsZShzeW5jX2ZpbGUpOwogCiAJZnB1 dChzeW5jX2ZpbGUtPmZpbGUpOwogCkBAIC0yMDIsNiArMjE3LDM5IEBAIHN5bmNfZmlsZV9nZXRf ZmVuY2VfbG9ja2VkKHN0cnVjdCBzeW5jX2ZpbGUgKnN5bmNfZmlsZSkKIAkJCQkJIHN5bmNfZmls ZV9oZWxkKHN5bmNfZmlsZSkpOwogfQogCisvKioKKyAqIHN5bmNfZmlsZV9yZXBsYWNlX2ZlbmNl IC0gcmVwbGFjZSB0aGUgZmVuY2UgcmVsYXRlZCB0byB0aGUgc3luY19maWxlCisgKiBAc3luY19m aWxlOgkgc3luYyBmaWxlIHRvIHJlcGxhY2UgZmVuY2UgaW4KKyAqIEBmZW5jZTogZmVuY2UgdG8g cmVwbGFjZSB3aXRoIChvciBOVUxMIGZvciBubyBmZW5jZSkuCisgKiBSZXR1cm5zIHByZXZpb3Vz IGZlbmNlLgorICovCitpbnQgc3luY19maWxlX3JlcGxhY2VfZmVuY2Uoc3RydWN0IHN5bmNfZmls ZSAqc3luY19maWxlLAorCQkJICAgIHN0cnVjdCBkbWFfZmVuY2UgKmZlbmNlLAorCQkJICAgIHN0 cnVjdCBkbWFfZmVuY2UgKipvbGRfZmVuY2UpCit7CisJc3RydWN0IGRtYV9mZW5jZSAqcmV0X2Zl bmNlID0gTlVMTDsKKworCS8qIGRvbid0IGFsbG93IHJlcGxhY2Ugb24gZmVuY2Ugc3luYyBmaWxl cyAqLworCWlmIChzeW5jX2ZpbGUtPnR5cGUgIT0gU1lOQ19GSUxFX1RZUEVfU0VNQVBIT1JFKQor CQlyZXR1cm4gLUVJTlZBTDsKKworCWlmIChmZW5jZSA9PSBzeW5jX2ZpbGUtPmZlbmNlKQorCQly ZXR1cm4gLUVJTlZBTDsKKworCWlmIChmZW5jZSkKKwkJZG1hX2ZlbmNlX2dldChmZW5jZSk7CisK KwltdXRleF9sb2NrKCZzeW5jX2ZpbGUtPmxvY2spOworCisJcmV0X2ZlbmNlID0gc3luY19maWxl X2dldF9mZW5jZV9sb2NrZWQoc3luY19maWxlKTsKKwlSQ1VfSU5JVF9QT0lOVEVSKHN5bmNfZmls ZS0+ZmVuY2UsIGZlbmNlKTsKKworCW11dGV4X3VubG9jaygmc3luY19maWxlLT5sb2NrKTsKKwkq b2xkX2ZlbmNlID0gcmV0X2ZlbmNlOworCXJldHVybiAwOworfQorRVhQT1JUX1NZTUJPTChzeW5j X2ZpbGVfcmVwbGFjZV9mZW5jZSk7CisKIHN0YXRpYyBpbnQgc3luY19maWxlX3NldF9mZW5jZShz dHJ1Y3Qgc3luY19maWxlICpzeW5jX2ZpbGUsCiAJCQkgICAgICAgc3RydWN0IGRtYV9mZW5jZSAq KmZlbmNlcywgaW50IG51bV9mZW5jZXMpCiB7CkBAIC00MDYsNiArNDU0LDEwIEBAIHN0YXRpYyB1 bnNpZ25lZCBpbnQgc3luY19maWxlX3BvbGwoc3RydWN0IGZpbGUgKmZpbGUsIHBvbGxfdGFibGUg KndhaXQpCiAJdW5zaWduZWQgaW50IHJldF92YWwgPSAwOwogCXN0cnVjdCBkbWFfZmVuY2UgKmZl bmNlOwogCisJLyogYmFuIHBvbGxzIG9uIHRoZSBzeW5jIGZpbGUgc2VtYXBob3JlcyAqLworCWlm ICghc3luY19maWxlIHx8IHN5bmNfZmlsZS0+dHlwZSAhPSBTWU5DX0ZJTEVfVFlQRV9GRU5DRSkK KwkJcmV0dXJuIFBPTExFUlIgfCBQT0xMTlZBTDsKKwogCXBvbGxfd2FpdChmaWxlLCAmc3luY19m aWxlLT53cSwgd2FpdCk7CiAKIAltdXRleF9sb2NrKCZzeW5jX2ZpbGUtPmxvY2spOwpAQCAtNDUz LDcgKzUwNSw4IEBAIHN0YXRpYyBsb25nIHN5bmNfZmlsZV9pb2N0bF9tZXJnZShzdHJ1Y3Qgc3lu Y19maWxlICpzeW5jX2ZpbGUsCiAKIAlkYXRhLm5hbWVbc2l6ZW9mKGRhdGEubmFtZSkgLSAxXSA9 ICdcMCc7CiAKLQlpZiAoc3luY19maWxlLT50eXBlICE9IGZlbmNlMi0+dHlwZSkgeworCWlmIChz eW5jX2ZpbGUtPnR5cGUgIT0gZmVuY2UyLT50eXBlIHx8CisJICAgIHN5bmNfZmlsZS0+dHlwZSAh PSBTWU5DX0ZJTEVfVFlQRV9GRU5DRSkgewogCQllcnIgPSAtRUlOVkFMOwogCQlnb3RvIGVycl9w dXRfZmQ7CiAJfQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9zeW5jX2ZpbGUuaCBiL2luY2x1 ZGUvbGludXgvc3luY19maWxlLmgKaW5kZXggNGJmNjYxYi4uMTRkZmYyNSAxMDA2NDQKLS0tIGEv aW5jbHVkZS9saW51eC9zeW5jX2ZpbGUuaAorKysgYi9pbmNsdWRlL2xpbnV4L3N5bmNfZmlsZS5o CkBAIC02MSw1ICs2MSw5IEBAIGludCBzeW5jX2ZpbGVfdmFsaWRhdGVfdHlwZV9mbGFncyh1aW50 MzJfdCB0eXBlLCB1aW50MzJfdCBmbGFncyk7CiBzdHJ1Y3Qgc3luY19maWxlICpzeW5jX2ZpbGVf YWxsb2ModWludDMyX3QgdHlwZSwgdWludDMyX3QgZmxhZ3MpOwogc3RydWN0IHN5bmNfZmlsZSAq c3luY19maWxlX2NyZWF0ZShzdHJ1Y3QgZG1hX2ZlbmNlICpmZW5jZSwgdWludDMyX3QgdHlwZSwg dWludDMyX3QgZmxhZ3MpOwogc3RydWN0IGRtYV9mZW5jZSAqc3luY19maWxlX2dldF9mZW5jZShp bnQgZmQpOworc3RydWN0IGRtYV9mZW5jZSAqc3luY19maWxlX2dldF9mZW5jZV9mcm9tX3N5bmNf ZmlsZShzdHJ1Y3Qgc3luY19maWxlICpzeW5jX2ZpbGUpOwogc3RydWN0IHN5bmNfZmlsZSAqc3lu Y19maWxlX2ZkZ2V0KGludCBmZCk7CitpbnQgc3luY19maWxlX3JlcGxhY2VfZmVuY2Uoc3RydWN0 IHN5bmNfZmlsZSAqc3luY19maWxlLAorCQkJICAgIHN0cnVjdCBkbWFfZmVuY2UgKmZlbmNlLAor CQkJICAgIHN0cnVjdCBkbWFfZmVuY2UgKipvbGRfZmVuY2UpOwogI2VuZGlmIC8qIF9MSU5VWF9T WU5DX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvdWFwaS9saW51eC9zeW5jX2ZpbGUuaCBiL2lu Y2x1ZGUvdWFwaS9saW51eC9zeW5jX2ZpbGUuaAppbmRleCBmNDM5Y2RhLi41ZjI2NmUwIDEwMDY0 NAotLS0gYS9pbmNsdWRlL3VhcGkvbGludXgvc3luY19maWxlLmgKKysrIGIvaW5jbHVkZS91YXBp L2xpbnV4L3N5bmNfZmlsZS5oCkBAIC04MCw2ICs4MCwyMCBAQCBzdHJ1Y3Qgc3luY19maWxlX2lu Zm8gewogI2RlZmluZSBTWU5DX0ZJTEVfVFlQRV9GRU5DRSAwCiAKIC8qKgorICogRE9DOiBTWU5D X0ZJTEVfVFlQRV9TRU1BUEhPUkUgLSBzZW1hcGhvcmUgc3luYyBmaWxlIG9iamVjdAorICoKKyAq IFRoaXMgaXMgYSBzeW5jIGZpbGUgdGhhdCBvcGVyYXRlcyBsaWtlIGEgVnVsa2FuIHNlbWFwaG9y ZS4KKyAqIFRoZSBvYmplY3Qgc2hvdWxkIGp1c3QgYmUgaW1wb3J0ZWQvZXhwb3J0ZWQgYnV0IG5v dCB1c2UgdGhlCisgKiBzeW5jIGZpbGUgaW9jdGxzIChleGNlcHQgaW5mbykuCisgKiBUaGlzIG9i amVjdCBjYW4gaGF2ZSBpdCdzIGJhY2tpbmcgZmVuY2UgcmVwbGFjZWQgbXVsdGlwbGUgdGltZXMu CisgKiBFYWNoIHNpZ25hbCBvcGVyYXRpb24gYXNzaWducyBhIGJhY2tpbmcgZmVuY2UuCisgKiBF YWNoIHdhaXQgb3BlcmF0aW9uIHdhaXRzIG9uIHRoZSBjdXJyZW50IGZlbmNlLCBhbmQgcmVtb3Zl cyBpdC4KKyAqIFRoZXNlIG9wZXJhdGlvbnMgc2hvdWxkIGhhcHBlbiB2aWEgZHJpdmVyIGNvbW1h bmQgc3VibWlzc2lvbiBpbnRlcmZhY2VzLgorICogVGhpcyBpcyB1c2VmdWwgZm9yIHNoYXJlZCB2 dWxrYW4gc2VtYXBob3Jlcy4KKyAqLworI2RlZmluZSBTWU5DX0ZJTEVfVFlQRV9TRU1BUEhPUkUg MQorCisvKioKICAqIHN0cnVjdCBzeW5jX2ZpbGVfdHlwZSAtIGRhdGEgcmV0dXJuZWQgZnJvbSBz eW5jIGZpbGUgdHlwZSBpb2N0bAogICogQHR5cGU6CXN5bmNfZmlsZSB0eXBlCiAgKiBAZmxhZ3M6 CXN5bmNfZmlsZSBjcmVhdGlvbiBmbGFncwotLSAKMi45LjMKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRl dmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=