From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Wood Subject: [PATCH i-g-t 1/2] lib: add a ring buffer for log entries Date: Thu, 29 Jan 2015 14:22:26 +0000 Message-ID: <1422541347-584-2-git-send-email-thomas.wood@intel.com> References: <1422541347-584-1-git-send-email-thomas.wood@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wi0-f181.google.com (mail-wi0-f181.google.com [209.85.212.181]) by gabe.freedesktop.org (Postfix) with ESMTP id 0D926720A2 for ; Thu, 29 Jan 2015 06:22:32 -0800 (PST) Received: by mail-wi0-f181.google.com with SMTP id fb4so25201085wid.2 for ; Thu, 29 Jan 2015 06:22:31 -0800 (PST) In-Reply-To: <1422541347-584-1-git-send-email-thomas.wood@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org U2lnbmVkLW9mZi1ieTogVGhvbWFzIFdvb2QgPHRob21hcy53b29kQGludGVsLmNvbT4KLS0tCiBs aWIvTWFrZWZpbGUuYW0gfCAgMyArKy0KIGxpYi9pZ3RfY29yZS5jICB8IDcyICsrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLQogMiBmaWxlcyBj aGFuZ2VkLCA2MyBpbnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9s aWIvTWFrZWZpbGUuYW0gYi9saWIvTWFrZWZpbGUuYW0KaW5kZXggMzgyNmExYy4uYTVhNDM5MCAx MDA2NDQKLS0tIGEvbGliL01ha2VmaWxlLmFtCisrKyBiL2xpYi9NYWtlZmlsZS5hbQpAQCAtMTEs NyArMTEsOCBAQCBub2luc3RfSEVBREVSUyA9IGNoZWNrLW5kZWJ1Zy5oCiBBTV9DUFBGTEFHUyA9 IC1JJCh0b3Bfc3JjZGlyKQogQU1fQ0ZMQUdTID0gJChEUk1fQ0ZMQUdTKSAkKENXQVJORkxBR1Mp ICBcCiAJICAgIC1ESUdUX0RBVEFESVI9XCIiJChhYnNfdG9wX3NyY2RpcikvdGVzdHMiXCIgXAot CSAgICAtRElHVF9MT0dfRE9NQUlOPVwiIiQoc3Vic3QgXywtLCQqKSJcIgorCSAgICAtRElHVF9M T0dfRE9NQUlOPVwiIiQoc3Vic3QgXywtLCQqKSJcIiBcCisJICAgIC1wdGhyZWFkCiAKIAogTERB REQgPSAkKENBSVJPX0xJQlMpCmRpZmYgLS1naXQgYS9saWIvaWd0X2NvcmUuYyBiL2xpYi9pZ3Rf Y29yZS5jCmluZGV4IDdiNDdiMzIuLmIwM2I3ZGYgMTAwNjQ0Ci0tLSBhL2xpYi9pZ3RfY29yZS5j CisrKyBiL2xpYi9pZ3RfY29yZS5jCkBAIC00Nyw5ICs0Nyw4IEBACiAjaW5jbHVkZSA8c3lzL3R5 cGVzLmg+CiAjaWZkZWYgX19saW51eF9fCiAjaW5jbHVkZSA8c3lzL3N5c2NhbGwuaD4KLSNlbHNl Ci0jaW5jbHVkZSA8cHRocmVhZC5oPgogI2VuZGlmCisjaW5jbHVkZSA8cHRocmVhZC5oPgogI2lu Y2x1ZGUgPHN5cy91dHNuYW1lLmg+CiAjaW5jbHVkZSA8dGVybWlvcy5oPgogI2luY2x1ZGUgPGVy cm5vLmg+CkBAIC0yMzgsNiArMjM3LDM1IEBAIGVudW0gewogfTsKIAogc3RhdGljIGNoYXIqIGln dF9sb2dfZG9tYWluX2ZpbHRlcjsKK3N0YXRpYyBzdHJ1Y3QgeworCWNoYXIgKmVudHJpZXNbMjU2 XTsKKwl1aW50OF90IHN0YXJ0LCBlbmQ7Cit9IGxvZ19idWZmZXI7CitzdGF0aWMgcHRocmVhZF9t dXRleF90IGxvZ19idWZmZXJfbXV0ZXggPSBQVEhSRUFEX01VVEVYX0lOSVRJQUxJWkVSOworCitz dGF0aWMgdm9pZCBfaWd0X2xvZ19idWZmZXJfYXBwZW5kKGNoYXIgKmxpbmUpCit7CisJcHRocmVh ZF9tdXRleF9sb2NrKCZsb2dfYnVmZmVyX211dGV4KTsKKworCWZyZWUobG9nX2J1ZmZlci5lbnRy aWVzW2xvZ19idWZmZXIuZW5kXSk7CisJbG9nX2J1ZmZlci5lbnRyaWVzW2xvZ19idWZmZXIuZW5k XSA9IGxpbmU7CisJbG9nX2J1ZmZlci5lbmQrKzsKKwlpZiAobG9nX2J1ZmZlci5lbmQgPT0gbG9n X2J1ZmZlci5zdGFydCkKKwkJbG9nX2J1ZmZlci5zdGFydCsrOworCisJcHRocmVhZF9tdXRleF91 bmxvY2soJmxvZ19idWZmZXJfbXV0ZXgpOworfQorCitzdGF0aWMgdm9pZCBfaWd0X2xvZ19idWZm ZXJfcmVzZXQodm9pZCkKK3sKKwlwdGhyZWFkX211dGV4X2xvY2soJmxvZ19idWZmZXJfbXV0ZXgp OworCisJbG9nX2J1ZmZlci5zdGFydCA9IGxvZ19idWZmZXIuZW5kID0gMDsKKworCXB0aHJlYWRf bXV0ZXhfdW5sb2NrKCZsb2dfYnVmZmVyX211dGV4KTsKK30KKworCiAKIF9fYXR0cmlidXRlX18o KGZvcm1hdChwcmludGYsIDEsIDIpKSkKIHN0YXRpYyB2b2lkIGttc2coY29uc3QgY2hhciAqZm9y bWF0LCAuLi4pCkBAIC03MTgsNiArNzQ2LDggQEAgYm9vbCBfX2lndF9ydW5fc3VidGVzdChjb25z dCBjaGFyICpzdWJ0ZXN0X25hbWUpCiAKIAlrbXNnKEtFUk5fSU5GTyAiJXM6IHN0YXJ0aW5nIHN1 YnRlc3QgJXNcbiIsIGNvbW1hbmRfc3RyLCBzdWJ0ZXN0X25hbWUpOwogCisJX2lndF9sb2dfYnVm ZmVyX3Jlc2V0KCk7CisKIAlnZXR0aW1lKCZzdWJ0ZXN0X3RpbWUpOwogCXJldHVybiAoaW5fc3Vi dGVzdCA9IHN1YnRlc3RfbmFtZSk7CiB9CkBAIC0xNDkwLDYgKzE1MjAsNyBAQCB2b2lkIGlndF9s b2coY29uc3QgY2hhciAqZG9tYWluLCBlbnVtIGlndF9sb2dfbGV2ZWwgbGV2ZWwsIGNvbnN0IGNo YXIgKmZvcm1hdCwgLgogdm9pZCBpZ3RfdmxvZyhjb25zdCBjaGFyICpkb21haW4sIGVudW0gaWd0 X2xvZ19sZXZlbCBsZXZlbCwgY29uc3QgY2hhciAqZm9ybWF0LCB2YV9saXN0IGFyZ3MpCiB7CiAJ RklMRSAqZmlsZTsKKwljaGFyICpsaW5lLCAqZm9ybWF0dGVkX2xpbmU7CiAJY29uc3QgY2hhciAq cHJvZ3JhbV9uYW1lOwogCWNvbnN0IGNoYXIgKmlndF9sb2dfbGV2ZWxfc3RyW10gPSB7CiAJCSJE RUJVRyIsCkBAIC0xNTEwLDE4ICsxNTQxLDMzIEBAIHZvaWQgaWd0X3Zsb2coY29uc3QgY2hhciAq ZG9tYWluLCBlbnVtIGlndF9sb2dfbGV2ZWwgbGV2ZWwsIGNvbnN0IGNoYXIgKmZvcm1hdCwKIAlp ZiAobGlzdF9zdWJ0ZXN0cykKIAkJcmV0dXJuOwogCi0JaWYgKGlndF9sb2dfbGV2ZWwgPiBsZXZl bCkKKwlpZiAodmFzcHJpbnRmKCZsaW5lLCBmb3JtYXQsIGFyZ3MpID09IC0xKQogCQlyZXR1cm47 CiAKKwlpZiAoYXNwcmludGYoJmZvcm1hdHRlZF9saW5lLCAiKCVzOiVkKSAlcyVzJXM6ICVzIiwg cHJvZ3JhbV9uYW1lLAorCQkgICAgIGdldHBpZCgpLCAoZG9tYWluKSA/IGRvbWFpbiA6ICIiLCAo ZG9tYWluKSA/ICItIiA6ICIiLAorCQkgICAgIGlndF9sb2dfbGV2ZWxfc3RyW2xldmVsXSwgbGlu ZSkgPT0gLTEpIHsKKwkJZ290byBvdXQ7CisJfQorCisJLyogYXBwZW5kIGxvZyBidWZmZXIgKi8K KwlfaWd0X2xvZ19idWZmZXJfYXBwZW5kKGZvcm1hdHRlZF9saW5lKTsKKworCS8qIGNoZWNrIHBy aW50IGxvZyBsZXZlbCAqLworCWlmIChpZ3RfbG9nX2xldmVsID4gbGV2ZWwpCisJCWdvdG8gb3V0 OworCisJLyogY2hlY2sgZG9tYWluIGZpbHRlciAqLwogCWlmIChpZ3RfbG9nX2RvbWFpbl9maWx0 ZXIpIHsKIAkJLyogaWYgbnVsbCBkb21haW4gYW5kIGZpbHRlciBpcyBub3QgImFwcGxpY2F0aW9u IiwgcmV0dXJuICovCiAJCWlmICghZG9tYWluICYmIHN0cmNtcChpZ3RfbG9nX2RvbWFpbl9maWx0 ZXIsICJhcHBsaWNhdGlvbiIpKQotCQkJcmV0dXJuOworCQkJZ290byBvdXQ7CiAJCS8qIGVsc2Ug aWYgZG9tYWluIGFuZCBmaWx0ZXIgZG8gbm90IG1hdGNoLCByZXR1cm4gKi8KIAkJZWxzZSBpZiAo ZG9tYWluICYmIHN0cmNtcChpZ3RfbG9nX2RvbWFpbl9maWx0ZXIsIGRvbWFpbikpCi0JCQlyZXR1 cm47CisJCQlnb3RvIG91dDsKIAl9CiAKKwkvKiB1c2Ugc3RkZXJyIGZvciB3YXJuaW5nIG1lc3Nh Z2VzIGFuZCBhYm92ZSAqLwogCWlmIChsZXZlbCA+IElHVF9MT0dfV0FSTikgewogCQlmaWxlID0g c3RkZXJyOwogCQlmZmx1c2goc3Rkb3V0KTsKQEAgLTE1MjksMTIgKzE1NzUsMTYgQEAgdm9pZCBp Z3RfdmxvZyhjb25zdCBjaGFyICpkb21haW4sIGVudW0gaWd0X2xvZ19sZXZlbCBsZXZlbCwgY29u c3QgY2hhciAqZm9ybWF0LAogCWVsc2UKIAkJZmlsZSA9IHN0ZG91dDsKIAotCWlmIChsZXZlbCAh PSBJR1RfTE9HX0lORk8pIHsKLQkJZnByaW50ZihmaWxlLCAiKCVzOiVkKSAlcyVzJXM6ICIsIHBy b2dyYW1fbmFtZSwgZ2V0cGlkKCksCi0JCQkoZG9tYWluKSA/IGRvbWFpbiA6ICIiLCAoZG9tYWlu KSA/ICItIiA6ICIiLAotCQkJaWd0X2xvZ19sZXZlbF9zdHJbbGV2ZWxdKTsKLQl9Ci0JdmZwcmlu dGYoZmlsZSwgZm9ybWF0LCBhcmdzKTsKKwkvKiBwcmVwZW5kIGFsbCBleGNlcHQgaW5mb3JtYXRp b24gbWVzc2FnZXMgd2l0aCBwcm9jZXNzLCBkb21haW4gYW5kIGxvZworCSAqIGxldmVsIGluZm9y bWF0aW9uICovCisJaWYgKGxldmVsICE9IElHVF9MT0dfSU5GTykKKwkJZndyaXRlKGZvcm1hdHRl ZF9saW5lLCBzaXplb2YoY2hhciksIHN0cmxlbihmb3JtYXR0ZWRfbGluZSksCisJCSAgICAgICBm aWxlKTsKKwllbHNlCisJCWZ3cml0ZShsaW5lLCBzaXplb2YoY2hhciksIHN0cmxlbihsaW5lKSwg ZmlsZSk7CisKK291dDoKKwlmcmVlKGxpbmUpOwogfQogCiBzdGF0aWMgdm9pZCBpZ3RfYWxhcm1f aGFuZGxlcihpbnQgc2lnbmFsKQotLSAKMi4xLjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vaW50ZWwtZ2Z4Cg==