From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jason Wang Subject: Re: read_barrier_depends() usage in vhost.c Date: Mon, 21 Oct 2019 13:48:53 +0800 Message-ID: References: <20191016233340.djrr7o7dwueqccac@willie-the-truck> <2429dbbc-ec80-3a76-82ff-481c0523f68a@redhat.com> <20191018205814.nbawp3btlpr5p2rf@willie-the-truck> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20191018205814.nbawp3btlpr5p2rf@willie-the-truck> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: virtualization-bounces@lists.linux-foundation.org Errors-To: virtualization-bounces@lists.linux-foundation.org To: Will Deacon Cc: linux-kernel@lists.infradead.org, paulmck@kernel.org, mst@redhat.com, peterz@infradead.org, virtualization@lists.linux-foundation.org, stern@rowland.harvard.edu List-Id: virtualization@lists.linuxfoundation.org Ck9uIDIwMTkvMTAvMTkg5LiK5Y2INDo1OCwgV2lsbCBEZWFjb24gd3JvdGU6Cj4gT24gVGh1LCBP Y3QgMTcsIDIwMTkgYXQgMTA6MTc6MThBTSArMDgwMCwgSmFzb24gV2FuZyB3cm90ZToKPj4gT24g MjAxOS8xMC8xNyDkuIrljYg3OjMzLCBXaWxsIERlYWNvbiB3cm90ZToKPj4+IEluIGFuIGF0dGVt cHQgdG8gcmVtb3ZlIHRoZSByZW1haW5pbmcgdHJhY2VzIG9mIFtzbXBfXXJlYWRfYmFycmllcl9k ZXBlbmRzKCkKPj4+IGZvbGxvd2luZyBteSBwcmV2aW91cyBwYXRjaGVzIHRvIHN0cmVuZ3RoZW4g UkVBRF9PTkNFKCkgZm9yIEFscGhhIFsxXSwgSQo+Pj4gZW5kZWQgdXAgdHJ5aW5nIHRvIGRlY2lw aGVyIHRoZSByZWFkX2JhcnJpZXJfZGVwZW5kcygpIHVzYWdlIGluIHRoZSB2aG9zdAo+Pj4gZHJp dmVyOgo+Pj4KPj4+IC0tLT44Cj4+Pgo+Pj4gLy8gZHJpdmVycy92aG9zdC92aG9zdC5jCj4+PiBz dGF0aWMgaW50IGdldF9pbmRpcmVjdChzdHJ1Y3Qgdmhvc3RfdmlydHF1ZXVlICp2cSwKPj4+IAkJ CXN0cnVjdCBpb3ZlYyBpb3ZbXSwgdW5zaWduZWQgaW50IGlvdl9zaXplLAo+Pj4gCQkJdW5zaWdu ZWQgaW50ICpvdXRfbnVtLCB1bnNpZ25lZCBpbnQgKmluX251bSwKPj4+IAkJCXN0cnVjdCB2aG9z dF9sb2cgKmxvZywgdW5zaWduZWQgaW50ICpsb2dfbnVtLAo+Pj4gCQkJc3RydWN0IHZyaW5nX2Rl c2MgKmluZGlyZWN0KQo+Pj4gewo+Pj4gCVsuLi5dCj4+Pgo+Pj4gCS8qIFdlIHdpbGwgdXNlIHRo ZSByZXN1bHQgYXMgYW4gYWRkcmVzcyB0byByZWFkIGZyb20sIHNvIG1vc3QKPj4+IAkgKiBhcmNo aXRlY3R1cmVzIG9ubHkgbmVlZCBhIGNvbXBpbGVyIGJhcnJpZXIgaGVyZS4gKi8KPj4+IAlyZWFk X2JhcnJpZXJfZGVwZW5kcygpOwo+Pj4KPj4+IC0tLT44Cj4+Pgo+Pj4gVW5mb3J0dW5hdGVseSwg YWx0aG91Z2ggdGhlIGJhcnJpZXIgaXMgY29tbWVudGVkIChodXJyYWghKSwgaXQncyBub3QKPj4+ IHBhcnRpY3VsYXJseSBlbmxpZ2h0ZW5pbmcgYWJvdXQgdGhlIGFjY2Vzc2VzIG1ha2luZyB1cCB0 aGUgZGVwZW5kZW5jeQo+Pj4gY2hhaW4sIGFuZCBJIGRvbid0IHVuZGVyc3RhbmQgdGhlIHN1cHBv c2VkIG5lZWQgZm9yIGEgY29tcGlsZXIgYmFycmllcgo+Pj4gZWl0aGVyIChyZWFkX2JhcnJpZXJf ZGVwZW5kcygpIGRvZXNuJ3QgZ2VuZXJhbGx5IHByb3ZpZGUgdGhpcykuCj4+Pgo+Pj4gRG9lcyBh bnlib2R5IGtub3cgd2hpY2ggYWNjZXNzZXMgYXJlIGJlaW5nIG9yZGVyZWQgaGVyZT8gVXN1YWxs eSB5b3UnZCBuZWVkCj4+PiBhIFJFQURfT05DRSgpL3JjdV9kZXJlZmVyZW5jZSgpIGJlZ2lubmlu ZyB0aGUgY2hhaW4sIGJ1dCBJIGhhdmVuJ3QgbWFuYWdlZAo+Pj4gdG8gZmluZCBvbmUuLi4KPj4+ Cj4+IEkgZ3Vlc3MgaXQgd2FzIGJlY2F1c2Ugd2Ugd2lsbCByZWFkIGZyb20gdGhlIGFkZHJlc3Mg c3RvcmVkIGluIHRoZSBpb3YgbGlrZToKPj4KPj4gMSkgdHJhc25sYXRlX2Rlc2MoKSB0aGF0IHN0 b3JlcyB0aGUgdXNlcnNwYWNlIGJ1ZmZlciBwb2ludGVyIGluIHRoZSBpb3YKPj4KPj4gMikgY29w eV9mcm9tX2l0ZXIoKSB0aGF0IHJlYWRzIGZyb20gdGhvc2UgcG9pbnRlcnMKPiBJc24ndCB0aGF0 IGV4YWN0bHkgdGhlIHNhbWUgZmxvdyBhcyB2aG9zdF9jb3B5X2Zyb21fdXNlcigpLCB3aGljaCBk b2Vzbid0Cj4gaGF2ZSB0aGUgYmFycmllcj8KCgpUaGVyZSdzIGEgcm1iIGJlZm9yZSBjYWxsaW5n IHZob3N0X2NvcHlfZnJvbV91c2VyKCkgKHZob3N0X2dldF9kZXNjKCkpLgoKCj4gICBTdGFyaW5n IGF0IHRoZSBjb2RlIHNvbWUgbW9yZSwgbXkgYmVzdCBiZXQgYXQgdGhlIG1vbWVudAo+IGlzIHRo YXQgdGhlIGxvYWQgb2YgJ2luZGlyZWN0LT5hZGRyJyBpcyBwcm9iYWJseSB0aGUgb25lIHRvIHdv cnJ5IGFib3V0LAo+IHNpbmNlIGl0J3MgcGFydCBvZiB0aGUgdnJpbmcgYW5kIGNhbiBiZSB1cGRh dGVkIGNvbmN1cnJlbnRseS4KCgpJJ20gYWxzbyBjb25mdXNlZCBhYm91dCB0aGUgYmFycmllciBo ZXJlLCBiYXNpY2FsbHkgaW4gZHJpdmVyIHNpZGUgd2UgZGlkOgoKMSkgYWxsb2NhdGUgcGFnZXMK CjIpIHN0b3JlIHBhZ2VzIGluIGluZGlyZWN0LT5hZGRyCgozKSBzbXBfd21iKCkKCjQpIGluY3Jl YXNlIHRoZSBhdmFpbCBpZHggKHNvbWVob3cgYSB0YWlsIHBvaW50ZXIgb2YgdnJpbmcpCgppbiB2 aG9zdCB3ZSBkaWQ6CgoxKSByZWFkIGF2YWlsIGlkeAoKMikgc21wX3JtYigpCgozKSByZWFkIGlu ZGlyZWN0LT5hZGRyCgo0KSByZWFkIGZyb20gaW5kaXJlY3QtPmFkZHIKCkl0IGxvb2tzIHRvIG1l IGV2ZW4gdGhlIGRhdGEgZGVwZW5kZW5jeSBiYXJyaWVyIGlzIG5vdCBuZWNlc3Nhcnkgc2luY2Ug CndlIGhhdmUgcm1iKCkgd2hpY2ggaXMgc3VmZmljaWVudCBmb3IgdXMgdG8gdGhlIGNvcnJlY3Qg aW5kaXJlY3QtPmFkZHIgCmFuZCBkcml2ZXIgYXJlIG5vdCBleHBlY3RlZCB0byBkbyBhbnkgd3Jp dGluZyB0byBpbmRpcmVjdC0+YWRkciBhZnRlciAKYXZhaWwgaWR4IGlzIGluY3JlYXNlZCA/CgpU aGFua3MKCgo+Cj4+IFNvIHdlIG5lZWQgYSBkYXRhIGRlcGVuZGVuY3kgYmFycmllciBpbiB0aGUg bWlkZGxlIGFzIGV4cGxhaW5lZCBpbiB0aGUKPj4gbWVtb3J5LWJhcnJpZXJzLnR4dD8gKHNpbmNl IFJFQURfT05DRSBpcyBub3QgdXNlZCBpbiBpb3YgaXRlcmF0b3IpLgo+IElmIHRoZSBiYXJyaWVy IGlzIGFjdHVhbGx5IHJlcXVpcmVkLCB0aGVuIHRoZXJlIG11c3QgYmUgYSBjb25jdXJyZW50IGFj Y2Vzcwo+IGludm9sdmVkLCBpbiB3aGljaCBjYXNlIFJFQURfT05DRSBzaG91bGQgYWxzbyBiZSB1 c2VkLiBTbyBJIHdvdWxkIHByb3Bvc2UKPiBzb21ldGhpbmcgbGlrZSB0aGUgZGlmZiBiZWxvdywg YnV0IEknZCBzdGlsbCBiZSBnbGFkIHRvIGhlYXIgd2hldGhlciBJJ20KPiBiYXJraW5nIHVwIHRo ZSB3cm9uZyB0cmVlLgo+Cj4gV2lsbAo+Cj4gLS0tPjgKPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L3Zob3N0L3Zob3N0LmMgYi9kcml2ZXJzL3Zob3N0L3Zob3N0LmMKPiBpbmRleCAzNmNhMmNmNDE5 YmYuLjJlMzcwYTIyOWZlYSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL3Zob3N0L3Zob3N0LmMKPiAr KysgYi9kcml2ZXJzL3Zob3N0L3Zob3N0LmMKPiBAQCAtMjEwNyw2ICsyMTA3LDcgQEAgc3RhdGlj IGludCBnZXRfaW5kaXJlY3Qoc3RydWN0IHZob3N0X3ZpcnRxdWV1ZSAqdnEsCj4gICB7Cj4gICAJ c3RydWN0IHZyaW5nX2Rlc2MgZGVzYzsKPiAgIAl1bnNpZ25lZCBpbnQgaSA9IDAsIGNvdW50LCBm b3VuZCA9IDA7Cj4gKwlfX3ZpcnRpbzY0IGFkZHIgPSBSRUFEX09OQ0UoaW5kaXJlY3QtPmFkZHIp Owo+ICAgCXUzMiBsZW4gPSB2aG9zdDMyX3RvX2NwdSh2cSwgaW5kaXJlY3QtPmxlbik7Cj4gICAJ c3RydWN0IGlvdl9pdGVyIGZyb207Cj4gICAJaW50IHJldCwgYWNjZXNzOwo+IEBAIC0yMTIwLDcg KzIxMjEsNyBAQCBzdGF0aWMgaW50IGdldF9pbmRpcmVjdChzdHJ1Y3Qgdmhvc3RfdmlydHF1ZXVl ICp2cSwKPiAgIAkJcmV0dXJuIC1FSU5WQUw7Cj4gICAJfQo+ICAgCj4gLQlyZXQgPSB0cmFuc2xh dGVfZGVzYyh2cSwgdmhvc3Q2NF90b19jcHUodnEsIGluZGlyZWN0LT5hZGRyKSwgbGVuLCB2cS0+ aW5kaXJlY3QsCj4gKwlyZXQgPSB0cmFuc2xhdGVfZGVzYyh2cSwgdmhvc3Q2NF90b19jcHUodnEs IGFkZHIpLCBsZW4sIHZxLT5pbmRpcmVjdCwKPiAgIAkJCSAgICAgVUlPX01BWElPViwgVkhPU1Rf QUNDRVNTX1JPKTsKPiAgIAlpZiAodW5saWtlbHkocmV0IDwgMCkpIHsKPiAgIAkJaWYgKHJldCAh PSAtRUFHQUlOKQo+IEBAIC0yMTI5LDEwICsyMTMwLDYgQEAgc3RhdGljIGludCBnZXRfaW5kaXJl Y3Qoc3RydWN0IHZob3N0X3ZpcnRxdWV1ZSAqdnEsCj4gICAJfQo+ICAgCWlvdl9pdGVyX2luaXQo JmZyb20sIFJFQUQsIHZxLT5pbmRpcmVjdCwgcmV0LCBsZW4pOwo+ICAgCj4gLQkvKiBXZSB3aWxs IHVzZSB0aGUgcmVzdWx0IGFzIGFuIGFkZHJlc3MgdG8gcmVhZCBmcm9tLCBzbyBtb3N0Cj4gLQkg KiBhcmNoaXRlY3R1cmVzIG9ubHkgbmVlZCBhIGNvbXBpbGVyIGJhcnJpZXIgaGVyZS4gKi8KPiAt CXJlYWRfYmFycmllcl9kZXBlbmRzKCk7Cj4gLQo+ICAgCWNvdW50ID0gbGVuIC8gc2l6ZW9mIGRl c2M7Cj4gICAJLyogQnVmZmVycyBhcmUgY2hhaW5lZCB2aWEgYSAxNiBiaXQgbmV4dCBmaWVsZCwg c28KPiAgIAkgKiB3ZSBjYW4gaGF2ZSBhdCBtb3N0IDJeMTYgb2YgdGhlc2UuICovCj4gQEAgLTIx NTIsMTIgKzIxNDksMTIgQEAgc3RhdGljIGludCBnZXRfaW5kaXJlY3Qoc3RydWN0IHZob3N0X3Zp cnRxdWV1ZSAqdnEsCj4gICAJCX0KPiAgIAkJaWYgKHVubGlrZWx5KCFjb3B5X2Zyb21faXRlcl9m dWxsKCZkZXNjLCBzaXplb2YoZGVzYyksICZmcm9tKSkpIHsKPiAgIAkJCXZxX2Vycih2cSwgIkZh aWxlZCBpbmRpcmVjdCBkZXNjcmlwdG9yOiBpZHggJWQsICV6eFxuIiwKPiAtCQkJICAgICAgIGks IChzaXplX3Qpdmhvc3Q2NF90b19jcHUodnEsIGluZGlyZWN0LT5hZGRyKSArIGkgKiBzaXplb2Yg ZGVzYyk7Cj4gKwkJCSAgICAgICBpLCAoc2l6ZV90KXZob3N0NjRfdG9fY3B1KHZxLCBhZGRyKSAr IGkgKiBzaXplb2YgZGVzYyk7Cj4gICAJCQlyZXR1cm4gLUVJTlZBTDsKPiAgIAkJfQo+ICAgCQlp ZiAodW5saWtlbHkoZGVzYy5mbGFncyAmIGNwdV90b192aG9zdDE2KHZxLCBWUklOR19ERVNDX0Zf SU5ESVJFQ1QpKSkgewo+ICAgCQkJdnFfZXJyKHZxLCAiTmVzdGVkIGluZGlyZWN0IGRlc2NyaXB0 b3I6IGlkeCAlZCwgJXp4XG4iLAo+IC0JCQkgICAgICAgaSwgKHNpemVfdCl2aG9zdDY0X3RvX2Nw dSh2cSwgaW5kaXJlY3QtPmFkZHIpICsgaSAqIHNpemVvZiBkZXNjKTsKPiArCQkJICAgICAgIGks IChzaXplX3Qpdmhvc3Q2NF90b19jcHUodnEsIGFkZHIpICsgaSAqIHNpemVvZiBkZXNjKTsKPiAg IAkJCXJldHVybiAtRUlOVkFMOwo+ICAgCQl9Cj4gICAKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fClZpcnR1YWxpemF0aW9uIG1haWxpbmcgbGlzdApWaXJ0 dWFsaXphdGlvbkBsaXN0cy5saW51eC1mb3VuZGF0aW9uLm9yZwpodHRwczovL2xpc3RzLmxpbnV4 Zm91bmRhdGlvbi5vcmcvbWFpbG1hbi9saXN0aW5mby92aXJ0dWFsaXphdGlvbg==