From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S261866AbVF0GtL (ORCPT ); Mon, 27 Jun 2005 02:49:11 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S261873AbVF0Gr6 (ORCPT ); Mon, 27 Jun 2005 02:47:58 -0400 Received: from zproxy.gmail.com ([64.233.162.193]:61786 "EHLO zproxy.gmail.com") by vger.kernel.org with ESMTP id S261879AbVF0Gl3 (ORCPT ); Mon, 27 Jun 2005 02:41:29 -0400 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:mime-version:content-type; b=lzWySdJGvUTRR285cOHxJjq2Vf/GUmKq+iQyg5S3plRmptDmwNCmRNxDjMPm/tcjPcT8n3V+0h1oIJf33+aDpB1EwaPwnl1r34qMRqQefbMwacHSJq6auuTn+g1QOtDNBSGvaczUVL+9nBBrz99MrbeHiQXaSUlScFtgeKwkud0= Message-ID: <2c1942a705062623411b7e88c3@mail.gmail.com> Date: Mon, 27 Jun 2005 09:41:28 +0300 From: Levent Serinol Reply-To: Levent Serinol To: Linux Kernel Mailing List , Andrew Morton , Rik van Riel , William Lee Irwin III Subject: [PATCH] enable/disable profiling via proc/sysctl Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_3605_25509096.1119854488339" Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org ------=_Part_3605_25509096.1119854488339 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline This patch enables controlling kernel profiling through proc/sysctl inferfa= ce. With this patch profiling will be available without rebooting the machine (especially for production servers) with some drawbacks of vmalloc(tlb). So, bootime algorithm part is left unchanged for anyone who wishes to use profiling as usual without tlb drawback by rebooting the machine. PS. This patch is against 2.6.12-rc6 ------=_Part_3605_25509096.1119854488339 Content-Type: text/x-patch; name="profile.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="profile.patch" LS0tIGluY2x1ZGUvbGludXgvc3lzY3RsLmgub3JnCTIwMDUtMDYtMTMgMTY6MDU6MTcuMDAwMDAw MDAwICswMzAwCisrKyBpbmNsdWRlL2xpbnV4L3N5c2N0bC5oCTIwMDUtMDYtMjUgMTU6MDU6MDYu MDAwMDAwMDAwICswMzAwCkBAIC0xMzYsNiArMTM2LDcgQEAgZW51bQogCUtFUk5fVU5LTk9XTl9O TUlfUEFOSUM9NjYsIC8qIGludDogdW5rbm93biBubWkgcGFuaWMgZmxhZyAqLwogCUtFUk5fQk9P VExPQURFUl9UWVBFPTY3LCAvKiBpbnQ6IGJvb3QgbG9hZGVyIHR5cGUgKi8KIAlLRVJOX1JBTkRP TUlaRT02OCwgLyogaW50OiByYW5kb21pemUgdmlydHVhbCBhZGRyZXNzIHNwYWNlICovCisJS0VS Tl9QUk9GSUxFPTY5LCAvKiBpbnQ6IHByb2ZpbGUgb24vb2ZmICovCiB9OwogCiAKLS0tIGluY2x1 ZGUvbGludXgvcHJvZmlsZS5oLm9yZwkyMDA1LTAzLTAyIDA5OjM4OjA4LjAwMDAwMDAwMCArMDIw MAorKysgaW5jbHVkZS9saW51eC9wcm9maWxlLmgJMjAwNS0wNi0yNiAwMTo1Njo0Ni4wMDAwMDAw MDAgKzAzMDAKQEAgLTYsMTQgKzYsMjAgQEAKICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KICNp bmNsdWRlIDxsaW51eC9jb25maWcuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+CisjaW5jbHVk ZSA8bGludXgvc3lzY3RsLmg+CiAjaW5jbHVkZSA8bGludXgvY3B1bWFzay5oPgogI2luY2x1ZGUg PGFzbS9lcnJuby5oPgogCiAjZGVmaW5lIENQVV9QUk9GSUxJTkcJMQogI2RlZmluZSBTQ0hFRF9Q Uk9GSUxJTkcJMgogCitzdHJ1Y3QgY3RsX3RhYmxlOworc3RydWN0IGZpbGU7CiBzdHJ1Y3QgcHJv Y19kaXJfZW50cnk7CiBzdHJ1Y3QgcHRfcmVnczsKK2ludCBwcm9maWxlX3N5c2N0bF9oYW5kbGVy KGN0bF90YWJsZSAqdGFibGUsIGludCB3cml0ZSwKKyAgICAgICAgICAgICAgIHN0cnVjdCBmaWxl ICpmaWxlLCB2b2lkIF9fdXNlciAqYnVmZmVyLCBzaXplX3QKKypsZW5ndGgsIGxvZmZfdCAqcHBv cyk7CiAKIC8qIGluaXQgYmFzaWMga2VybmVsIHByb2ZpbGVyICovCiB2b2lkIF9faW5pdCBwcm9m aWxlX2luaXQodm9pZCk7Ci0tLSBrZXJuZWwvcHJvZmlsZS5jLm9yZwkyMDA1LTA2LTEzIDE2OjA1 OjIzLjAwMDAwMDAwMCArMDMwMAorKysga2VybmVsL3Byb2ZpbGUuYwkyMDA1LTA2LTI2IDIxOjM0 OjI4LjAwMDAwMDAwMCArMDMwMApAQCAtMjEsNyArMjEsNiBAQAogI2luY2x1ZGUgPGxpbnV4L21t Lmg+CiAjaW5jbHVkZSA8bGludXgvY3B1bWFzay5oPgogI2luY2x1ZGUgPGxpbnV4L2NwdS5oPgot I2luY2x1ZGUgPGxpbnV4L3Byb2ZpbGUuaD4KICNpbmNsdWRlIDxsaW51eC9oaWdobWVtLmg+CiAj aW5jbHVkZSA8YXNtL3NlY3Rpb25zLmg+CiAjaW5jbHVkZSA8YXNtL3NlbWFwaG9yZS5oPgpAQCAt MzcsOSArMzYsMTEgQEAgc3RydWN0IHByb2ZpbGVfaGl0IHsKIC8qIE9wcm9maWxlIHRpbWVyIHRp Y2sgaG9vayAqLwogaW50ICgqdGltZXJfaG9vaykoc3RydWN0IHB0X3JlZ3MgKik7CiAKK2ludCBw cm9maWxlX3BhcmFtc1syXSA9IHswLCAwfTsKIHN0YXRpYyBhdG9taWNfdCAqcHJvZl9idWZmZXI7 CiBzdGF0aWMgdW5zaWduZWQgbG9uZyBwcm9mX2xlbiwgcHJvZl9zaGlmdDsKLXN0YXRpYyBpbnQg cHJvZl9vbjsKK3N0YXRpYyBpbnQgcHJvZl9vbiA9IDA7CitzdGF0aWMgaW50IHByb2ZfYm9vdG9u ID0gMDsKIHN0YXRpYyBjcHVtYXNrX3QgcHJvZl9jcHVfbWFzayA9IENQVV9NQVNLX0FMTDsKICNp ZmRlZiBDT05GSUdfU01QCiBzdGF0aWMgREVGSU5FX1BFUl9DUFUoc3RydWN0IHByb2ZpbGVfaGl0 ICpbMl0sIGNwdV9wcm9maWxlX2hpdHMpOwpAQCAtODAsNiArODEsNyBAQCB2b2lkIF9faW5pdCBw cm9maWxlX2luaXQodm9pZCkKIAkvKiBvbmx5IHRleHQgaXMgcHJvZmlsZWQgKi8KIAlwcm9mX2xl biA9IChfZXRleHQgLSBfc3RleHQpID4+IHByb2Zfc2hpZnQ7CiAJcHJvZl9idWZmZXIgPSBhbGxv Y19ib290bWVtKHByb2ZfbGVuKnNpemVvZihhdG9taWNfdCkpOworCXByb2ZfYm9vdG9uID0gMTsK IH0KIAogLyogUHJvZmlsZSBldmVudCBub3RpZmljYXRpb25zICovCkBAIC0zNjcsNiArMzY5LDEy IEBAIHN0YXRpYyBpbnQgX19kZXZpbml0IHByb2ZpbGVfY3B1X2NhbGxiYWMKIAl9CiAJcmV0dXJu IE5PVElGWV9PSzsKIH0KK3N0YXRpYyBzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgcHJvZmlsZV9jcHVf bm90aWZpZXIgPQoreworICAgICAgICAgLm5vdGlmaWVyX2NhbGwgPSBwcm9maWxlX2NwdV9jYWxs YmFjaywKKyAgICAgICAgIC5wcmlvcml0eSA9IDAsCit9OworCiAjZW5kaWYgLyogQ09ORklHX0hP VFBMVUdfQ1BVICovCiAjZWxzZSAvKiAhQ09ORklHX1NNUCAqLwogI2RlZmluZSBwcm9maWxlX2Zs aXBfYnVmZmVycygpCQlkbyB7IH0gd2hpbGUgKDApCkBAIC01NDgsNiArNTU2LDk2IEBAIG91dF9j bGVhbnVwOgogI2RlZmluZSBjcmVhdGVfaGFzaF90YWJsZXMoKQkJCSh7IDA7IH0pCiAjZW5kaWYK IAorI2lmZGVmIENPTkZJR19TTVAKK3N0YXRpYyBpbnQgcmVtb3ZlX2hhc2hfdGFibGVzKHZvaWQp Cit7CisJaW50IGNwdTsKKworCXNtcF9tYigpOworCW9uX2VhY2hfY3B1KHByb2ZpbGVfbm9wLCBO VUxMLCAwLCAxKTsKKwlmb3JfZWFjaF9vbmxpbmVfY3B1KGNwdSkgeworCQlzdHJ1Y3QgcGFnZSAq cGFnZTsKKworCQlpZiAocGVyX2NwdShjcHVfcHJvZmlsZV9oaXRzLCBjcHUpWzBdKSB7CisJCQlw YWdlID0gdmlydF90b19wYWdlKHBlcl9jcHUoY3B1X3Byb2ZpbGVfaGl0cywgY3B1KVswXSk7CisJ CQlwZXJfY3B1KGNwdV9wcm9maWxlX2hpdHMsIGNwdSlbMF0gPSBOVUxMOworCQkJX19mcmVlX3Bh Z2UocGFnZSk7CisJCX0KKwkJaWYgKHBlcl9jcHUoY3B1X3Byb2ZpbGVfaGl0cywgY3B1KVsxXSkg eworCQkJcGFnZSA9IHZpcnRfdG9fcGFnZShwZXJfY3B1KGNwdV9wcm9maWxlX2hpdHMsIGNwdSlb MV0pOworCQkJcGVyX2NwdShjcHVfcHJvZmlsZV9oaXRzLCBjcHUpWzFdID0gTlVMTDsKKwkJCV9f ZnJlZV9wYWdlKHBhZ2UpOworCQl9CisJfQorCXJldHVybiAtMTsKK30KKyNlbHNlCisjZGVmaW5l IHJlbW92ZV9oYXNoX3RhYmxlcygpCQkJKHsgMDsgfSkKKyNlbmRpZgorCitpbnQgcHJvZmlsZV9z eXNjdGxfaGFuZGxlcihjdGxfdGFibGUgKnRhYmxlLCBpbnQgd3JpdGUsCisJc3RydWN0IGZpbGUg KmZpbGUsIHZvaWQgX191c2VyICpidWZmZXIsIHNpemVfdCAqbGVuZ3RoLCBsb2ZmX3QgKnBwb3Mp Cit7CisJaW50IGVycjsKKwlzdHJ1Y3QgcHJvY19kaXJfZW50cnkgKmVudHJ5OworCisJaWYgKHBy b2ZfYm9vdG9uICYmIHdyaXRlKSByZXR1cm4gMDsKKwllcnI9cHJvY19kb2ludHZlYyh0YWJsZSwg d3JpdGUsIGZpbGUsIGJ1ZmZlciwgbGVuZ3RoLCBwcG9zKTsKKwlpZiAoKGVyciA+PSAwKSAmJiB3 cml0ZSkgeworCXByb2Zfc2hpZnQgPSBwcm9maWxlX3BhcmFtc1sxXTsKKwlzd2l0Y2gocHJvZmls ZV9wYXJhbXNbMF0pCisJeworCWNhc2UgMDoKKwkJaWYgKHByb2Zfb24pIHsKKwkJCXByb2Zfb24g PSAwOworCQkJcmVtb3ZlX3Byb2NfZW50cnkoInByb2ZpbGUiLE5VTEwpOworI2lmZGVmIENPTkZJ R19IT1RQTFVHX0NQVQorCQkJdW5yZWdpc3Rlcl9jcHVfbm90aWZpZXIoJnByb2ZpbGVfY3B1X25v dGlmaWVyKTsKKyNlbmRpZgorCQkJcmVtb3ZlX2hhc2hfdGFibGVzKCk7CisJCQl2ZnJlZShwcm9m X2J1ZmZlcik7CisJCQlwcmludGsoS0VSTl9JTkZPICJrZXJuZWwgcHJvZmlsaW5nIGRpc2FibGVk XG4iKTsKKwkJICAgICB9IAorCQlicmVhazsKKwljYXNlIFNDSEVEX1BST0ZJTElORyB8fCBDUFVf UFJPRklMSU5HOgorCQlpZiAocHJvZl9vbikgcmV0dXJuIC0xOworICAgICAgICAJcHJvZl9sZW4g PSAoX2V0ZXh0IC0gX3N0ZXh0KSA+PiBwcm9mX3NoaWZ0OworICAgICAgICAJcHJvZl9idWZmZXIg PSB2bWFsbG9jKHByb2ZfbGVuKnNpemVvZihhdG9taWNfdCkpOworCQlpZiAoIXByb2ZfYnVmZmVy KSByZXR1cm4oLUVOT01FTSk7CisJCWlmIChjcmVhdGVfaGFzaF90YWJsZXMoKSkgeworCQkJdmZy ZWUocHJvZl9idWZmZXIpOworCQkJcmV0dXJuIC0xOworCQkJfQorCQlwcm9mX29uID0gcHJvZmls ZV9wYXJhbXNbMF07CisJCWlmICghKGVudHJ5ID0gY3JlYXRlX3Byb2NfZW50cnkoInByb2ZpbGUi LCBTX0lXVVNSIHwgU19JUlVHTywgTlVMTCkpKSB7CisJCQlyZW1vdmVfaGFzaF90YWJsZXMoKTsK KwkJCXZmcmVlKHByb2ZfYnVmZmVyKTsKKwkJCXJldHVybiAwOworCQkJfQorCQllbnRyeS0+cHJv Y19mb3BzID0gJnByb2NfcHJvZmlsZV9vcGVyYXRpb25zOworCQllbnRyeS0+c2l6ZSA9ICgxK3By b2ZfbGVuKSAqIHNpemVvZihhdG9taWNfdCk7CisjaWZkZWYgQ09ORklHX0hPVFBMVUdfQ1BVCisJ CXJlZ2lzdGVyX2NwdV9ub3RpZmllcigmcHJvZmlsZV9jcHVfbm90aWZpZXIpOworI2VuZGlmCisJ CXByb2ZpbGVfZGlzY2FyZF9mbGlwX2J1ZmZlcnMoKTsKKyAgICAgICAgCW1lbXNldChwcm9mX2J1 ZmZlciwgMCwgcHJvZl9sZW4gKiBzaXplb2YoYXRvbWljX3QpKTsKKwkJCXN3aXRjaChwcm9mX29u KQorCQkJeworCQkJY2FzZSBTQ0hFRF9QUk9GSUxJTkc6cHJpbnRrKEtFUk5fSU5GTworCQkJCSJr ZXJuZWwgc2NoZWR1bGUgcHJvZmlsaW5nIGVuYWJsZWQgKHNoaWZ0OiAlbGQpXG4iLAorCQkJCXBy b2Zfc2hpZnQpOworCQkJCWJyZWFrOworCQkJY2FzZSBDUFVfUFJPRklMSU5HOnByaW50ayhLRVJO X0lORk8KKwkJCQkia2VybmVsIHByb2ZpbGluZyBlbmFibGVkIChzaGlmdDogJWxkKVxuIiwKKwkJ CQlwcm9mX3NoaWZ0KTsKKwkJCQlicmVhazsKKwkJCQl9IAorCQkJYnJlYWs7CisJCQl9CisJCX0K KwlyZXR1cm4gMDsKK30KKwogc3RhdGljIGludCBfX2luaXQgY3JlYXRlX3Byb2NfcHJvZmlsZSh2 b2lkKQogewogCXN0cnVjdCBwcm9jX2Rpcl9lbnRyeSAqZW50cnk7CkBAIC01NjAsNyArNjU4LDEx IEBAIHN0YXRpYyBpbnQgX19pbml0IGNyZWF0ZV9wcm9jX3Byb2ZpbGUodm8KIAkJcmV0dXJuIDA7 CiAJZW50cnktPnByb2NfZm9wcyA9ICZwcm9jX3Byb2ZpbGVfb3BlcmF0aW9uczsKIAllbnRyeS0+ c2l6ZSA9ICgxK3Byb2ZfbGVuKSAqIHNpemVvZihhdG9taWNfdCk7Ci0JaG90Y3B1X25vdGlmaWVy KHByb2ZpbGVfY3B1X2NhbGxiYWNrLCAwKTsKKyNpZmRlZiBDT05GSUdfSE9UUExVR19DUFUKKwly ZWdpc3Rlcl9jcHVfbm90aWZpZXIoJnByb2ZpbGVfY3B1X25vdGlmaWVyKTsKKyNlbmRpZgorCXBy b2ZpbGVfcGFyYW1zWzBdID0gcHJvZl9vbjsKKwlwcm9maWxlX3BhcmFtc1sxXSA9IHByb2Zfc2hp ZnQ7CiAJcmV0dXJuIDA7CiB9CiBtb2R1bGVfaW5pdChjcmVhdGVfcHJvY19wcm9maWxlKTsKLS0t IGtlcm5lbC9zeXNjdGwuYy5vcmcJMjAwNS0wNi0xMyAxNjowNToyMy4wMDAwMDAwMDAgKzAzMDAK KysrIGtlcm5lbC9zeXNjdGwuYwkyMDA1LTA2LTI2IDAyOjA2OjIzLjAwMDAwMDAwMCArMDMwMApA QCAtMjEsNiArMjEsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2NvbmZpZy5oPgogI2luY2x1ZGUgPGxp bnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L21tLmg+CisjaW5jbHVkZSA8bGludXgvcHJv ZmlsZS5oPgogI2luY2x1ZGUgPGxpbnV4L3N3YXAuaD4KICNpbmNsdWRlIDxsaW51eC9zbGFiLmg+ CiAjaW5jbHVkZSA8bGludXgvc3lzY3RsLmg+CkBAIC02NSw2ICs2Niw3IEBAIGV4dGVybiBpbnQg bWluX2ZyZWVfa2J5dGVzOwogZXh0ZXJuIGludCBwcmludGtfcmF0ZWxpbWl0X2ppZmZpZXM7CiBl eHRlcm4gaW50IHByaW50a19yYXRlbGltaXRfYnVyc3Q7CiBleHRlcm4gaW50IHBpZF9tYXhfbWlu LCBwaWRfbWF4X21heDsKK2V4dGVybiBpbnQgcHJvZmlsZV9wYXJhbXNbXTsKIAogI2lmIGRlZmlu ZWQoQ09ORklHX1g4Nl9MT0NBTF9BUElDKSAmJiBkZWZpbmVkKENPTkZJR19YODYpCiBpbnQgdW5r bm93bl9ubWlfcGFuaWM7CkBAIC02NDIsNyArNjQ0LDE1IEBAIHN0YXRpYyBjdGxfdGFibGUga2Vy bl90YWJsZVtdID0gewogCQkubW9kZQkJPSAwNjQ0LAogCQkucHJvY19oYW5kbGVyCT0gJnByb2Nf ZG9pbnR2ZWMsCiAJfSwKLQorCXsKKwkJLmN0bF9uYW1lICAgICAgID0gS0VSTl9QUk9GSUxFLAor CQkucHJvY25hbWUgICAgICAgPSAicHJvZmlsZSIsCisJCS5kYXRhICAgICAgICAgICA9ICZwcm9m aWxlX3BhcmFtcywKKwkJLm1heGxlbiAgICAgICAgID0gMipzaXplb2YoaW50KSwKKwkJLm1vZGUg ICAgICAgICAgID0gMDY0NCwKKwkJLnByb2NfaGFuZGxlciAgID0gJnByb2ZpbGVfc3lzY3RsX2hh bmRsZXIsCisJCS5zdHJhdGVneSAgICAgICA9ICZzeXNjdGxfaW50dmVjLAorCX0sCiAJeyAuY3Rs X25hbWUgPSAwIH0KIH07CiAK ------=_Part_3605_25509096.1119854488339--