Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758177AbYCNAM4 (ORCPT ); Thu, 13 Mar 2008 20:12:56 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1753210AbYCNAMr (ORCPT ); Thu, 13 Mar 2008 20:12:47 -0400 Received: from wr-out-0506.google.com ([64.233.184.227]:54664 "EHLO wr-out-0506.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753678AbYCNAMq (ORCPT ); Thu, 13 Mar 2008 20:12:46 -0400 DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:references; b=N2TdfTSbcnNbB502m5hYj9n2hzf1faGiYuJxviIJuZQjItp0PrF8wEsOxQsCIOEamuy9MPsVOFB1GFM1wMEas7l86VC+Q/h27peTCQkp1s1YdU1+WKfCnVd8UjKy50iuRXqgtNFTSxEOjMS9rILDj0xPp5W3oFg1P+iWVATBcL0= Message-ID: <9810cff90803131712l2777d1dex8c25f508369c48e7@mail.gmail.com> Date: Thu, 13 Mar 2008 17:12:43 -0700 From: "Bill Huey (hui)" To: "Gregory Haskins" , mingo@elte.hu Subject: Re: [PATCH RT 3/6] lockstat measurement extensions Cc: a.p.zijlstra@chello.nl, tglx@linutronix.de, rostedt@goodmis.org, linux-rt-users@vger.kernel.org, linux-kernel@vger.kernel.org, kevin@hilman.org, cminyard@mvista.com, dsingleton@mvista.com, dwalker@mvista.com, npiggin@suse.de, dsaxena@plexity.net, ak@suse.de, pavel@ucw.cz, acme@redhat.com, gregkh@suse.de, sdietrich@novell.com, pmorreale@novell.com, mkohari@novell.com In-Reply-To: <9810cff90803131709m3a5b1e5ep2bfe566b3c3bdb66@mail.gmail.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_25308_7322163.1205453563625" References: <9810cff90803131703t3626d83fq727b04242f407c13@mail.gmail.com> <9810cff90803131707v4fb3197fv396b8a5e8ae32b4d@mail.gmail.com> <9810cff90803131709m3a5b1e5ep2bfe566b3c3bdb66@mail.gmail.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 12471 Lines: 174 ------=_Part_25308_7322163.1205453563625 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline lock_contention/lock_acquire() refactor to put common code searching for an hlock into a common function. A function pointer is pass to ths common function which can do lock_note* specific functionality. gcc 4.3 will inline this so this will not effect codegen quality for that compiler version (it's now hitting ubuntu and other distributions) bill ------=_Part_25308_7322163.1205453563625 Content-Type: application/octet-stream; name=patch2.diff Content-Transfer-Encoding: base64 X-Attachment-Id: f_fdrzt3g6 Content-Disposition: attachment; filename=patch2.diff LS0tIGxpbnV4LTIuNi4yNC9rZXJuZWwvbG9ja2RlcC5jCTIwMDgtMDItMjUgMTU6MzI6MDUuMDAw MDAwMDAwIC0wODAwCisrKyBsaW51eC0yLjYuMjQud29ya2luZy9rZXJuZWwvbG9ja2RlcC5jCTIw MDgtMDMtMTMgMTQ6MDI6MTQuMDAwMDAwMDAwIC0wNzAwCkBAIC00MCw2ICs0MCw3IEBACiAjaW5j bHVkZSA8bGludXgvdXRzbmFtZS5oPgogI2luY2x1ZGUgPGxpbnV4L2hhc2guaD4KICNpbmNsdWRl IDxsaW51eC9mdHJhY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgogCiAjaW5jbHVkZSA8 YXNtL3NlY3Rpb25zLmg+CiAKQEAgLTE3OSw2ICsxODAsOSBAQAogCQlsb2NrX3RpbWVfYWRkKCZw Y3MtPnJlYWRfaG9sZHRpbWUsICZzdGF0cy5yZWFkX2hvbGR0aW1lKTsKIAkJbG9ja190aW1lX2Fk ZCgmcGNzLT53cml0ZV9ob2xkdGltZSwgJnN0YXRzLndyaXRlX2hvbGR0aW1lKTsKIAorCQlzdGF0 cy5zdG9sZW4gKz0gcGNzLT5zdG9sZW47CisJCXN0YXRzLnNwaW5uYWJsZSArPSBwY3MtPnNwaW5u YWJsZTsKKwogCQlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShzdGF0cy5ib3VuY2VzKTsgaSsr KQogCQkJc3RhdHMuYm91bmNlc1tpXSArPSBwY3MtPmJvdW5jZXNbaV07CiAJfQpAQCAtMjg1NCwx MyArMjg1OCwyMSBAQAogfQogCiBzdGF0aWMgdm9pZAotX19sb2NrX2NvbnRlbmRlZChzdHJ1Y3Qg bG9ja2RlcF9tYXAgKmxvY2ssIHVuc2lnbmVkIGxvbmcgaXApCitfX2xvY2tfbm90ZV9jb21tb24o c3RydWN0IGxvY2tkZXBfbWFwICpkZXBfbWFwLAorCQkgICB2b2lkICgqYmxvY2tmbikgKHN0cnVj dCBsb2NrZGVwX21hcCAqZGVwX21hcCwKKwkJCQkgICAgc3RydWN0IGhlbGRfbG9jayAqaGxvY2ss CisJCQkJICAgIHVuc2lnbmVkIGxvbmcgaXAsIGludCBpCisJCQkJICAgIF9fTE9DS0RFUF9UU19E RUNMKSwKKwkJICAgIHVuc2lnbmVkIGxvbmcgaXAKKwkJICAgIF9fTE9DS0RFUF9UU19ERUNMKQog ewogCXN0cnVjdCB0YXNrX3N0cnVjdCAqY3VyciA9IGN1cnJlbnQ7CiAJc3RydWN0IGhlbGRfbG9j ayAqaGxvY2ssICpwcmV2X2hsb2NrOwotCXN0cnVjdCBsb2NrX2NsYXNzX3N0YXRzICpzdGF0czsK IAl1bnNpZ25lZCBpbnQgZGVwdGg7Ci0JaW50IGksIHBvaW50OworCWludCBpOworCisJaWYgKCFk ZXBfbWFwKQorCQlyZXR1cm47CiAKIAlkZXB0aCA9IGN1cnItPmxvY2tkZXBfZGVwdGg7CiAJaWYg KERFQlVHX0xPQ0tTX1dBUk5fT04oIWRlcHRoKSkKQEAgLTI4NzQsMTQgKzI4ODYsMzAgQEAKIAkJ ICovCiAJCWlmIChwcmV2X2hsb2NrICYmIHByZXZfaGxvY2stPmlycV9jb250ZXh0ICE9IGhsb2Nr LT5pcnFfY29udGV4dCkKIAkJCWJyZWFrOwotCQlpZiAoaGxvY2stPmluc3RhbmNlID09IGxvY2sp CisJCWlmIChobG9jay0+aW5zdGFuY2UgPT0gZGVwX21hcCkKIAkJCWdvdG8gZm91bmRfaXQ7CiAJ CXByZXZfaGxvY2sgPSBobG9jazsKIAl9Ci0JcHJpbnRfbG9ja19jb250ZW50aW9uX2J1ZyhjdXJy LCBsb2NrLCBpcCk7CisJcHJpbnRfbG9ja19jb250ZW50aW9uX2J1ZyhjdXJyLCBkZXBfbWFwLCBp cCk7CiAJcmV0dXJuOwogCiBmb3VuZF9pdDoKKwlibG9ja2ZuKGRlcF9tYXAsIGhsb2NrLCBpcCwg aSBfX0xPQ0tERVBfVFNfUEFSQU0pOworfQorCithdG9taWNfdCBzcGlubmFibGVzX3RvdGFsID0g ey5jb3VudGVyID0gMH0sCisJY29udGVudGlvbnNfdG90YWwgPSB7LmNvdW50ZXIgPSAwfSwKKwlz dG9sZW5fdG90YWwgPSB7LmNvdW50ZXIgPSAwfTsKKworc3RhdGljIHZvaWQKK19fX2xvY2tfbm90 ZV9jb250ZW5kZWQoc3RydWN0IGxvY2tkZXBfbWFwICpkZXBfbWFwLAorCQkgICAgICAgc3RydWN0 IGhlbGRfbG9jayAqaGxvY2ssCisJCSAgICAgICB1bnNpZ25lZCBsb25nIGlwLCBpbnQgaQorCQkg ICAgICAgX19MT0NLREVQX1RTX0RFQ0wpCit7CisJc3RydWN0IGxvY2tfY2xhc3Nfc3RhdHMgKnN0 YXRzOworCWludCBwb2ludDsKKwogCWhsb2NrLT53YWl0dGltZV9zdGFtcCA9IHNjaGVkX2Nsb2Nr KCk7CiAKIAlwb2ludCA9IGxvY2tfY29udGVudGlvbl9wb2ludChobG9jay0+Y2xhc3MsIGlwKTsK QEAgLTI4ODksNDIgKzI5MTcsMzggQEAKIAlzdGF0cyA9IGdldF9sb2NrX3N0YXRzKGhsb2NrLT5j bGFzcyk7CiAJaWYgKHBvaW50IDwgQVJSQVlfU0laRShzdGF0cy0+Y29udGVudGlvbl9wb2ludCkp CiAJCXN0YXRzLT5jb250ZW50aW9uX3BvaW50W2ldKys7Ci0JaWYgKGxvY2stPmNwdSAhPSBzbXBf cHJvY2Vzc29yX2lkKCkpCisJaWYgKGRlcF9tYXAtPmNwdSAhPSBzbXBfcHJvY2Vzc29yX2lkKCkp CiAJCXN0YXRzLT5ib3VuY2VzW2JvdW5jZV9jb250ZW5kZWQgKyAhIWhsb2NrLT5yZWFkXSsrOwor I2lmZGVmIENPTkZJR19QUkVFTVBUX1JUCisJaWYgKGxpa2VseShfb3duZXIpICYmIHRhc2tfc3Bp bm5hYmxlKF9vd25lcikpIHsKKwkJc3RhdHMtPnNwaW5uYWJsZSsrOworCQlhdG9taWNfaW5jKCZz cGlubmFibGVzX3RvdGFsKTsKKwl9CisKKwlhdG9taWNfaW5jKCZjb250ZW50aW9uc190b3RhbCk7 CisjZW5kaWYKIAlwdXRfbG9ja19zdGF0cyhzdGF0cyk7CiB9CiAKIHN0YXRpYyB2b2lkCi1fX2xv Y2tfYWNxdWlyZWQoc3RydWN0IGxvY2tkZXBfbWFwICpsb2NrKQorX19sb2NrX25vdGVfY29udGVu ZGVkKHN0cnVjdCBsb2NrZGVwX21hcCAqZGVwX21hcCwKKwkJICAgICAgdW5zaWduZWQgbG9uZyBp cAorCQkgICAgICBfX0xPQ0tERVBfVFNfREVDTCkKK3sKKwlfX2xvY2tfbm90ZV9jb21tb24oZGVw X21hcCwgX19fbG9ja19ub3RlX2NvbnRlbmRlZCwgaXAgX19MT0NLREVQX1RTX1BBUkFNKTsKK30K Kworc3RhdGljIHZvaWQKK19fX2xvY2tfbm90ZV9hY3F1aXJlZChzdHJ1Y3QgbG9ja2RlcF9tYXAg KmxvY2ssCisJCSAgICAgIHN0cnVjdCBoZWxkX2xvY2sgKmhsb2NrLAorCQkgICAgICB1bnNpZ25l ZCBsb25nIGlwLCBpbnQgaQorCQkgICAgICBfX0xPQ0tERVBfVFNfREVDTCkKIHsKLQlzdHJ1Y3Qg dGFza19zdHJ1Y3QgKmN1cnIgPSBjdXJyZW50OwotCXN0cnVjdCBoZWxkX2xvY2sgKmhsb2NrLCAq cHJldl9obG9jazsKIAlzdHJ1Y3QgbG9ja19jbGFzc19zdGF0cyAqc3RhdHM7Ci0JdW5zaWduZWQg aW50IGRlcHRoOwogCXU2NCBub3c7CiAJczY0IHdhaXR0aW1lID0gMDsKLQlpbnQgaSwgY3B1Owot Ci0JZGVwdGggPSBjdXJyLT5sb2NrZGVwX2RlcHRoOwotCWlmIChERUJVR19MT0NLU19XQVJOX09O KCFkZXB0aCkpCi0JCXJldHVybjsKLQotCXByZXZfaGxvY2sgPSBOVUxMOwotCWZvciAoaSA9IGRl cHRoLTE7IGkgPj0gMDsgaS0tKSB7Ci0JCWhsb2NrID0gY3Vyci0+aGVsZF9sb2NrcyArIGk7Ci0J CS8qCi0JCSAqIFdlIG11c3Qgbm90IGNyb3NzIGludG8gYW5vdGhlciBjb250ZXh0OgotCQkgKi8K LQkJaWYgKHByZXZfaGxvY2sgJiYgcHJldl9obG9jay0+aXJxX2NvbnRleHQgIT0gaGxvY2stPmly cV9jb250ZXh0KQotCQkJYnJlYWs7Ci0JCWlmIChobG9jay0+aW5zdGFuY2UgPT0gbG9jaykKLQkJ CWdvdG8gZm91bmRfaXQ7Ci0JCXByZXZfaGxvY2sgPSBobG9jazsKLQl9Ci0JcHJpbnRfbG9ja19j b250ZW50aW9uX2J1ZyhjdXJyLCBsb2NrLCBfUkVUX0lQXyk7Ci0JcmV0dXJuOworCWludCBjcHU7 CiAKLWZvdW5kX2l0OgogCWNwdSA9IHNtcF9wcm9jZXNzb3JfaWQoKTsKIAlpZiAoaGxvY2stPndh aXR0aW1lX3N0YW1wKSB7CiAJCW5vdyA9IHNjaGVkX2Nsb2NrKCk7CkBAIC0yOTQ2LDcgKzI5NzAs NTggQEAKIAlsb2NrLT5jcHUgPSBjcHU7CiB9CiAKLXZvaWQgbG9ja19jb250ZW5kZWQoc3RydWN0 IGxvY2tkZXBfbWFwICpsb2NrLCB1bnNpZ25lZCBsb25nIGlwKQorc3RhdGljIHZvaWQKK19fbG9j a19ub3RlX2FjcXVpcmVkKHN0cnVjdCBsb2NrZGVwX21hcCAqbG9jaywKKwkJICAgICB1bnNpZ25l ZCBsb25nIGlwCisJCSAgICAgX19MT0NLREVQX1RTX0RFQ0wpCit7CisJX19sb2NrX25vdGVfY29t bW9uKGxvY2ssIF9fX2xvY2tfbm90ZV9hY3F1aXJlZCwgaXAgX19MT0NLREVQX1RTX1BBUkFNKTsK KwkvL19fbG9ja19ub3RlX2NvbW1vbihsb2NrLCBfX19sb2NrX25vdGVfYWNxdWlyZWQsIF9SRVRf SVBfIF9fTE9DS0RFUF9UU19QQVJBTSk7Cit9CisKK3N0YXRpYyB2b2lkCitfX19sb2NrX25vdGVf c3RvbGVuKHN0cnVjdCBsb2NrZGVwX21hcCAqbG9jaywKKwkJICAgICAgc3RydWN0IGhlbGRfbG9j ayAqaGxvY2ssCisJCSAgICAgIHVuc2lnbmVkIGxvbmcgaXAsIGludCBpCisJCSAgICAgIF9fTE9D S0RFUF9UU19ERUNMKQoreworCXN0cnVjdCBsb2NrX2NsYXNzX3N0YXRzICpzdGF0czsKKworCXN0 YXRzID0gZ2V0X2xvY2tfc3RhdHMoaGxvY2stPmNsYXNzKTsKKwlzdGF0cy0+c3RvbGVuKys7CisJ YXRvbWljX2luYygmc3RvbGVuX3RvdGFsKTsKKwlwdXRfbG9ja19zdGF0cyhzdGF0cyk7Cit9CisK K3N0YXRpYyB2b2lkCitfX2xvY2tfbm90ZV9zdG9sZW4oc3RydWN0IGxvY2tkZXBfbWFwICpsb2Nr LAorCQkgICAgIHVuc2lnbmVkIGxvbmcgaXAKKwkJICAgICBfX0xPQ0tERVBfVFNfREVDTCkKK3sK KwlfX2xvY2tfbm90ZV9jb21tb24obG9jaywgX19fbG9ja19ub3RlX3N0b2xlbiwgX1JFVF9JUF8g X19MT0NLREVQX1RTX1BBUkFNKTsKK30KKwordm9pZCBsb2NrX25vdGVfc3RvbGVuKHN0cnVjdCBs b2NrZGVwX21hcCAqZGVwX21hcCkKK3sKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJaWYgKHVu bGlrZWx5KCFsb2NrX3N0YXQpKQorCQlyZXR1cm47CisKKwlpZiAodW5saWtlbHkoY3VycmVudC0+ bG9ja2RlcF9yZWN1cnNpb24pKQorCQlyZXR1cm47CisKKwlyYXdfbG9jYWxfaXJxX3NhdmUoZmxh Z3MpOworCWNoZWNrX2ZsYWdzKGZsYWdzKTsKKwljdXJyZW50LT5sb2NrZGVwX3JlY3Vyc2lvbiA9 IDE7CisJX19sb2NrX25vdGVfc3RvbGVuKGRlcF9tYXAsIDAgX19MT0NLREVQX1RTX05VTEwpOwor CWN1cnJlbnQtPmxvY2tkZXBfcmVjdXJzaW9uID0gMDsKKwlyYXdfbG9jYWxfaXJxX3Jlc3RvcmUo ZmxhZ3MpOworfQorRVhQT1JUX1NZTUJPTF9HUEwobG9ja19ub3RlX3N0b2xlbik7CisKK3ZvaWQg bG9ja19ub3RlX2NvbnRlbmRlZCggc3RydWN0IGxvY2tkZXBfbWFwICpkZXBfbWFwLAorCQkJdW5z aWduZWQgbG9uZyBpcCBfX0xPQ0tERVBfVFNfREVDTCkKIHsKIAl1bnNpZ25lZCBsb25nIGZsYWdz OwogCkBAIC0yOTU5LDEzICszMDM0LDEzIEBACiAJcmF3X2xvY2FsX2lycV9zYXZlKGZsYWdzKTsK IAljaGVja19mbGFncyhmbGFncyk7CiAJY3VycmVudC0+bG9ja2RlcF9yZWN1cnNpb24gPSAxOwot CV9fbG9ja19jb250ZW5kZWQobG9jaywgaXApOworCV9fbG9ja19ub3RlX2NvbnRlbmRlZChkZXBf bWFwLCBpcCBfX0xPQ0tERVBfVFNfUEFSQU0pOwogCWN1cnJlbnQtPmxvY2tkZXBfcmVjdXJzaW9u ID0gMDsKIAlyYXdfbG9jYWxfaXJxX3Jlc3RvcmUoZmxhZ3MpOwogfQotRVhQT1JUX1NZTUJPTF9H UEwobG9ja19jb250ZW5kZWQpOworRVhQT1JUX1NZTUJPTF9HUEwobG9ja19ub3RlX2NvbnRlbmRl ZCk7CiAKLXZvaWQgbG9ja19hY3F1aXJlZChzdHJ1Y3QgbG9ja2RlcF9tYXAgKmxvY2spCit2b2lk IGxvY2tfbm90ZV9hY3F1aXJlZChzdHJ1Y3QgbG9ja2RlcF9tYXAgKmxvY2spCiB7CiAJdW5zaWdu ZWQgbG9uZyBmbGFnczsKIApAQCAtMjk3OCwxMSArMzA1MywxMSBAQAogCXJhd19sb2NhbF9pcnFf c2F2ZShmbGFncyk7CiAJY2hlY2tfZmxhZ3MoZmxhZ3MpOwogCWN1cnJlbnQtPmxvY2tkZXBfcmVj dXJzaW9uID0gMTsKLQlfX2xvY2tfYWNxdWlyZWQobG9jayk7CisJX19sb2NrX25vdGVfYWNxdWly ZWQobG9jaywgMCBfX0xPQ0tERVBfVFNfTlVMTCk7CiAJY3VycmVudC0+bG9ja2RlcF9yZWN1cnNp b24gPSAwOwogCXJhd19sb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7CiB9Ci1FWFBPUlRfU1lNQk9M X0dQTChsb2NrX2FjcXVpcmVkKTsKK0VYUE9SVF9TWU1CT0xfR1BMKGxvY2tfbm90ZV9hY3F1aXJl ZCk7CiAjZW5kaWYKIAogLyoKLS0tIGxpbnV4LTIuNi4yNC9rZXJuZWwvbG9ja2RlcF9wcm9jLmMJ MjAwOC0wMS0yNCAxNDo1ODozNy4wMDAwMDAwMDAgLTA4MDAKKysrIGxpbnV4LTIuNi4yNC53b3Jr aW5nL2tlcm5lbC9sb2NrZGVwX3Byb2MuYwkyMDA4LTAzLTEzIDAwOjA4OjMyLjAwMDAwMDAwMCAt MDcwMApAQCAtNDE4LDkgKzQxOCwxMiBAQAogCXNlcV9wcmludGYobSwgIiAlMTRzIiwgbnVtKTsK IH0KIAotc3RhdGljIHZvaWQgc2VxX2xvY2tfdGltZShzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHN0cnVj dCBsb2NrX3RpbWUgKmx0KQorc3RhdGljIHZvaWQgc2VxX2xvY2tfdGltZShzdHJ1Y3Qgc2VxX2Zp bGUgKm0sIHN0cnVjdCBsb2NrX3RpbWUgKmx0LCBpbnQgaGVhZGVyLCB1bnNpZ25lZCBsb25nIHNw aW5uYWJsZXMsIHVuc2lnbmVkIGxvbmcgc3RlYWxzKQogewogCXNlcV9wcmludGYobSwgIiUxNGx1 IiwgbHQtPm5yKTsKKwlpZiAoaGVhZGVyKSB7CisJCXNlcV9wcmludGYobSwgIiBbJWx1LCAlbHVd Iiwgc3Bpbm5hYmxlcywgc3RlYWxzKTsKKwl9CiAJc2VxX3RpbWUobSwgbHQtPm1pbik7CiAJc2Vx X3RpbWUobSwgbHQtPm1heCk7CiAJc2VxX3RpbWUobSwgbHQtPnRvdGFsKTsKQEAgLTQzMiw2ICs0 MzUsNyBAQAogCXN0cnVjdCBsb2NrX2NsYXNzICpjbGFzczsKIAlzdHJ1Y3QgbG9ja19jbGFzc19z dGF0cyAqc3RhdHM7CiAJaW50IGksIG5hbWVsZW47CisJaW50IHNwaW5uYWJsZXMgPSAxOwogCiAJ Y2xhc3MgPSBkYXRhLT5jbGFzczsKIAlzdGF0cyA9ICZkYXRhLT5zdGF0czsKQEAgLTQ2OCwxOCAr NDcyLDIxIEBACiAJCQlzZXFfcHJpbnRmKG0sICIlNDBzOiIsIG5hbWUpOwogCiAJCXNlcV9wcmlu dGYobSwgIiUxNGx1ICIsIHN0YXRzLT5ib3VuY2VzW2JvdW5jZV9jb250ZW5kZWRfd3JpdGVdKTsK LQkJc2VxX2xvY2tfdGltZShtLCAmc3RhdHMtPndyaXRlX3dhaXR0aW1lKTsKKwkJc2VxX2xvY2tf dGltZShtLCAmc3RhdHMtPndyaXRlX3dhaXR0aW1lLCBzcGlubmFibGVzLCBzdGF0cy0+c3Bpbm5h YmxlLCBzdGF0cy0+c3RvbGVuKTsKKwkJaWYgKHNwaW5uYWJsZXMpIHsKKwkJCXNwaW5uYWJsZXMg PSAwOworCQl9CiAJCXNlcV9wcmludGYobSwgIiAlMTRsdSAiLCBzdGF0cy0+Ym91bmNlc1tib3Vu Y2VfYWNxdWlyZWRfd3JpdGVdKTsKLQkJc2VxX2xvY2tfdGltZShtLCAmc3RhdHMtPndyaXRlX2hv bGR0aW1lKTsKKwkJc2VxX2xvY2tfdGltZShtLCAmc3RhdHMtPndyaXRlX2hvbGR0aW1lLCAwLCAw LCAwKTsKIAkJc2VxX3B1dHMobSwgIlxuIik7CiAJfQogCiAJaWYgKHN0YXRzLT5yZWFkX2hvbGR0 aW1lLm5yKSB7CiAJCXNlcV9wcmludGYobSwgIiUzOHMtUjoiLCBuYW1lKTsKIAkJc2VxX3ByaW50 ZihtLCAiJTE0bHUgIiwgc3RhdHMtPmJvdW5jZXNbYm91bmNlX2NvbnRlbmRlZF9yZWFkXSk7Ci0J CXNlcV9sb2NrX3RpbWUobSwgJnN0YXRzLT5yZWFkX3dhaXR0aW1lKTsKKwkJc2VxX2xvY2tfdGlt ZShtLCAmc3RhdHMtPnJlYWRfd2FpdHRpbWUsIHNwaW5uYWJsZXMsIHN0YXRzLT5zcGlubmFibGUs IHN0YXRzLT5zdG9sZW4pOwogCQlzZXFfcHJpbnRmKG0sICIgJTE0bHUgIiwgc3RhdHMtPmJvdW5j ZXNbYm91bmNlX2FjcXVpcmVkX3JlYWRdKTsKLQkJc2VxX2xvY2tfdGltZShtLCAmc3RhdHMtPnJl YWRfaG9sZHRpbWUpOworCQlzZXFfbG9ja190aW1lKG0sICZzdGF0cy0+cmVhZF9ob2xkdGltZSwg MCwgMCwgMCk7CiAJCXNlcV9wdXRzKG0sICJcbiIpOwogCX0KIApAQCAtNTEzLDE1ICs1MjAsMjIg QEAKIAl9CiB9CiAKK2V4dGVybiBhdG9taWNfdCBzcGlubmFibGVzX3RvdGFsLCBjb250ZW50aW9u c190b3RhbCwgc3RvbGVuX3RvdGFsOworYXRvbWljX3QgY3B1X3JhbmdlX2Vycm9yID0gey5jb3Vu dGVyID0gMH07CisKIHN0YXRpYyB2b2lkIHNlcV9oZWFkZXIoc3RydWN0IHNlcV9maWxlICptKQog ewogCXNlcV9wcmludGYobSwgImxvY2tfc3RhdCB2ZXJzaW9uIDAuMlxuIik7CisJc2VxX3ByaW50 ZihtLCAic3Bpbm5hYmxlc190b3RhbCA9ICV1XG4iLCBhdG9taWNfcmVhZCgmc3Bpbm5hYmxlc190 b3RhbCkpOworCXNlcV9wcmludGYobSwgImNvbnRlbnRpb25zX3RvdGFsID0gJXVcbiIsIGF0b21p Y19yZWFkKCZjb250ZW50aW9uc190b3RhbCkpOworCXNlcV9wcmludGYobSwgInN0b2xlbl90b3Rh bCA9ICV1XG4iLCBhdG9taWNfcmVhZCgmc3RvbGVuX3RvdGFsKSk7CisJc2VxX3ByaW50ZihtLCAi Y3B1IHJhbmdlIGVycm9yID0gJXVcbiIsIGF0b21pY19yZWFkKCZjcHVfcmFuZ2VfZXJyb3IpKTsK IAlzZXFfbGluZShtLCAnLScsIDAsIDQwICsgMSArIDEwICogKDE0ICsgMSkpOwogCXNlcV9wcmlu dGYobSwgIiU0MHMgJTE0cyAlMTRzICUxNHMgJTE0cyAlMTRzICUxNHMgJTE0cyAlMTRzICIKIAkJ CSIlMTRzICUxNHNcbiIsCiAJCQkiY2xhc3MgbmFtZSIsCiAJCQkiY29uLWJvdW5jZXMiLAotCQkJ ImNvbnRlbnRpb25zIiwKKwkJCSJjb250ZW50aW9ucyBbYWRhcHQsc3RlYWxzXSIsCiAJCQkid2Fp dHRpbWUtbWluIiwKIAkJCSJ3YWl0dGltZS1tYXgiLAogCQkJIndhaXR0aW1lLXRvdGFsIiwK ------=_Part_25308_7322163.1205453563625-- -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/