From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753553AbbHMSc7 (ORCPT ); Thu, 13 Aug 2015 14:32:59 -0400 Received: from mail-ig0-f170.google.com ([209.85.213.170]:36835 "EHLO mail-ig0-f170.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752862AbbHMScx (ORCPT ); Thu, 13 Aug 2015 14:32:53 -0400 MIME-Version: 1.0 In-Reply-To: References: <20150812210027.88dfcf90.akpm@linux-foundation.org> Date: Thu, 13 Aug 2015 11:32:52 -0700 X-Google-Sender-Auth: xfvmwj4i9pGEWjCLsW3LivUZNFY Message-ID: Subject: Re: get_vmalloc_info() and /proc/meminfo insanely expensive From: Linus Torvalds To: Andrew Morton Cc: Joonsoo Kim , Al Viro , Linux Kernel Mailing List Content-Type: multipart/mixed; boundary=047d7b10c9f92d649b051d359018 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --047d7b10c9f92d649b051d359018 Content-Type: text/plain; charset=UTF-8 On Wed, Aug 12, 2015 at 10:52 PM, Linus Torvalds wrote: > > I get the feeling this file should be rewritten. But that's not going > to happen. The "let's just cache the last value for one jiffy" seemed > to be the minimal fixup to it. Here's a totally untested patch (I'll reboot and test soon - it does at least compile for me). Notice the total lack of locking, which means that it's fundamentally racy. I really can't find it inside myself to care. Introducing those vmalloc fields was a mistake to begin with, any races here are "ok, we get values that were valid at some point, but it might have been a second ago". And I also can't find it in myself to care about the "on 32-bit, jiffies wraps in 49 days if HZ is 1000". If somebody carefully avoids ever reading /proc/meminfo for 49 days, and then reads it in _just_ the right second, and gets a really stale value, I'm just going to do my honey badger impression. Because we really shouldn't have added the vmalloc information to /proc/meminfo to begin with, and nobody ever cares about those values anyway. Comments? Linus --047d7b10c9f92d649b051d359018 Content-Type: text/x-patch; charset=US-ASCII; name="vmalloc.patch" Content-Disposition: attachment; filename="vmalloc.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_idajmlaj0 IG1tL3ZtYWxsb2MuYyB8IDUwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKy0tCiAxIGZpbGUgY2hhbmdlZCwgNDggaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9tbS92bWFsbG9jLmMgYi9tbS92bWFsbG9jLmMKaW5kZXggMmZh YWEyOTc2NDQ3Li4wZDBiOTZlZDg5NDggMTAwNjQ0Ci0tLSBhL21tL3ZtYWxsb2MuYworKysgYi9t bS92bWFsbG9jLmMKQEAgLTI2ODgsNyArMjY4OCw3IEBAIHN0YXRpYyBpbnQgX19pbml0IHByb2Nf dm1hbGxvY19pbml0KHZvaWQpCiB9CiBtb2R1bGVfaW5pdChwcm9jX3ZtYWxsb2NfaW5pdCk7CiAK LXZvaWQgZ2V0X3ZtYWxsb2NfaW5mbyhzdHJ1Y3Qgdm1hbGxvY19pbmZvICp2bWkpCitzdGF0aWMg dm9pZCBjYWxjX3ZtYWxsb2NfaW5mbyhzdHJ1Y3Qgdm1hbGxvY19pbmZvICp2bWkpCiB7CiAJc3Ry dWN0IHZtYXBfYXJlYSAqdmE7CiAJdW5zaWduZWQgbG9uZyBmcmVlX2FyZWFfc2l6ZTsKQEAgLTI3 MzUsNSArMjczNSw1MSBAQCB2b2lkIGdldF92bWFsbG9jX2luZm8oc3RydWN0IHZtYWxsb2NfaW5m byAqdm1pKQogb3V0OgogCXJjdV9yZWFkX3VubG9jaygpOwogfQotI2VuZGlmCiAKKy8qCisgKiBD YWxjdWxhdGluZyB0aGUgdm1hbGxvYyBpbmZvcm1hdGlvbiBpcyBleHBlbnNpdmUsIGFuZCBub2Jv ZHkgcmVhbGx5CisgKiBkZWVwbHkgY2FyZXMgYWJvdXQgaXQgYW55d2F5LiBZZXQsIHNvbWUgdmVy c2lvbnMgb2YgZ2xpYmMgZW5kIHVwCisgKiByZWFkaW5nIC9wcm9jL21lbWluZm8gYSBsb3QsIG5v dCBiZWNhdXNlIHRoZXkgY2FyZSBhYm91dCB0aGUgdm1hbGxvYworICogZmllbGRzLCBidXQgYmVj YXVzZSB0aGV5IGNhcmUgYWJvdXQgdGhlIHRvdGFsIG1lbW9yeSBpbmZvLgorICoKKyAqIFNvIHRv IGFsbGV2aWF0ZSB0aGF0IGV4cGVuc2UsIHdlIGNhY2hlIHRoZSB2bWFsbG9jIGluZm9ybWF0aW9u IGZvcgorICogYSBzZWNvbmQuIE5PVEUhIFRoaXMgaXMgZnVuZGFtZW50YWxseSByYWN5LCBzaW5j ZSB0aGUgYWNjZXNzZXMgdG8KKyAqIHRoZSB0d28gZmllbGRzIGluICJzdHJ1Y3Qgdm1hbGxvY19p bmZvIiBhbmQgdGhlIGNhY2hlIHRpbWVvdXQgYXJlCisgKiBhbGwgZW50aXJlbHkgdW5zeW5jaHJv bml6ZWQuIFdlIGp1c3QgZG9uJ3QgY2FyZS4KKyAqLwordm9pZCBnZXRfdm1hbGxvY19pbmZvKHN0 cnVjdCB2bWFsbG9jX2luZm8gKnZtaSkKK3sKKwlzdGF0aWMgdW5zaWduZWQgbG9uZyBjYWNoZV90 aW1lb3V0ID0gSU5JVElBTF9KSUZGSUVTOworCXN0YXRpYyBzdHJ1Y3Qgdm1hbGxvY19pbmZvIGNh Y2hlZF9pbmZvOworCXVuc2lnbmVkIGxvbmcgbm93ID0gamlmZmllcywgbGFzdCA9IFJFQURfT05D RShjYWNoZV90aW1lb3V0KTsKKworCWlmIChub3cgLSBsYXN0IDwgSFopIHsKKwkJKnZtaSA9IGNh Y2hlZF9pbmZvOworCQlyZXR1cm47CisJfQorCisJLyoKKwkgKiBXZSB1cGRhdGUgdGhlIGNhY2hl IHRpbWVvdXQgZWFybHksIGJlY2F1c2Ugd2UgKGFnYWluKSBkbworCSAqIG5vdCBjYXJlIGlmIHNv bWVib2R5IGVsc2UgY29tZXMgaW4gYW5kIHNlZXMgc2xpZ2h0bHkgc3RhbGUKKwkgKiBpbmZvcm1h dGlvbi4gV2UnZCByYXRoZXIgcmV0dXJuIG1vcmUgc3RhbGUgaW5mb3JtYXRpb24KKwkgKiB0aGFu IHdhc3RlIHRpbWUgd2l0aCBtdWx0aXBsZSBDUFUncyBhbGwgY2FsY3VsYXRpbmcgdGhlCisJICog bmV3IHN0YXRlLgorCSAqCisJICogTm90ZTogdGhlIGJhcnJpZXJzIGFyZSBoZXJlIG5vdCB0byBm aXggYW55IHJhY2VzLCBidXQgdG8KKwkgKiBhdm9pZCB0aGUgY29tcGlsaW5nIHNwcmVhZGluZyBv dXQgdGhlIHVwZGF0ZXMgdG8gdGhlc2UKKwkgKiB2YXJpYWJsZXMgYW55IG1vcmUgdGhhbiBuZWNl c3NhcnkuCisJICoKKwkgKiBBbHNvIG5vdGUgdGhhdCB3ZSBjYWxjdWxhdGUgdGhlIG5ldyBzdGF0 ZSBpbnRvIHRoZSAndm1pJworCSAqIGJ1ZmZlciB0aGF0IGlzIHBhc3NlZCBpbiwgYW5kIHByaXZh dGUgdG8gdGhlIGNhbGxlci4gVGhhdAorCSAqIGlzIGludGVudGlvbmFsOiB3ZSBkbyBub3Qgd2Fu dCB0byB1cGRhdGUgdGhlIGNhY2hlZCBpbmZvCisJICogaW5jcmVtZW50YWxseSBkdXJpbmcgdGhl IGNhbGN1bGF0aW9ucy4KKwkgKi8KKwlXUklURV9PTkNFKGNhY2hlX3RpbWVvdXQsIG5vdyk7CisJ YmFycmllcigpOworCisJY2FsY192bWFsbG9jX2luZm8odm1pKTsKKworCWJhcnJpZXIoKTsKKwlj YWNoZWRfaW5mbyA9ICp2bWk7Cit9CisjZW5kaWYK --047d7b10c9f92d649b051d359018--