Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1030203AbWJCPZq (ORCPT ); Tue, 3 Oct 2006 11:25:46 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1030213AbWJCPZp (ORCPT ); Tue, 3 Oct 2006 11:25:45 -0400 Received: from mout2.freenet.de ([194.97.50.155]:63975 "EHLO mout2.freenet.de") by vger.kernel.org with ESMTP id S1030203AbWJCPZ3 (ORCPT ); Tue, 3 Oct 2006 11:25:29 -0400 Date: Tue, 03 Oct 2006 17:26:27 +0200 To: "linux-kernel@vger.kernel.org" Subject: [PATCH 8/11] 2.6.18-mm3 pktcdvd: bio write congestion control Reply-To: balagi@justmail.de From: "Thomas Maier" Cc: "petero2@telia.com" , "akpm@osdl.org" Content-Type: multipart/mixed; boundary=----------CSxyy0VDaBjXCaJKmQqTnr MIME-Version: 1.0 Message-ID: User-Agent: Opera Mail/9.00 (Win32) Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 16937 Lines: 276 ------------CSxyy0VDaBjXCaJKmQqTnr Content-Type: text/plain; charset=iso-8859-15 Content-Transfer-Encoding: 7bit Hello, this patch adds the ability to control the size of the drivers bio write queue. See the Documentation/* files in the patch for further infos. http://people.freenet.de/BalaGi/download/pktcdvd-8-wqueue-congestion_2.6.18.patch Signed-off-by: Thomas Maier -Thomas Maier ------------CSxyy0VDaBjXCaJKmQqTnr Content-Disposition: attachment; filename=pktcdvd-8-wqueue-congestion_2.6.18.patch Content-Type: application/octet-stream; name=pktcdvd-8-wqueue-congestion_2.6.18.patch Content-Transfer-Encoding: Base64 ZGlmZiAtdXJwTiA3LXByb2Nmcy1vcHRpb25hbC9Eb2N1bWVudGF0aW9uL0FCSS90 ZXN0aW5nL3N5c2ZzLWNsYXNzLXBrdGNkdmQgOC13cXVldWUtY29uZ2VzdGlvbi9E b2N1bWVudGF0aW9uL0FCSS90ZXN0aW5nL3N5c2ZzLWNsYXNzLXBrdGNkdmQKLS0t IDctcHJvY2ZzLW9wdGlvbmFsL0RvY3VtZW50YXRpb24vQUJJL3Rlc3Rpbmcvc3lz ZnMtY2xhc3MtcGt0Y2R2ZAkyMDA2LTEwLTAzIDEzOjE3OjE1LjAwMDAwMDAwMCAr MDIwMAorKysgOC13cXVldWUtY29uZ2VzdGlvbi9Eb2N1bWVudGF0aW9uL0FCSS90 ZXN0aW5nL3N5c2ZzLWNsYXNzLXBrdGNkdmQJMjAwNi0xMC0wMyAxNTo0Njo0OS4w MDAwMDAwMDAgKzAyMDAKQEAgLTM4LDYgKzM4LDIzIEBAIHRoZXNlIGZpbGVzIGlu IHRoZSBzeXNmczoKICAgICByZXNldCAgICAgICAgICAgICAgICAgKDAyMDApIFdy aXRlIGFueSB2YWx1ZSB0byBpdCB0byByZXNldAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgcGt0Y2R2ZCBkZXZpY2Ugc3RhdGlzdGljIHZhbHVlcywg bGlrZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnl0ZXMgcmVh ZC93cml0dGVuLgorICAgIAorL3N5cy9jbGFzcy9wa3RjZHZkL3BrdGNkdmRbMC03 XS93cml0ZV9xdWV1ZS8KKyAgICBzaXplICAgICAgICAgICAgICAgICAgKDA0NDQp IENvbnRhaW5zIHRoZSBzaXplIG9mIHRoZSBiaW8gd3JpdGUKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHF1ZXVlLgorCisgICAgY29uZ2VzdGlvbl9v ZmYgICAgICAgICgwNjQ0KSBJZiBiaW8gd3JpdGUgcXVldWUgc2l6ZSBpcyBiZWxv dworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcyBtYXJrLCBh Y2NlcHQgbmV3IGJpbyByZXF1ZXN0cworICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZnJvbSB0aGUgYmxvY2sgbGF5ZXIuCisKKyAgICBjb25nZXN0aW9u X29uICAgICAgICAgKDA2NDQpIElmIGJpbyB3cml0ZSBxdWV1ZSBzaXplIGlzIGhp Z2hlcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXMgdGhpcyBt YXJrLCBkbyBubyBsb25nZXIgYWNjZXB0CisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBiaW8gd3JpdGUgcmVxdWVzdHMgZnJvbSB0aGUgYmxvY2sKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxheWVyIGFuZCB3YWl0IHRp bGwgdGhlIHBrdGNkdmQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGRldmljZSBoYXMgcHJvY2Vzc2VkIGVub3VnaCBiaW8ncworICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgc28gdGhhdCBiaW8gd3JpdGUgcXVldWUgc2l6 ZSBpcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVsb3cgY29u Z2VzdGlvbiBvZmYgbWFyay4KKwogIAogCiBFeGFtcGxlOgpkaWZmIC11cnBOIDct cHJvY2ZzLW9wdGlvbmFsL0RvY3VtZW50YXRpb24vY2Ryb20vcGFja2V0LXdyaXRp bmcudHh0IDgtd3F1ZXVlLWNvbmdlc3Rpb24vRG9jdW1lbnRhdGlvbi9jZHJvbS9w YWNrZXQtd3JpdGluZy50eHQKLS0tIDctcHJvY2ZzLW9wdGlvbmFsL0RvY3VtZW50 YXRpb24vY2Ryb20vcGFja2V0LXdyaXRpbmcudHh0CTIwMDYtMTAtMDMgMTM6MTc6 MTUuMDAwMDAwMDAwICswMjAwCisrKyA4LXdxdWV1ZS1jb25nZXN0aW9uL0RvY3Vt ZW50YXRpb24vY2Ryb20vcGFja2V0LXdyaXRpbmcudHh0CTIwMDYtMTAtMDMgMTU6 NTI6MDAuMDAwMDAwMDAwICswMjAwCkBAIC0xMjUsOCArMTI1LDI2IEBAIFRvIHJl YWQgcGt0Y2R2ZCBkZXZpY2UgaW5mb3MgaW4gaHVtYW4gcmUKIEZvciBhIGRlc2Ny aXB0aW9uIG9mIHRoZSBkZWJ1Z2ZzIGludGVyZmFjZSBsb29rIGludG8gdGhlIGZp bGU6CiAKICAgRG9jdW1lbnRhdGlvbi9BQkkvdGVzdGluZy9kZWJ1Z2ZzLXBrdGNk dmQKLQkgICAgICAgICAgICAgICAgIAotICAKKworCitCaW8gd3JpdGUgcXVldWUg Y29uZ2VzdGlvbiBtYXJrcworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KK1RoZSBwa3RjZHZkIGRyaXZlciBhbGxvd3MgdG8gYWRqdXN0IHRoZSBiZWhh dmlvdXIgb2YgdGhlCitpbnRlcm5hbCBiaW8gd3JpdGUgcXVldWUuCitUaGlzIGNh biBiZSBkb25lIHdpdGggdGhlIHR3byB3cml0ZV9jb25nZXN0aW9uX1tvbnxvZmZd IG1hcmtzLgorVGhlIGRyaXZlciBkb2VzIG9ubHkgYWNjZXB0IHVwIHRvIHdyaXRl X2Nvbmdlc3Rpb25fb24gYmlvCit3cml0ZSByZXF1ZXN0IGZyb20gdGhlIGkvbyBi bG9jayBsYXllciwgYW5kIHdhaXRzIHRpbGwgdGhlCityZXF1ZXN0cyBhcmUgcHJv Y2Vzc2VkIGJ5IHRoZSBtYXBwZWQgYmxvY2sgZGV2aWNlIGFuZAordGhlIHF1ZXVl IHNpemUgaXMgYmVsb3cgdGhlIHdyaXRlX2Nvbmdlc3Rpb25fb2ZmIG1hcmsuCitJ biBwcmV2aW91cyB2ZXJzaW9ucyBvZiBwa3RjZHZkLCB0aGUgZHJpdmVyIGFjY2Vw dGVkIGFsbAoraW5jb21pbmcgYmlvIHdyaXRlIHJlcXVlc3QuIFRoaXMgbGVkIHNv bWV0aW1lcyB0byBrZXJuZWwKK291dCBvZiBtZW1vcnkgb29wcyAobWF5YmUgc29t ZSBidWdzIGluIHRoZSBsaW51eCBrZXJuZWwgOykKK0NBVVRJT046IHVzZSB0aGlz IG9wdGlvbnMgb25seSBpZiB5b3Uga25vdyB3aGF0IHlvdSBkbyEKK1RoZSBkZWZh dWx0IHNldHRpbmdzIGZvciB0aGUgY29uZ2VzdGlvbiBtYXJrcyBzaG91bGQgYmUg b2suCitUaGUgbWF4aW11bSBzaXplIG9mIHRoZSBiaW8gd3JpdGUgcXVldWUgY2Fu IGluZmx1ZW5jZQorZHJpdmVyJ3MgY3B1IGxvYWQgYW5kIG1lbW9yeSBjb25zdW1w dGlvbi4KKworCiBMaW5rcwogLS0tLS0KIApkaWZmIC11cnBOIDctcHJvY2ZzLW9w dGlvbmFsL2RyaXZlcnMvYmxvY2svcGt0Y2R2ZC5jIDgtd3F1ZXVlLWNvbmdlc3Rp b24vZHJpdmVycy9ibG9jay9wa3RjZHZkLmMKLS0tIDctcHJvY2ZzLW9wdGlvbmFs L2RyaXZlcnMvYmxvY2svcGt0Y2R2ZC5jCTIwMDYtMTAtMDMgMTM6NTQ6MzEuMDAw MDAwMDAwICswMjAwCisrKyA4LXdxdWV1ZS1jb25nZXN0aW9uL2RyaXZlcnMvYmxv Y2svcGt0Y2R2ZC5jCTIwMDYtMTAtMDMgMTM6NTQ6NDMuMDAwMDAwMDAwICswMjAw CkBAIC04OCw2ICs4OCw4IEBACiAKIHN0YXRpYyBzdHJ1Y3QgcGt0Y2R2ZF9kZXZp Y2UgKnBrdF9kZXZzW01BWF9XUklURVJTXTsKIHN0YXRpYyBpbnQgcGt0ZGV2X21h am9yID0gMDsgLyogZGVmYXVsdDogZHluYW1pYyBtYWpvciBudW1iZXIgKi8KK3N0 YXRpYyBpbnQgd3JpdGVfY29uZ2VzdGlvbl9vbiAgPSBQS1RfV1JJVEVfQ09OR0VT VElPTl9PTjsKK3N0YXRpYyBpbnQgd3JpdGVfY29uZ2VzdGlvbl9vZmYgPSBQS1Rf V1JJVEVfQ09OR0VTVElPTl9PRkY7CiBzdGF0aWMgc3RydWN0IG11dGV4IGN0bF9t dXRleDsJLyogU2VyaWFsaXplIG9wZW4vY2xvc2Uvc2V0dXAvdGVhcmRvd24gKi8K IHN0YXRpYyBtZW1wb29sX3QgKnBzZF9wb29sOwogCkBAIC0xMzMsNiArMTM1LDIz IEBAIHN0YXRpYyBzdHJ1Y3QgcGt0Y2R2ZF9kZXZpY2UgKnBrdF9maW5kX2QKIAly ZXR1cm4gTlVMTDsKIH0KIAorc3RhdGljIHZvaWQgaW5pdF93cml0ZV9jb25nZXN0 aW9uX21hcmtzKGludCogbG8sIGludCogaGkpCit7CisJaWYgKCpoaSA+IDApIHsK KwkJKmhpID0gbWF4KCpoaSwgUEtUX1dSSVRFX0NPTkdFU1RJT05fTUlOKTsKKwkJ KmhpID0gbWluKCpoaSwgUEtUX1dSSVRFX0NPTkdFU1RJT05fTUFYKTsKKwkJaWYg KCpsbyA8PSAwKQorCQkJKmxvID0gKmhpIC0gUEtUX1dSSVRFX0NPTkdFU1RJT05f VEhSRVNIT0xEOworCQllbHNlIHsKKwkJCSpsbyA9IG1pbigqbG8sICpoaSAtIFBL VF9XUklURV9DT05HRVNUSU9OX1RIUkVTSE9MRCk7CisJCQkqbG8gPSBtYXgoKmxv LCBQS1RfV1JJVEVfQ09OR0VTVElPTl9NSU4vNCk7CisJCX0KKwl9IGVsc2Ugewor CQkqaGkgPSAtMTsKKwkJKmxvID0gLTE7CisJfQorfQorCiBzdGF0aWMgdm9pZCBw a3RfY291bnRfc3RhdGVzKHN0cnVjdCBwa3RjZHZkX2RldmljZSAqcGQsIGludCAq c3RhdGVzKQogewogCXN0cnVjdCBwYWNrZXRfZGF0YSAqcGt0OwpAQCAtMjA3LDYg KzIyNiwxMCBAQCBzdGF0aWMgaW50IHBrdF9wcmludF9pbmZvKHN0cnVjdCBwa3Rj ZHZkCiAJcGt0X2NvdW50X3N0YXRlcyhwZCwgc3RhdGVzKTsKIAlQUklOVCgiXHRz dGF0ZTpcdFx0XHRpOiVkIG93OiVkIHJ3OiVkIHd3OiVkIHJlYzolZCBmaW46JWRc biIsCiAJICAgICAgc3RhdGVzWzBdLCBzdGF0ZXNbMV0sIHN0YXRlc1syXSwgc3Rh dGVzWzNdLCBzdGF0ZXNbNF0sIHN0YXRlc1s1XSk7CisJCSAgIAorCVBSSU5UKCJc dHdyaXRlIGNvbmdlc3Rpb24gbWFya3M6XHRvZmY9JWQgb249JWRcbiIsCisJCQlw ZC0+d3JpdGVfY29uZ2VzdGlvbl9vZmYsCisJCQlwZC0+d3JpdGVfY29uZ2VzdGlv bl9vbik7CiAjdW5kZWYgUFJJTlQKIAlidWZbYmxlbi0xXSA9IDA7CiAJcmV0dXJu IG47CkBAIC0yNjIsNiArMjg1LDkgQEAgc3RhdGljIHZvaWQgcGt0X2tvYmpfcmVs ZWFzZShzdHJ1Y3Qga29iagogCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAvc3lzL2NsYXNzL3Br dGNkdmQvcGt0Y2R2ZFswLTddLworICAgICAgICAgICAgICAgICAgICAgd3JpdGVf cXVldWUvc2l6ZQorICAgICAgICAgICAgICAgICAgICAgd3JpdGVfcXVldWUvY29u Z2VzdGlvbl9vZmYKKyAgICAgICAgICAgICAgICAgICAgIHdyaXRlX3F1ZXVlL2Nv bmdlc3Rpb25fb24KICAgICAgICAgICAgICAgICAgICAgIHN0YXQvcmVzZXQKICAg ICAgICAgICAgICAgICAgICAgIHN0YXQvcGFja2V0c19zdGFydGVkCiAgICAgICAg ICAgICAgICAgICAgICBzdGF0L3BhY2tldHNfZmluaXNoZWQKQEAgLTI3MCw2ICsy OTYsMTcgQEAgc3RhdGljIHZvaWQgcGt0X2tvYmpfcmVsZWFzZShzdHJ1Y3Qga29i agogICAgICAgICAgICAgICAgICAgICAgc3RhdC9rYl9yZWFkX2dhdGhlcgogICoq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKiovCiAKK0RFRl9BVFRSKGtvYmpfcGt0X2F0dHJfd3ExLCAic2l6ZSIs IDA0NDQpOworREVGX0FUVFIoa29ial9wa3RfYXR0cl93cTIsICJjb25nZXN0aW9u X29mZiIsIDA2NDQpOworREVGX0FUVFIoa29ial9wa3RfYXR0cl93cTMsICJjb25n ZXN0aW9uX29uIiwgIDA2NDQpOworCitzdGF0aWMgc3RydWN0IGF0dHJpYnV0ZSAq a29ial9wa3RfYXR0cnNfd3F1ZXVlW10gPSB7CisJJmtvYmpfcGt0X2F0dHJfd3Ex LAorCSZrb2JqX3BrdF9hdHRyX3dxMiwKKwkma29ial9wa3RfYXR0cl93cTMsCisJ TlVMTAorfTsKKwogREVGX0FUVFIoa29ial9wa3RfYXR0cl9zdDEsICJyZXNldCIs IDAyMDApOwogREVGX0FUVFIoa29ial9wa3RfYXR0cl9zdDIsICJwYWNrZXRzX3N0 YXJ0ZWQiLCAwNDQ0KTsKIERFRl9BVFRSKGtvYmpfcGt0X2F0dHJfc3QzLCAicGFj a2V0c19maW5pc2hlZCIsIDA0NDQpOwpAQCAtMzAyLDYgKzMzOSw3IEBAIHN0YXRp YyBzc2l6ZV90IGtvYmpfcGt0X3Nob3coc3RydWN0IGtvYmoKIHsKIAlzdHJ1Y3Qg cGt0Y2R2ZF9kZXZpY2UgKnBkOwogCWludCBuID0gMDsKKwlpbnQgdjsKIAogCWRh dGFbMF0gPSAwOwogCXBkID0gdG9fcGt0Y2R2ZGtvYmooa29iaiktPnBkOwpAQCAt MzIwLDYgKzM1OCwyNCBAQCBzdGF0aWMgc3NpemVfdCBrb2JqX3BrdF9zaG93KHN0 cnVjdCBrb2JqCiAKIAl9IGVsc2UgaWYgKHN0cmNtcChhdHRyLT5uYW1lLCAia2Jf cmVhZF9nYXRoZXIiKSA9PSAwKSB7CiAJCW4gPSBzcHJpbnRmKGRhdGEsICIlbHVc biIsIHBkLT5zdGF0cy5zZWNzX3JnID4+IDEpOworCQorCX0gZWxzZSBpZiAoc3Ry Y21wKGF0dHItPm5hbWUsICJzaXplIikgPT0gMCkgeworCQlzcGluX2xvY2soJnBk LT5sb2NrKTsKKwkJdiA9IHBkLT5iaW9fcXVldWVfc2l6ZTsKKwkJc3Bpbl91bmxv Y2soJnBkLT5sb2NrKTsKKwkJbiA9IHNwcmludGYoZGF0YSwgIiVkXG4iLCB2KTsK KwkJCisJfSBlbHNlIGlmIChzdHJjbXAoYXR0ci0+bmFtZSwgImNvbmdlc3Rpb25f b2ZmIikgPT0gMCkgeworCQlzcGluX2xvY2soJnBkLT5sb2NrKTsKKwkJdiA9IHBk LT53cml0ZV9jb25nZXN0aW9uX29mZjsKKwkJc3Bpbl91bmxvY2soJnBkLT5sb2Nr KTsKKwkJbiA9IHNwcmludGYoZGF0YSwgIiVkXG4iLCB2KTsKKworCX0gZWxzZSBp ZiAoc3RyY21wKGF0dHItPm5hbWUsICJjb25nZXN0aW9uX29uIikgPT0gMCkgewor CQlzcGluX2xvY2soJnBkLT5sb2NrKTsKKwkJdiA9IHBkLT53cml0ZV9jb25nZXN0 aW9uX29uOworCQlzcGluX3VubG9jaygmcGQtPmxvY2spOworCQluID0gc3ByaW50 ZihkYXRhLCAiJWRcbiIsIHYpOwogCX0KIAlyZXR1cm4gbjsKIH0KQEAgLTMyOCw2 ICszODQsNyBAQCBzdGF0aWMgc3NpemVfdCBrb2JqX3BrdF9zdG9yZShzdHJ1Y3Qg a29iCiAJCQlzdHJ1Y3QgYXR0cmlidXRlICphdHRyLAogCQkJY29uc3QgY2hhciAq ZGF0YSwgc2l6ZV90IGxlbikKIHsKKwlpbnQgdmFsOwogCXN0cnVjdCBwa3RjZHZk X2RldmljZSAqcGQ7CiAJREVDTEFSRV9CVUZfQVNfU1RSSU5HKGRidWYsIGRhdGEs IGxlbik7IC8qIGVuc3VyZSBzc2NhbmYgc2NhbnMgYSBzdHJpbmcgKi8KIApAQCAt MzM4LDggKzM5NSwyNCBAQCBzdGF0aWMgc3NpemVfdCBrb2JqX3BrdF9zdG9yZShz dHJ1Y3Qga29iCiAJCXBkLT5zdGF0cy5wa3RfZW5kZWQgPSAwOwogCQlwZC0+c3Rh dHMuc2Vjc193ID0gMDsKIAkJcGQtPnN0YXRzLnNlY3NfcmcgPSAwOwotCQlwZC0+ c3RhdHMuc2Vjc19yID0gMDsJCQorCQlwZC0+c3RhdHMuc2Vjc19yID0gMDsKKwor CX0gZWxzZSBpZiAoc3RyY21wKGF0dHItPm5hbWUsICJjb25nZXN0aW9uX29mZiIp ID09IDAKKwkJICAgJiYgc3NjYW5mKGRidWYsICIlZCIsICZ2YWwpID09IDEpIHsK KwkJc3Bpbl9sb2NrKCZwZC0+bG9jayk7CisJCXBkLT53cml0ZV9jb25nZXN0aW9u X29mZiA9IHZhbDsKKwkJaW5pdF93cml0ZV9jb25nZXN0aW9uX21hcmtzKCZwZC0+ d3JpdGVfY29uZ2VzdGlvbl9vZmYsCisJCQkJCSZwZC0+d3JpdGVfY29uZ2VzdGlv bl9vbik7CisJCXNwaW5fdW5sb2NrKCZwZC0+bG9jayk7CisJfSBlbHNlIGlmIChz dHJjbXAoYXR0ci0+bmFtZSwgImNvbmdlc3Rpb25fb24iKSA9PSAwCisJCSAgICYm IHNzY2FuZihkYnVmLCAiJWQiLCAmdmFsKSA9PSAxKSB7CisJCXNwaW5fbG9jaygm cGQtPmxvY2spOworCQlwZC0+d3JpdGVfY29uZ2VzdGlvbl9vbiA9IHZhbDsKKwkJ aW5pdF93cml0ZV9jb25nZXN0aW9uX21hcmtzKCZwZC0+d3JpdGVfY29uZ2VzdGlv bl9vZmYsCisJCQkJCSZwZC0+d3JpdGVfY29uZ2VzdGlvbl9vbik7CisJCXNwaW5f dW5sb2NrKCZwZC0+bG9jayk7CiAJfQorCiAJcmV0dXJuIGxlbjsKIH0KIApAQCAt MzUyLDYgKzQyNSwxMiBAQCBzdGF0aWMgc3RydWN0IGtvYmpfdHlwZSBrb2JqX3Br dF90eXBlX3N0CiAJLnN5c2ZzX29wcyA9ICZrb2JqX3BrdF9vcHMsCiAJLmRlZmF1 bHRfYXR0cnMgPSBrb2JqX3BrdF9hdHRyc19zdGF0CiB9Oworc3RhdGljIHN0cnVj dCBrb2JqX3R5cGUga29ial9wa3RfdHlwZV93cXVldWUgPSB7CisJLnJlbGVhc2Ug PSBwa3Rfa29ial9yZWxlYXNlLAorCS5zeXNmc19vcHMgPSAma29ial9wa3Rfb3Bz LAorCS5kZWZhdWx0X2F0dHJzID0ga29ial9wa3RfYXR0cnNfd3F1ZXVlCit9Owor CiAKIHN0YXRpYyB2b2lkIHBrdF9zeXNmc19kZXZfbmV3KHN0cnVjdCBwa3RjZHZk X2RldmljZSAqcGQpCiB7CkBAIC0zNjYsMTIgKzQ0NSwxNiBAQCBzdGF0aWMgdm9p ZCBwa3Rfc3lzZnNfZGV2X25ldyhzdHJ1Y3QgcGt0CiAJCXBkLT5rb2JqX3N0YXQg PSBwa3Rfa29ial9jcmVhdGUocGQsICJzdGF0IiwKIAkJCQkJJnBkLT5jbHNkZXYt PmtvYmosCiAJCQkJCSZrb2JqX3BrdF90eXBlX3N0YXQpOworCQlwZC0+a29ial93 cXVldWUgPSBwa3Rfa29ial9jcmVhdGUocGQsICJ3cml0ZV9xdWV1ZSIsCisJCQkJ CSZwZC0+Y2xzZGV2LT5rb2JqLAorCQkJCQkma29ial9wa3RfdHlwZV93cXVldWUp OwogCX0KIH0KIAogc3RhdGljIHZvaWQgcGt0X3N5c2ZzX2Rldl9yZW1vdmUoc3Ry dWN0IHBrdGNkdmRfZGV2aWNlICpwZCkKIHsKIAlwa3Rfa29ial9yZW1vdmUocGQt PmtvYmpfc3RhdCk7CisJcGt0X2tvYmpfcmVtb3ZlKHBkLT5rb2JqX3dxdWV1ZSk7 CiAJaWYgKGNsYXNzX3BrdGNkdmQpCiAJCWNsYXNzX2RldmljZV9kZXN0cm95KGNs YXNzX3BrdGNkdmQsIHBkLT5wa3RfZGV2KTsKIH0KQEAgLTE0NjAsNiArMTU0Myw3 IEBAIHN0YXRpYyBpbnQgcGt0X2hhbmRsZV9xdWV1ZShzdHJ1Y3QgcGt0Y2QKIAlz ZWN0b3JfdCB6b25lID0gMDsgLyogU3VwcHJlc3MgZ2NjIHdhcm5pbmcgKi8KIAlz dHJ1Y3QgcGt0X3JiX25vZGUgKm5vZGUsICpmaXJzdF9ub2RlOwogCXN0cnVjdCBy Yl9ub2RlICpuOworCWludCB3YWtldXA7CiAKIAlWUFJJTlRLKCJoYW5kbGVfcXVl dWVcbiIpOwogCkBAIC0xNTMyLDcgKzE2MTYsMTQgQEAgdHJ5X25leHRfYmlvOgog CQlwa3QtPndyaXRlX3NpemUgKz0gYmlvLT5iaV9zaXplIC8gQ0RfRlJBTUVTSVpF OwogCQlzcGluX3VubG9jaygmcGt0LT5sb2NrKTsKIAl9CisJLyogY2hlY2sgd3Jp dGUgY29uZ2VzdGlvbiBtYXJrcywgYW5kIGlmIGJpb19xdWV1ZV9zaXplIGlzCisJ ICAgYmVsb3csIHdha2UgdXAgYW55IHdhaXRlcnMgKi8KKwl3YWtldXAgPSAocGQt PndyaXRlX2Nvbmdlc3Rpb25fb24gPiAwCisJIAkJJiYgcGQtPmJpb19xdWV1ZV9z aXplIDw9IHBkLT53cml0ZV9jb25nZXN0aW9uX29mZgorCQkJJiYgd2FpdHF1ZXVl X2FjdGl2ZSgmcGQtPndyaXRlX2Nvbmdlc3Rpb25fd3F1ZXVlKSk7CiAJc3Bpbl91 bmxvY2soJnBkLT5sb2NrKTsKKwlpZiAod2FrZXVwKQorCQl3YWtlX3VwKCZwZC0+ d3JpdGVfY29uZ2VzdGlvbl93cXVldWUpOwogCiAJcGt0LT5zbGVlcF90aW1lID0g bWF4KFBBQ0tFVF9XQUlUX1RJTUUsIDEpOwogCXBrdF9zZXRfc3RhdGUocGt0LCBQ QUNLRVRfV0FJVElOR19TVEFURSk7CkBAIC0yNzI0LDYgKzI4MTUsMzIgQEAgc3Rh dGljIGludCBwa3RfbWFrZV9yZXF1ZXN0KHJlcXVlc3RfcXVldQogCXNwaW5fdW5s b2NrKCZwZC0+Y2Rydy5hY3RpdmVfbGlzdF9sb2NrKTsKIAogCS8qCisJICogVGVz dCBpZiB0aGVyZSBpcyBlbm91Z2ggcm9vbSBsZWZ0IGluIHRoZSBiaW8gd29yayBx dWV1ZQorCSAqIChxdWV1ZSBzaXplID49IGNvbmdlc3Rpb24gb24gbWFyaykuCisJ ICogSWYgbm90LCB3YWl0IHRpbGwgdGhlIHdvcmsgcXVldWUgc2l6ZSBpcyBiZWxv dyB0aGUgY29uZ2VzdGlvbiBvZmYgbWFyay4KKwkgKiBUaGlzIGlzIHNpbWlsYXIg dG8gdGhlIGdldF9yZXF1ZXN0X3dhaXQoKSBjYWxsIG1hZGUgaW4gdGhlIGJsb2Nr CisJICogbGF5ZXIgZnVuY3Rpb24gX19tYWtlX3JlcXVlc3QoKSB1c2VkIGZvciBu b3JtYWwgYmxvY2sgaS9vIHJlcXVlc3QKKwkgKiBoYW5kbGluZy4KKwkgKi8KKwlz cGluX2xvY2soJnBkLT5sb2NrKTsKKwlpZiAocGQtPndyaXRlX2Nvbmdlc3Rpb25f b24gPiAwCisJICAgICAmJiBwZC0+YmlvX3F1ZXVlX3NpemUgPj0gcGQtPndyaXRl X2Nvbmdlc3Rpb25fb24pIHsKKwkJREVGSU5FX1dBSVQod2FpdCk7CisJCS8qIHdh aXQgdGlsbCBudW1iZXIgb2YgYmlvIHJlcXVlc3RzIGlzIGxvdyBlbm91Z2ggKi8K KwkJZG8geworCQkJc3Bpbl91bmxvY2soJnBkLT5sb2NrKTsKKwkJCXByZXBhcmVf dG9fd2FpdF9leGNsdXNpdmUoJnBkLT53cml0ZV9jb25nZXN0aW9uX3dxdWV1ZSwK KwkJCQkJJndhaXQsIFRBU0tfVU5JTlRFUlJVUFRJQkxFKTsKKwkJCWlvX3NjaGVk dWxlKCk7CisJCQkvKiBpZiB3ZSBhcmUgaGVyZSwgYmlvX3F1ZXVlX3NpemUgc2hv dWxkIGJlIGJlbG93CisJCQkgICBjb25nZXN0aW9uX29mZiwgYnV0IGJlIHN1cmUg YW5kIGRvIGEgdGVzdCAqLworCQkJc3Bpbl9sb2NrKCZwZC0+bG9jayk7CisJCX0g d2hpbGUocGQtPmJpb19xdWV1ZV9zaXplID4gcGQtPndyaXRlX2Nvbmdlc3Rpb25f b2ZmKTsKKwkJZmluaXNoX3dhaXQoJnBkLT53cml0ZV9jb25nZXN0aW9uX3dxdWV1 ZSwgJndhaXQpOworCX0KKwlzcGluX3VubG9jaygmcGQtPmxvY2spOworCisJLyoK IAkgKiBObyBtYXRjaGluZyBwYWNrZXQgZm91bmQuIFN0b3JlIHRoZSBiaW8gaW4g dGhlIHdvcmsgcXVldWUuCiAJICovCiAJbm9kZSA9IG1lbXBvb2xfYWxsb2MocGQt PnJiX3Bvb2wsIEdGUF9OT0lPKTsKQEAgLTI5NTEsNiArMzA2OCwxMCBAQCBzdGF0 aWMgaW50IHBrdF9zZXR1cF9kZXYoZGV2X3QgZGV2LCBkZXZfCiAJaW5pdF93YWl0 cXVldWVfaGVhZCgmcGQtPndxdWV1ZSk7CiAJcGQtPmJpb19xdWV1ZSA9IFJCX1JP T1Q7CiAKKwlpbml0X3dhaXRxdWV1ZV9oZWFkKCZwZC0+d3JpdGVfY29uZ2VzdGlv bl93cXVldWUpOworCXBkLT53cml0ZV9jb25nZXN0aW9uX29uICA9IHdyaXRlX2Nv bmdlc3Rpb25fb247CisJcGQtPndyaXRlX2Nvbmdlc3Rpb25fb2ZmID0gd3JpdGVf Y29uZ2VzdGlvbl9vZmY7CisKIAlkaXNrID0gYWxsb2NfZGlzaygxKTsKIAlpZiAo IWRpc2spCiAJCWdvdG8gb3V0X21lbTsKQEAgLTMwNTcsNiArMzE3OCw5IEBAIHN0 YXRpYyBpbnQgX19pbml0IHBrdF9pbml0KHZvaWQpCiB7CiAJaW50IHJldDsKIAor CWluaXRfd3JpdGVfY29uZ2VzdGlvbl9tYXJrcygmd3JpdGVfY29uZ2VzdGlvbl9v ZmYsCisJCQkJJndyaXRlX2Nvbmdlc3Rpb25fb24pOworCiAJbXV0ZXhfaW5pdCgm Y3RsX211dGV4KTsKIAogCXBzZF9wb29sID0gbWVtcG9vbF9jcmVhdGVfa21hbGxv Y19wb29sKFBTRF9QT09MX1NJWkUsCmRpZmYgLXVycE4gNy1wcm9jZnMtb3B0aW9u YWwvaW5jbHVkZS9saW51eC9wa3RjZHZkLmggOC13cXVldWUtY29uZ2VzdGlvbi9p bmNsdWRlL2xpbnV4L3BrdGNkdmQuaAotLS0gNy1wcm9jZnMtb3B0aW9uYWwvaW5j bHVkZS9saW51eC9wa3RjZHZkLmgJMjAwNi0xMC0wMyAxMzowOToxOC4wMDAwMDAw MDAgKzAyMDAKKysrIDgtd3F1ZXVlLWNvbmdlc3Rpb24vaW5jbHVkZS9saW51eC9w a3RjZHZkLmgJMjAwNi0xMC0wMyAxMzozNzowMS4wMDAwMDAwMDAgKzAyMDAKQEAg LTEyMyw2ICsxMjMsMTQgQEAgc3RydWN0IHBrdF9jdHJsX2NvbW1hbmQgewogI2Vu ZGlmCiAKIAorLyogZGVmYXVsdCBiaW8gd3JpdGUgcXVldWUgY29uZ2VzdGlvbiBt YXJrcyAqLworI2RlZmluZSBQS1RfV1JJVEVfQ09OR0VTVElPTl9PTiA1MDAwCisj ZGVmaW5lIFBLVF9XUklURV9DT05HRVNUSU9OX09GRiA0NTAwCisjZGVmaW5lIFBL VF9XUklURV9DT05HRVNUSU9OX01BWCAoMTAyNCoxMDI0KQorI2RlZmluZSBQS1Rf V1JJVEVfQ09OR0VTVElPTl9NSU4gMTAwCisjZGVmaW5lIFBLVF9XUklURV9DT05H RVNUSU9OX1RIUkVTSE9MRCAyNQorCisKIHN0cnVjdCBwYWNrZXRfc2V0dGluZ3MK IHsKIAlfX3UzMgkJCXNpemU7CQkvKiBwYWNrZXQgc2l6ZSBpbiAoNTEyIGJ5dGUp IHNlY3RvcnMgKi8KQEAgLTI5MSw3ICsyOTksMTEgQEAgc3RydWN0IHBrdGNkdmRf ZGV2aWNlCiAKIAlzdHJ1Y3QgcGFja2V0X2lvc2NoZWQgICBpb3NjaGVkOwogCXN0 cnVjdCBnZW5kaXNrCQkqZGlzazsKLQkKKwkJCisJd2FpdF9xdWV1ZV9oZWFkX3QJ d3JpdGVfY29uZ2VzdGlvbl93cXVldWU7CisJaW50CQkJd3JpdGVfY29uZ2VzdGlv bl9vZmY7CisJaW50CQkJd3JpdGVfY29uZ2VzdGlvbl9vbjsKKwogCXN0cnVjdCBj bGFzc19kZXZpY2UJKmNsc2RldjsJLyogc3lzZnMgcGt0Y2R2ZFswLTddIGNsYXNz IGRldiAqLyAKIAlzdHJ1Y3QgcGt0Y2R2ZF9rb2JqCSprb2JqX3N0YXQ7CS8qIHN5 c2ZzIHBrdGNkdmRbMC03XS9zdGF0LyAgICAgKi8KIAlzdHJ1Y3QgcGt0Y2R2ZF9r b2JqCSprb2JqX3dxdWV1ZTsJLyogc3lzZnMgcGt0Y2R2ZFswLTddL3dyaXRlX3F1 ZXVlLyAqLwo= ------------CSxyy0VDaBjXCaJKmQqTnr-- - 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/