From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Glisse?= Subject: [PATCH 3/3] drm/ttm: under memory pressure minimize the size of memory pool Date: Tue, 12 Aug 2014 23:52:06 -0400 Message-ID: <1407901926-24516-4-git-send-email-j.glisse@gmail.com> References: <1407901926-24516-1-git-send-email-j.glisse@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-qg0-f47.google.com (mail-qg0-f47.google.com [209.85.192.47]) by gabe.freedesktop.org (Postfix) with ESMTP id 533636E267 for ; Tue, 12 Aug 2014 20:52:07 -0700 (PDT) Received: by mail-qg0-f47.google.com with SMTP id i50so10321586qgf.6 for ; Tue, 12 Aug 2014 20:52:06 -0700 (PDT) In-Reply-To: <1407901926-24516-1-git-send-email-j.glisse@gmail.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 Cc: =?UTF-8?q?Michel=20D=C3=A4nzer?= , =?UTF-8?q?J=C3=A9r=C3=B4me=20Glisse?= , Konrad Rzeszutek Wilk , Thomas Hellstrom List-Id: dri-devel@lists.freedesktop.org RnJvbTogSsOpcsO0bWUgR2xpc3NlIDxqZ2xpc3NlQHJlZGhhdC5jb20+CgpXaGVuIGV4cGVyaWVu Y2luZyBtZW1vcnkgcHJlc3N1cmUgd2Ugd2FudCB0byBtaW5pbWl6ZSBwb29sIHNpemUgc28gdGhh dAptZW1vcnkgd2UganVzdCBzaHJpbmtlZCBpcyBub3QgYWRkZWQgYmFjayBhZ2FpbiBqdXN0IGFz IHRoZSBuZXh0IHRoaW5nLgoKVGhpcyB3aWxsIGRpdmlkZSBieSAyIHRoZSBtYXhpbXVtIHBvb2wg c2l6ZSBmb3IgZWFjaCBkZXZpY2UgZWFjaCB0aW1lCnRoZSBwb29sIGhhdmUgdG8gc2hyaW5rLiBU aGUgbGltaXQgaXMgYnVtcGVkIGFnYWluIGlzIG5leHQgYWxsb2NhdGlvbgpoYXBwZW4gYWZ0ZXIg b25lIHNlY29uZCBzaW5jZSB0aGUgbGFzdCBzaHJpbmsuIFRoZSBvbmUgc2Vjb25kIGRlbGF5IGlz Cm9idmlvdXNseSBhbiBhcmJpdHJhcnkgY2hvaWNlLgoKU2lnbmVkLW9mZi1ieTogSsOpcsO0bWUg R2xpc3NlIDxqZ2xpc3NlQHJlZGhhdC5jb20+CkNjOiBNYXJpbyBLbGVpbmVyIDxtYXJpby5rbGVp bmVyLmRlQGdtYWlsLmNvbT4KQ2M6IE1pY2hlbCBEw6RuemVyIDxtaWNoZWxAZGFlbnplci5uZXQ+ CkNjOiBUaG9tYXMgSGVsbHN0cm9tIDx0aGVsbHN0cm9tQHZtd2FyZS5jb20+CkNjOiBLb25yYWQg Unplc3p1dGVrIFdpbGsgPGtvbnJhZC53aWxrQG9yYWNsZS5jb20+Ci0tLQogZHJpdmVycy9ncHUv ZHJtL3R0bS90dG1fcGFnZV9hbGxvYy5jICAgICB8IDM1ICsrKysrKysrKysrKysrKysrKysrKysr KystLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vdHRtL3R0bV9wYWdlX2FsbG9jX2RtYS5jIHwgMjcg KysrKysrKysrKysrKysrKysrKysrKy0tCiAyIGZpbGVzIGNoYW5nZWQsIDUzIGluc2VydGlvbnMo KyksIDkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3R0bS90dG1f cGFnZV9hbGxvYy5jIGIvZHJpdmVycy9ncHUvZHJtL3R0bS90dG1fcGFnZV9hbGxvYy5jCmluZGV4 IDA5ODc0ZDYuLmFiNDFhZGYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS90dG0vdHRtX3Bh Z2VfYWxsb2MuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vdHRtL3R0bV9wYWdlX2FsbG9jLmMKQEAg LTY4LDYgKzY4LDggQEAKICAqIEBsaXN0OiBQb29sIG9mIGZyZWUgdWMvd2MgcGFnZXMgZm9yIGZh c3QgcmV1c2UuCiAgKiBAZ2ZwX2ZsYWdzOiBGbGFncyB0byBwYXNzIGZvciBhbGxvY19wYWdlLgog ICogQG5wYWdlczogTnVtYmVyIG9mIHBhZ2VzIGluIHBvb2wuCisgKiBAY3VyX21heF9zaXplOiBD dXJyZW50IG1heGltdW0gc2l6ZSBmb3IgdGhlIHBvb2wuCisgKiBAc2hyaW5rX3RpbWVvdXQ6IFRp bWVvdXQgZm9yIHBvb2wgbWF4aW11bSBzaXplIHJlc3RyaWN0aW9uLgogICovCiBzdHJ1Y3QgdHRt X3BhZ2VfcG9vbCB7CiAJc3BpbmxvY2tfdAkJbG9jazsKQEAgLTc2LDYgKzc4LDggQEAgc3RydWN0 IHR0bV9wYWdlX3Bvb2wgewogCWdmcF90CQkJZ2ZwX2ZsYWdzOwogCXVuc2lnbmVkCQlucGFnZXM7 CiAJY2hhcgkJCSpuYW1lOworCXVuc2lnbmVkCQljdXJfbWF4X3NpemU7CisJdW5zaWduZWQgbG9u ZwkJbGFzdF9zaHJpbms7CiAJdW5zaWduZWQgbG9uZwkJbmZyZWVzOwogCXVuc2lnbmVkIGxvbmcJ CW5yZWZpbGxzOwogfTsKQEAgLTI4OSw2ICsyOTMsMTYgQEAgc3RhdGljIHZvaWQgdHRtX3Bvb2xf dXBkYXRlX2ZyZWVfbG9ja2VkKHN0cnVjdCB0dG1fcGFnZV9wb29sICpwb29sLAogCXBvb2wtPm5m cmVlcyArPSBmcmVlZF9wYWdlczsKIH0KIAorc3RhdGljIGlubGluZSB2b2lkIHR0bV9wb29sX3Vw ZGF0ZV9tYXhfc2l6ZShzdHJ1Y3QgdHRtX3BhZ2VfcG9vbCAqcG9vbCkKK3sKKwlpZiAodGltZV9i ZWZvcmUoamlmZmllcywgcG9vbC0+c2hyaW5rX3RpbWVvdXQpKQorCQlyZXR1cm47CisJLyogSW4g Y2FzZSB3ZSByZWFjaGVkIHplcm8gYm91bmNlIGJhY2sgdG8gNTEyIHBhZ2VzLiAqLworCXBvb2wt PmN1cl9tYXhfc2l6ZSA9IG1heChwb29sLT5jdXJfbWF4X3NpemUgPDwgMSwgNTEyKTsKKwlwb29s LT5jdXJfbWF4X3NpemUgPSBtaW4ocG9vbC0+Y3VyX21heF9zaXplLAorCQkJCSBfbWFuYWdlci0+ b3B0aW9ucy5tYXhfc2l6ZSk7Cit9CisKIC8qKgogICogRnJlZSBwYWdlcyBmcm9tIHBvb2wuCiAg KgpAQCAtNDA3LDYgKzQyMSw5IEBAIHR0bV9wb29sX3Nocmlua19zY2FuKHN0cnVjdCBzaHJpbmtl ciAqc2hyaW5rLCBzdHJ1Y3Qgc2hyaW5rX2NvbnRyb2wgKnNjKQogCQlpZiAoc2hyaW5rX3BhZ2Vz ID09IDApCiAJCQlicmVhazsKIAkJcG9vbCA9ICZfbWFuYWdlci0+cG9vbHNbKGkgKyBwb29sX29m ZnNldCklTlVNX1BPT0xTXTsKKwkJLyogTm8gbWF0dGVyIHdoYXQgbWFrZSBzdXJlIHRoZSBwb29s IGRvIG5vdCBncm93IGluIG5leHQgc2Vjb25kLiAqLworCQlwb29sLT5jdXJfbWF4X3NpemUgPSBw b29sLT5jdXJfbWF4X3NpemUgPj4gMTsKKwkJcG9vbC0+c2hyaW5rX3RpbWVvdXQgPSBqaWZmaWVz ICsgSFo7CiAJCXNocmlua19wYWdlcyA9IHR0bV9wYWdlX3Bvb2xfZnJlZShwb29sLCBucl9mcmVl LAogCQkJCQkJICBzYy0+Z2ZwX21hc2spOwogCQlmcmVlZCArPSBucl9mcmVlIC0gc2hyaW5rX3Bh Z2VzOwpAQCAtNzAxLDEzICs3MTgsMTIgQEAgc3RhdGljIHZvaWQgdHRtX3B1dF9wYWdlcyhzdHJ1 Y3QgcGFnZSAqKnBhZ2VzLCB1bnNpZ25lZCBucGFnZXMsIGludCBmbGFncywKIAl9CiAJLyogQ2hl Y2sgdGhhdCB3ZSBkb24ndCBnbyBvdmVyIHRoZSBwb29sIGxpbWl0ICovCiAJbnBhZ2VzID0gMDsK LQlpZiAocG9vbC0+bnBhZ2VzID4gX21hbmFnZXItPm9wdGlvbnMubWF4X3NpemUpIHsKLQkJbnBh Z2VzID0gcG9vbC0+bnBhZ2VzIC0gX21hbmFnZXItPm9wdGlvbnMubWF4X3NpemU7Ci0JCS8qIGZy ZWUgYXQgbGVhc3QgTlVNX1BBR0VTX1RPX0FMTE9DIG51bWJlciBvZiBwYWdlcwotCQkgKiB0byBy ZWR1Y2UgY2FsbHMgdG8gc2V0X21lbW9yeV93YiAqLwotCQlpZiAobnBhZ2VzIDwgTlVNX1BBR0VT X1RPX0FMTE9DKQotCQkJbnBhZ2VzID0gTlVNX1BBR0VTX1RPX0FMTE9DOwotCX0KKwkvKgorCSAq IEZyZWUgYXQgbGVhc3QgTlVNX1BBR0VTX1RPX0FMTE9DIG51bWJlciBvZiBwYWdlcyB0byByZWR1 Y2UgY2FsbHMgdG8KKwkgKiBzZXRfbWVtb3J5X3diLgorCSAqLworCWlmIChwb29sLT5ucGFnZXMg PiAocG9vbC0+Y3VyX21heF9zaXplICsgTlVNX1BBR0VTX1RPX0FMTE9DKSkKKwkJbnBhZ2VzID0g cG9vbC0+bnBhZ2VzIC0gcG9vbC0+Y3VyX21heF9zaXplOwogCXNwaW5fdW5sb2NrX2lycXJlc3Rv cmUoJnBvb2wtPmxvY2ssIGlycV9mbGFncyk7CiAJaWYgKG5wYWdlcykKIAkJdHRtX3BhZ2VfcG9v bF9mcmVlKHBvb2wsIG5wYWdlcywgR0ZQX0tFUk5FTCk7CkBAIC03NTEsNiArNzY3LDkgQEAgc3Rh dGljIGludCB0dG1fZ2V0X3BhZ2VzKHN0cnVjdCBwYWdlICoqcGFnZXMsIHVuc2lnbmVkIG5wYWdl cywgaW50IGZsYWdzLAogCQlyZXR1cm4gMDsKIAl9CiAKKwkvKiBVcGRhdGUgcG9vbCBzaXplIGlu IGNhc2Ugc2hyaW5rZXIgbGltaXRlZCBpdC4gKi8KKwl0dG1fcG9vbF91cGRhdGVfbWF4X3NpemUo cG9vbCk7CisKIAkvKiBjb21iaW5lIHplcm8gZmxhZyB0byBwb29sIGZsYWdzICovCiAJZ2ZwX2Zs YWdzIHw9IHBvb2wtPmdmcF9mbGFnczsKIApAQCAtODAzLDYgKzgyMiw4IEBAIHN0YXRpYyB2b2lk IHR0bV9wYWdlX3Bvb2xfaW5pdF9sb2NrZWQoc3RydWN0IHR0bV9wYWdlX3Bvb2wgKnBvb2wsIGdm cF90IGZsYWdzLAogCXBvb2wtPm5wYWdlcyA9IHBvb2wtPm5mcmVlcyA9IDA7CiAJcG9vbC0+Z2Zw X2ZsYWdzID0gZmxhZ3M7CiAJcG9vbC0+bmFtZSA9IG5hbWU7CisJcG9vbC0+Y3VyX21heF9zaXpl ID0gX21hbmFnZXItPm9wdGlvbnMubWF4X3NpemU7CisJcG9vbC0+c2hyaW5rX3RpbWVvdXQgPSBq aWZmaWVzOwogfQogCiBpbnQgdHRtX3BhZ2VfYWxsb2NfaW5pdChzdHJ1Y3QgdHRtX21lbV9nbG9i YWwgKmdsb2IsIHVuc2lnbmVkIG1heF9wYWdlcykKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS90dG0vdHRtX3BhZ2VfYWxsb2NfZG1hLmMgYi9kcml2ZXJzL2dwdS9kcm0vdHRtL3R0bV9wYWdl X2FsbG9jX2RtYS5jCmluZGV4IGEwNzZmZjMuLjgwYjEwYWEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS90dG0vdHRtX3BhZ2VfYWxsb2NfZG1hLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3R0 bS90dG1fcGFnZV9hbGxvY19kbWEuYwpAQCAtOTMsNiArOTMsOCBAQCBlbnVtIHBvb2xfdHlwZSB7 CiAgKiBAc2l6ZTogU2l6ZSB1c2VkIGR1cmluZyBETUEgYWxsb2NhdGlvbi4KICAqIEBucGFnZXNf ZnJlZTogQ291bnQgb2YgYXZhaWxhYmxlIHBhZ2VzIGZvciByZS11c2UuCiAgKiBAbnBhZ2VzX2lu X3VzZTogQ291bnQgb2YgcGFnZXMgdGhhdCBhcmUgaW4gdXNlLgorICogQGN1cl9tYXhfc2l6ZTog Q3VycmVudCBtYXhpbXVtIHNpemUgZm9yIHRoZSBwb29sLgorICogQHNocmlua190aW1lb3V0OiBU aW1lb3V0IGZvciBwb29sIG1heGltdW0gc2l6ZSByZXN0cmljdGlvbi4KICAqIEBuZnJlZXM6IFN0 YXRzIHdoZW4gcG9vbCBpcyBzaHJpbmtpbmcuCiAgKiBAbnJlZmlsbHM6IFN0YXRzIHdoZW4gdGhl IHBvb2wgaXMgZ3Jvd24uCiAgKiBAZ2ZwX2ZsYWdzOiBGbGFncyB0byBwYXNzIGZvciBhbGxvY19w YWdlLgpAQCAtMTEwLDYgKzExMiw4IEBAIHN0cnVjdCBkbWFfcG9vbCB7CiAJdW5zaWduZWQgc2l6 ZTsKIAl1bnNpZ25lZCBucGFnZXNfZnJlZTsKIAl1bnNpZ25lZCBucGFnZXNfaW5fdXNlOworCXVu c2lnbmVkIGN1cl9tYXhfc2l6ZTsKKwl1bnNpZ25lZCBsb25nIGxhc3Rfc2hyaW5rOwogCXVuc2ln bmVkIGxvbmcgbmZyZWVzOyAvKiBTdGF0cyB3aGVuIHNocnVuay4gKi8KIAl1bnNpZ25lZCBsb25n IG5yZWZpbGxzOyAvKiBTdGF0cyB3aGVuIGdyb3duLiAqLwogCWdmcF90IGdmcF9mbGFnczsKQEAg LTMzMSw2ICszMzUsMTcgQEAgc3RhdGljIHZvaWQgX190dG1fZG1hX2ZyZWVfcGFnZShzdHJ1Y3Qg ZG1hX3Bvb2wgKnBvb2wsIHN0cnVjdCBkbWFfcGFnZSAqZF9wYWdlKQogCWtmcmVlKGRfcGFnZSk7 CiAJZF9wYWdlID0gTlVMTDsKIH0KKworc3RhdGljIGlubGluZSB2b2lkIHR0bV9kbWFfcG9vbF91 cGRhdGVfbWF4X3NpemUoc3RydWN0IGRtYV9wb29sICpwb29sKQoreworCWlmICh0aW1lX2JlZm9y ZShqaWZmaWVzLCBwb29sLT5zaHJpbmtfdGltZW91dCkpCisJCXJldHVybjsKKwkvKiBJbiBjYXNl IHdlIHJlYWNoZWQgemVybyBib3VuY2UgYmFjayB0byA1MTIgcGFnZXMuICovCisJcG9vbC0+Y3Vy X21heF9zaXplID0gbWF4KHBvb2wtPmN1cl9tYXhfc2l6ZSA8PCAxLCA1MTIpOworCXBvb2wtPmN1 cl9tYXhfc2l6ZSA9IG1pbihwb29sLT5jdXJfbWF4X3NpemUsCisJCQkJIF9tYW5hZ2VyLT5vcHRp b25zLm1heF9zaXplKTsKK30KKwogc3RhdGljIHN0cnVjdCBkbWFfcGFnZSAqX190dG1fZG1hX2Fs bG9jX3BhZ2Uoc3RydWN0IGRtYV9wb29sICpwb29sKQogewogCXN0cnVjdCBkbWFfcGFnZSAqZF9w YWdlOwpAQCAtNjA2LDYgKzYyMSw4IEBAIHN0YXRpYyBzdHJ1Y3QgZG1hX3Bvb2wgKnR0bV9kbWFf cG9vbF9pbml0KHN0cnVjdCBkZXZpY2UgKmRldiwgZ2ZwX3QgZmxhZ3MsCiAJcG9vbC0+c2l6ZSA9 IFBBR0VfU0laRTsKIAlwb29sLT50eXBlID0gdHlwZTsKIAlwb29sLT5ucmVmaWxscyA9IDA7CisJ cG9vbC0+Y3VyX21heF9zaXplID0gX21hbmFnZXItPm9wdGlvbnMubWF4X3NpemU7CisJcG9vbC0+ c2hyaW5rX3RpbWVvdXQgPSBqaWZmaWVzOwogCXAgPSBwb29sLT5uYW1lOwogCWZvciAoaSA9IDA7 IGkgPCA1OyBpKyspIHsKIAkJaWYgKHR5cGUgJiB0W2ldKSB7CkBAIC04OTIsNiArOTA5LDkgQEAg aW50IHR0bV9kbWFfcG9wdWxhdGUoc3RydWN0IHR0bV9kbWFfdHQgKnR0bV9kbWEsIHN0cnVjdCBk ZXZpY2UgKmRldikKIAkJfQogCX0KIAorCS8qIFVwZGF0ZSBwb29sIHNpemUgaW4gY2FzZSBzaHJp bmtlciBsaW1pdGVkIGl0LiAqLworCXR0bV9kbWFfcG9vbF91cGRhdGVfbWF4X3NpemUocG9vbCk7 CisKIAlJTklUX0xJU1RfSEVBRCgmdHRtX2RtYS0+cGFnZXNfbGlzdCk7CiAJZm9yIChpID0gMDsg aSA8IHR0bS0+bnVtX3BhZ2VzOyArK2kpIHsKIAkJcmV0ID0gdHRtX2RtYV9wb29sX2dldF9wYWdl cyhwb29sLCB0dG1fZG1hLCBpKTsKQEAgLTk1Myw5ICs5NzMsOSBAQCB2b2lkIHR0bV9kbWFfdW5w b3B1bGF0ZShzdHJ1Y3QgdHRtX2RtYV90dCAqdHRtX2RtYSwgc3RydWN0IGRldmljZSAqZGV2KQog CX0gZWxzZSB7CiAJCXBvb2wtPm5wYWdlc19mcmVlICs9IGNvdW50OwogCQlsaXN0X3NwbGljZSgm dHRtX2RtYS0+cGFnZXNfbGlzdCwgJnBvb2wtPmZyZWVfbGlzdCk7Ci0JCWlmIChwb29sLT5ucGFn ZXNfZnJlZSA+PSAoX21hbmFnZXItPm9wdGlvbnMubWF4X3NpemUgKworCQlpZiAocG9vbC0+bnBh Z2VzX2ZyZWUgPj0gKHBvb2wtPmN1cl9tYXhfc2l6ZSArCiAJCQkJCSAgTlVNX1BBR0VTX1RPX0FM TE9DKSkKLQkJCW5wYWdlcyA9IHBvb2wtPm5wYWdlc19mcmVlIC0gX21hbmFnZXItPm9wdGlvbnMu bWF4X3NpemU7CisJCQlucGFnZXMgPSBwb29sLT5ucGFnZXNfZnJlZSAtIHBvb2wtPmN1cl9tYXhf c2l6ZTsKIAl9CiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcG9vbC0+bG9jaywgaXJxX2ZsYWdz KTsKIApAQCAtMTAyNCw2ICsxMDQ0LDkgQEAgdHRtX2RtYV9wb29sX3Nocmlua19zY2FuKHN0cnVj dCBzaHJpbmtlciAqc2hyaW5rLCBzdHJ1Y3Qgc2hyaW5rX2NvbnRyb2wgKnNjKQogCQkvKiBEbyBp dCBpbiByb3VuZC1yb2JpbiBmYXNoaW9uLiAqLwogCQlpZiAoKytpZHggPCBwb29sX29mZnNldCkK IAkJCWNvbnRpbnVlOworCQkvKiBObyBtYXR0ZXIgd2hhdCBtYWtlIHN1cmUgdGhlIHBvb2wgZG8g bm90IGdyb3cgaW4gbmV4dCBzZWNvbmQuICovCisJCXAtPnBvb2wtPmN1cl9tYXhfc2l6ZSA9IHAt PnBvb2wtPmN1cl9tYXhfc2l6ZSA+PiAxOworCQlwLT5wb29sLT5zaHJpbmtfdGltZW91dCA9IGpp ZmZpZXMgKyBIWjsKIAkJbnJfZnJlZSA9IHNocmlua19wYWdlczsKIAkJc2hyaW5rX3BhZ2VzID0g dHRtX2RtYV9wYWdlX3Bvb2xfZnJlZShwLT5wb29sLCBucl9mcmVlLAogCQkJCQkJICAgICAgc2Mt PmdmcF9tYXNrKTsKLS0gCjEuOS4zCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2RyaS1kZXZlbAo=