From mboxrd@z Thu Jan 1 00:00:00 1970 From: Keir Fraser Subject: Re: Question regarding SLAB corruption Date: Mon, 09 Jul 2007 13:47:34 +0100 Message-ID: References: <20070709120734.GH3885@ics.muni.cz> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="B_3266833655_8077014" Return-path: In-Reply-To: <20070709120734.GH3885@ics.muni.cz> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Lukas Hejtmanek Cc: xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org > This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. --B_3266833655_8077014 Content-type: text/plain; charset="US-ASCII" Content-transfer-encoding: 7bit On 9/7/07 13:07, "Lukas Hejtmanek" wrote: > According to IB developers, it uses alloc_pages and then pci_map_sg which they > state that is DMA API. So, is it correct approach? Well, we currently assume that segments of a scatterlist (as passed to pci_map_sg) do not cross page boundaries. It looks like this assumption is broken (certainly for the infiniband driver!). I've just checked in the attached patch to fix this issue. Please give it a try in your dom0 tree. > I did debug like this - so it prints physical and virtual addresses and they > seems to be perfectly contiguous. Are the physical addresses real physical > addresses or virtualized by Xen hypervisor? You want to use virt_to_machine(). As you say, the addresses returned by virt_to_phys() are virtual-physical, which is not what you want. -- Keir --B_3266833655_8077014 Content-type: application/octet-stream; name="map_sg.patch" Content-disposition: attachment; filename="map_sg.patch" Content-transfer-encoding: base64 IyBIRyBjaGFuZ2VzZXQgcGF0Y2gKIyBVc2VyIGtmcmFzZXJAbG9jYWxob3N0LmxvY2FsZG9t YWluCiMgRGF0ZSAxMTgzOTg1MTEwIC0zNjAwCiMgTm9kZSBJRCAwOGNmNDIxMzUwNTZjYmMw N2E2ZDc5MGQ0ODUxZTBlNGIxNjBmODQ3CiMgUGFyZW50ICBmODMzNzU3NjcyYTcwZWU0M2Fm ZDBiZmJmYWEyMmNlYzNiMTMyNDQ1Cng4NjogZG1hX21hcF9zZygpIG11c3QgaGFuZGxlIG11 bHRpLXBhZ2Ugc2VnbWVudHMuClNpZ25lZC1vZmYtYnk6IEtlaXIgRnJhc2VyIDxrZWlyQHhl bnNvdXJjZS5jb20+CgpkaWZmIC1yIGY4MzM3NTc2NzJhNyAtciAwOGNmNDIxMzUwNTYgYXJj aC9pMzg2L2tlcm5lbC9wY2ktZG1hLXhlbi5jCi0tLSBhL2FyY2gvaTM4Ni9rZXJuZWwvcGNp LWRtYS14ZW4uYwlTYXQgSnVsIDA3IDExOjQ0OjE2IDIwMDcgKzAxMDAKKysrIGIvYXJjaC9p Mzg2L2tlcm5lbC9wY2ktZG1hLXhlbi5jCU1vbiBKdWwgMDkgMTM6NDU6MTAgMjAwNyArMDEw MApAQCAtOTcsNiArOTcsOSBAQCBkbWFfbWFwX3NnKHN0cnVjdCBkZXZpY2UgKmh3ZGV2LCBz dHJ1Y3QgCiAJCQlCVUdfT04oIXNnW2ldLnBhZ2UpOwogCQkJSU9NTVVfQlVHX09OKGFkZHJl c3NfbmVlZHNfbWFwcGluZygKIAkJCQlod2Rldiwgc2dbaV0uZG1hX2FkZHJlc3MpKTsKKwkJ CUlPTU1VX0JVR19PTihyYW5nZV9zdHJhZGRsZXNfcGFnZV9ib3VuZGFyeSgKKwkJCQlwYWdl X3RvX3BzZXVkb3BoeXMoc2dbaV0ucGFnZSkgKyBzZ1tpXS5vZmZzZXQsCisJCQkJc2dbaV0u bGVuZ3RoKSk7CiAJCX0KIAkJcmMgPSBuZW50czsKIAl9CkBAIC0zMzgsNyArMzQxLDcgQEAg ZG1hX21hcF9zaW5nbGUoc3RydWN0IGRldmljZSAqZGV2LCB2b2lkIAogCX0gZWxzZSB7CiAJ CWRtYSA9IGdudHRhYl9kbWFfbWFwX3BhZ2UodmlydF90b19wYWdlKHB0cikpICsKIAkJICAg ICAgb2Zmc2V0X2luX3BhZ2UocHRyKTsKLQkJSU9NTVVfQlVHX09OKHJhbmdlX3N0cmFkZGxl c19wYWdlX2JvdW5kYXJ5KHB0ciwgc2l6ZSkpOworCQlJT01NVV9CVUdfT04ocmFuZ2Vfc3Ry YWRkbGVzX3BhZ2VfYm91bmRhcnkoX19wYShwdHIpLCBzaXplKSk7CiAJCUlPTU1VX0JVR19P TihhZGRyZXNzX25lZWRzX21hcHBpbmcoZGV2LCBkbWEpKTsKIAl9CiAKZGlmZiAtciBmODMz NzU3NjcyYTcgLXIgMDhjZjQyMTM1MDU2IGFyY2gvaTM4Ni9rZXJuZWwvc3dpb3RsYi5jCi0t LSBhL2FyY2gvaTM4Ni9rZXJuZWwvc3dpb3RsYi5jCVNhdCBKdWwgMDcgMTE6NDQ6MTYgMjAw NyArMDEwMAorKysgYi9hcmNoL2kzODYva2VybmVsL3N3aW90bGIuYwlNb24gSnVsIDA5IDEz OjQ1OjEwIDIwMDcgKzAxMDAKQEAgLTQ4MCw3ICs0ODAsNyBAQCBzd2lvdGxiX21hcF9zaW5n bGUoc3RydWN0IGRldmljZSAqaHdkZXYsCiAJICogd2UgY2FuIHNhZmVseSByZXR1cm4gdGhl IGRldmljZSBhZGRyIGFuZCBub3Qgd29ycnkgYWJvdXQgYm91bmNlCiAJICogYnVmZmVyaW5n IGl0LgogCSAqLwotCWlmICghcmFuZ2Vfc3RyYWRkbGVzX3BhZ2VfYm91bmRhcnkocHRyLCBz aXplKSAmJgorCWlmICghcmFuZ2Vfc3RyYWRkbGVzX3BhZ2VfYm91bmRhcnkoX19wYShwdHIp LCBzaXplKSAmJgogCSAgICAhYWRkcmVzc19uZWVkc19tYXBwaW5nKGh3ZGV2LCBkZXZfYWRk cikpCiAJCXJldHVybiBkZXZfYWRkcjsKIApAQCAtNTc3LDcgKzU3Nyw5IEBAIHN3aW90bGJf bWFwX3NnKHN0cnVjdCBkZXZpY2UgKmh3ZGV2LCBzdHIKIAlmb3IgKGkgPSAwOyBpIDwgbmVs ZW1zOyBpKyssIHNnKyspIHsKIAkJZGV2X2FkZHIgPSBnbnR0YWJfZG1hX21hcF9wYWdlKHNn LT5wYWdlKSArIHNnLT5vZmZzZXQ7CiAKLQkJaWYgKGFkZHJlc3NfbmVlZHNfbWFwcGluZyho d2RldiwgZGV2X2FkZHIpKSB7CisJCWlmIChyYW5nZV9zdHJhZGRsZXNfcGFnZV9ib3VuZGFy eShwYWdlX3RvX3BzZXVkb3BoeXMoc2ctPnBhZ2UpCisJCQkJCQkgICsgc2ctPm9mZnNldCwg c2ctPmxlbmd0aCkKKwkJICAgIHx8IGFkZHJlc3NfbmVlZHNfbWFwcGluZyhod2RldiwgZGV2 X2FkZHIpKSB7CiAJCQlnbnR0YWJfZG1hX3VubWFwX3BhZ2UoZGV2X2FkZHIpOwogCQkJYnVm ZmVyLnBhZ2UgICA9IHNnLT5wYWdlOwogCQkJYnVmZmVyLm9mZnNldCA9IHNnLT5vZmZzZXQ7 CmRpZmYgLXIgZjgzMzc1NzY3MmE3IC1yIDA4Y2Y0MjEzNTA1NiBpbmNsdWRlL2FzbS1pMzg2 L21hY2gteGVuL2FzbS9kbWEtbWFwcGluZy5oCi0tLSBhL2luY2x1ZGUvYXNtLWkzODYvbWFj aC14ZW4vYXNtL2RtYS1tYXBwaW5nLmgJU2F0IEp1bCAwNyAxMTo0NDoxNiAyMDA3ICswMTAw CisrKyBiL2luY2x1ZGUvYXNtLWkzODYvbWFjaC14ZW4vYXNtL2RtYS1tYXBwaW5nLmgJTW9u IEp1bCAwOSAxMzo0NToxMCAyMDA3ICswMTAwCkBAIC0yMywxMSArMjMsMTEgQEAgYWRkcmVz c19uZWVkc19tYXBwaW5nKHN0cnVjdCBkZXZpY2UgKmh3ZAogfQogCiBzdGF0aWMgaW5saW5l IGludAotcmFuZ2Vfc3RyYWRkbGVzX3BhZ2VfYm91bmRhcnkodm9pZCAqcCwgc2l6ZV90IHNp emUpCityYW5nZV9zdHJhZGRsZXNfcGFnZV9ib3VuZGFyeShwYWRkcl90IHAsIHNpemVfdCBz aXplKQogewogCWV4dGVybiB1bnNpZ25lZCBsb25nICpjb250aWd1b3VzX2JpdG1hcDsKLQly ZXR1cm4gKCgoKCh1bnNpZ25lZCBsb25nKXAgJiB+UEFHRV9NQVNLKSArIHNpemUpID4gUEFH RV9TSVpFKSAmJgotCQkhdGVzdF9iaXQoX19wYShwKSA+PiBQQUdFX1NISUZULCBjb250aWd1 b3VzX2JpdG1hcCkpOworCXJldHVybiAoKCgocCAmIH5QQUdFX01BU0spICsgc2l6ZSkgPiBQ QUdFX1NJWkUpICYmCisJCSF0ZXN0X2JpdChwID4+IFBBR0VfU0hJRlQsIGNvbnRpZ3VvdXNf Yml0bWFwKSk7CiB9CiAKICNkZWZpbmUgZG1hX2FsbG9jX25vbmNvaGVyZW50KGQsIHMsIGgs IGYpIGRtYV9hbGxvY19jb2hlcmVudChkLCBzLCBoLCBmKQo= --B_3266833655_8077014 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel --B_3266833655_8077014--