From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm0-f41.google.com (mail-wm0-f41.google.com [74.125.82.41]) by kanga.kvack.org (Postfix) with ESMTP id DF6726B0038 for ; Tue, 8 Dec 2015 06:22:27 -0500 (EST) Received: by wmww144 with SMTP id w144so176942466wmw.1 for ; Tue, 08 Dec 2015 03:22:27 -0800 (PST) Received: from mail-wm0-f54.google.com (mail-wm0-f54.google.com. [74.125.82.54]) by mx.google.com with ESMTPS id j84si29861844wma.50.2015.12.08.03.22.26 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 08 Dec 2015 03:22:26 -0800 (PST) Received: by wmvv187 with SMTP id v187so208865548wmv.1 for ; Tue, 08 Dec 2015 03:22:26 -0800 (PST) Date: Tue, 8 Dec 2015 12:22:25 +0100 From: Michal Hocko Subject: Re: [Intel-gfx] [PATCH v2 1/2] mm: Export nr_swap_pages Message-ID: <20151208112225.GB25800@dhcp22.suse.cz> References: <1449244734-25733-1-git-send-email-chris@chris-wilson.co.uk> <20151207134812.GA20782@dhcp22.suse.cz> <20151207164831.GA7256@cmpxchg.org> <5665CB78.7000106@intel.com> <20151207191346.GA3872@cmpxchg.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20151207191346.GA3872@cmpxchg.org> Sender: owner-linux-mm@kvack.org List-ID: To: Johannes Weiner Cc: Dave Gordon , linux-mm@kvack.org, intel-gfx@lists.freedesktop.org, "Goel, Akash" On Mon 07-12-15 14:13:46, Johannes Weiner wrote: > On Mon, Dec 07, 2015 at 06:10:00PM +0000, Dave Gordon wrote: > > Exporting random uncontrolled variables from the kernel to loaded modules is > > not really considered best practice. It would be preferable to provide an > > accessor function - which is just what the declaration says we have; the > > implementation as a static inline (and/or macro) is what causes the problem > > here. > > No, what causes the problem is thinking we can't trust in-kernel code. This is not about the trust. It is about a clear API and separation. > If somebody screws up, we can fix it easily enough. Sure, we shouldn't > be laying traps and create easy-to-misuse interfaces, but that's not > what's happening here. There is no reason to add function overhead to > what should be a single 'mov' instruction. The mere fact that the current implementation is a simple atomic_long_read is a detail and not important for the API. The function is not used in any hot path where a single function call overhead would be a performance killer. Exporting implementation details to random users tends to add maintenance burden in future. I think it is natural to export symbols which are consumed by modules and that will be get_nr_swap_pages(). I do not even understand the resistance against that. Anyway I am not going to argue about it more. I have raised my review comment and leave the decision to Chris/Andrew. -- Michal Hocko SUSE Labs -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michal Hocko Subject: Re: [PATCH v2 1/2] mm: Export nr_swap_pages Date: Tue, 8 Dec 2015 12:22:25 +0100 Message-ID: <20151208112225.GB25800@dhcp22.suse.cz> References: <1449244734-25733-1-git-send-email-chris@chris-wilson.co.uk> <20151207134812.GA20782@dhcp22.suse.cz> <20151207164831.GA7256@cmpxchg.org> <5665CB78.7000106@intel.com> <20151207191346.GA3872@cmpxchg.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-f42.google.com (mail-wm0-f42.google.com [74.125.82.42]) by gabe.freedesktop.org (Postfix) with ESMTPS id D4D846E6D1 for ; Tue, 8 Dec 2015 03:22:27 -0800 (PST) Received: by wmvv187 with SMTP id v187so208865532wmv.1 for ; Tue, 08 Dec 2015 03:22:26 -0800 (PST) Content-Disposition: inline In-Reply-To: <20151207191346.GA3872@cmpxchg.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Johannes Weiner Cc: intel-gfx@lists.freedesktop.org, "Goel, Akash" , linux-mm@kvack.org List-Id: intel-gfx@lists.freedesktop.org T24gTW9uIDA3LTEyLTE1IDE0OjEzOjQ2LCBKb2hhbm5lcyBXZWluZXIgd3JvdGU6Cj4gT24gTW9u LCBEZWMgMDcsIDIwMTUgYXQgMDY6MTA6MDBQTSArMDAwMCwgRGF2ZSBHb3Jkb24gd3JvdGU6Cj4g PiBFeHBvcnRpbmcgcmFuZG9tIHVuY29udHJvbGxlZCB2YXJpYWJsZXMgZnJvbSB0aGUga2VybmVs IHRvIGxvYWRlZCBtb2R1bGVzIGlzCj4gPiBub3QgcmVhbGx5IGNvbnNpZGVyZWQgYmVzdCBwcmFj dGljZS4gSXQgd291bGQgYmUgcHJlZmVyYWJsZSB0byBwcm92aWRlIGFuCj4gPiBhY2Nlc3NvciBm dW5jdGlvbiAtIHdoaWNoIGlzIGp1c3Qgd2hhdCB0aGUgZGVjbGFyYXRpb24gc2F5cyB3ZSBoYXZl OyB0aGUKPiA+IGltcGxlbWVudGF0aW9uIGFzIGEgc3RhdGljIGlubGluZSAoYW5kL29yIG1hY3Jv KSBpcyB3aGF0IGNhdXNlcyB0aGUgcHJvYmxlbQo+ID4gaGVyZS4KPiAKPiBObywgd2hhdCBjYXVz ZXMgdGhlIHByb2JsZW0gaXMgdGhpbmtpbmcgd2UgY2FuJ3QgdHJ1c3QgaW4ta2VybmVsIGNvZGUu CgpUaGlzIGlzIG5vdCBhYm91dCB0aGUgdHJ1c3QuIEl0IGlzIGFib3V0IGEgY2xlYXIgQVBJIGFu ZCBzZXBhcmF0aW9uLgoKPiBJZiBzb21lYm9keSBzY3Jld3MgdXAsIHdlIGNhbiBmaXggaXQgZWFz aWx5IGVub3VnaC4gU3VyZSwgd2Ugc2hvdWxkbid0Cj4gYmUgbGF5aW5nIHRyYXBzIGFuZCBjcmVh dGUgZWFzeS10by1taXN1c2UgaW50ZXJmYWNlcywgYnV0IHRoYXQncyBub3QKPiB3aGF0J3MgaGFw cGVuaW5nIGhlcmUuIFRoZXJlIGlzIG5vIHJlYXNvbiB0byBhZGQgZnVuY3Rpb24gb3ZlcmhlYWQg dG8KPiB3aGF0IHNob3VsZCBiZSBhIHNpbmdsZSAnbW92JyBpbnN0cnVjdGlvbi4KClRoZSBtZXJl IGZhY3QgdGhhdCB0aGUgY3VycmVudCBpbXBsZW1lbnRhdGlvbiBpcyBhIHNpbXBsZSBhdG9taWNf bG9uZ19yZWFkCmlzIGEgZGV0YWlsIGFuZCBub3QgaW1wb3J0YW50IGZvciB0aGUgQVBJLiBUaGUg ZnVuY3Rpb24gaXMgbm90IHVzZWQKaW4gYW55IGhvdCBwYXRoIHdoZXJlIGEgc2luZ2xlIGZ1bmN0 aW9uIGNhbGwgb3ZlcmhlYWQgd291bGQgYmUgYQpwZXJmb3JtYW5jZSBraWxsZXIuIEV4cG9ydGlu ZyBpbXBsZW1lbnRhdGlvbiBkZXRhaWxzIHRvIHJhbmRvbSB1c2Vycwp0ZW5kcyB0byBhZGQgbWFp bnRlbmFuY2UgYnVyZGVuIGluIGZ1dHVyZS4KCkkgdGhpbmsgaXQgaXMgbmF0dXJhbCB0byBleHBv cnQgc3ltYm9scyB3aGljaCBhcmUgY29uc3VtZWQgYnkgbW9kdWxlcwphbmQgdGhhdCB3aWxsIGJl IGdldF9ucl9zd2FwX3BhZ2VzKCkuIEkgZG8gbm90IGV2ZW4gdW5kZXJzdGFuZCB0aGUKcmVzaXN0 YW5jZSBhZ2FpbnN0IHRoYXQuIEFueXdheSBJIGFtIG5vdCBnb2luZyB0byBhcmd1ZSBhYm91dCBp dCBtb3JlLgpJIGhhdmUgcmFpc2VkIG15IHJldmlldyBjb21tZW50IGFuZCBsZWF2ZSB0aGUgZGVj aXNpb24gdG8gQ2hyaXMvQW5kcmV3LgotLSAKTWljaGFsIEhvY2tvClNVU0UgTGFicwpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGlu ZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=