From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751576AbeA2QbV (ORCPT ); Mon, 29 Jan 2018 11:31:21 -0500 Received: from mx2.suse.de ([195.135.220.15]:55035 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751542AbeA2QbR (ORCPT ); Mon, 29 Jan 2018 11:31:17 -0500 Date: Mon, 29 Jan 2018 17:31:14 +0100 From: Michal Hocko To: Roger He Cc: dri-devel@lists.freedesktop.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Christian.Koenig@amd.com Subject: Re: [PATCH] mm/swap: add function get_total_swap_pages to expose total_swap_pages Message-ID: <20180129163114.GH21609@dhcp22.suse.cz> References: <1517214582-30880-1-git-send-email-Hongbo.He@amd.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1517214582-30880-1-git-send-email-Hongbo.He@amd.com> User-Agent: Mutt/1.9.2 (2017-12-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon 29-01-18 16:29:42, Roger He wrote: > ttm module needs it to determine its internal parameter setting. Could you be more specific why? > Signed-off-by: Roger He > --- > include/linux/swap.h | 6 ++++++ > mm/swapfile.c | 15 +++++++++++++++ > 2 files changed, 21 insertions(+) > > diff --git a/include/linux/swap.h b/include/linux/swap.h > index c2b8128..708d66f 100644 > --- a/include/linux/swap.h > +++ b/include/linux/swap.h > @@ -484,6 +484,7 @@ extern int try_to_free_swap(struct page *); > struct backing_dev_info; > extern int init_swap_address_space(unsigned int type, unsigned long nr_pages); > extern void exit_swap_address_space(unsigned int type); > +extern long get_total_swap_pages(void); > > #else /* CONFIG_SWAP */ > > @@ -516,6 +517,11 @@ static inline void show_swap_cache_info(void) > { > } > > +long get_total_swap_pages(void) > +{ > + return 0; > +} > + > #define free_swap_and_cache(e) ({(is_migration_entry(e) || is_device_private_entry(e));}) > #define swapcache_prepare(e) ({(is_migration_entry(e) || is_device_private_entry(e));}) > > diff --git a/mm/swapfile.c b/mm/swapfile.c > index 3074b02..a0062eb 100644 > --- a/mm/swapfile.c > +++ b/mm/swapfile.c > @@ -98,6 +98,21 @@ static atomic_t proc_poll_event = ATOMIC_INIT(0); > > atomic_t nr_rotate_swap = ATOMIC_INIT(0); > > +/* > + * expose this value for others use > + */ > +long get_total_swap_pages(void) > +{ > + long ret; > + > + spin_lock(&swap_lock); > + ret = total_swap_pages; > + spin_unlock(&swap_lock); > + > + return ret; > +} > +EXPORT_SYMBOL_GPL(get_total_swap_pages); > + > static inline unsigned char swap_count(unsigned char ent) > { > return ent & ~SWAP_HAS_CACHE; /* may include SWAP_HAS_CONT flag */ > -- > 2.7.4 -- Michal Hocko SUSE Labs From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr0-f200.google.com (mail-wr0-f200.google.com [209.85.128.200]) by kanga.kvack.org (Postfix) with ESMTP id 9429F6B0005 for ; Mon, 29 Jan 2018 11:31:19 -0500 (EST) Received: by mail-wr0-f200.google.com with SMTP id y18so5933271wrh.12 for ; Mon, 29 Jan 2018 08:31:19 -0800 (PST) Received: from mx2.suse.de (mx2.suse.de. [195.135.220.15]) by mx.google.com with ESMTPS id c13si10449115wrd.16.2018.01.29.08.31.17 for (version=TLS1 cipher=AES128-SHA bits=128/128); Mon, 29 Jan 2018 08:31:17 -0800 (PST) Date: Mon, 29 Jan 2018 17:31:14 +0100 From: Michal Hocko Subject: Re: [PATCH] mm/swap: add function get_total_swap_pages to expose total_swap_pages Message-ID: <20180129163114.GH21609@dhcp22.suse.cz> References: <1517214582-30880-1-git-send-email-Hongbo.He@amd.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1517214582-30880-1-git-send-email-Hongbo.He@amd.com> Sender: owner-linux-mm@kvack.org List-ID: To: Roger He Cc: dri-devel@lists.freedesktop.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Christian.Koenig@amd.com On Mon 29-01-18 16:29:42, Roger He wrote: > ttm module needs it to determine its internal parameter setting. Could you be more specific why? > Signed-off-by: Roger He > --- > include/linux/swap.h | 6 ++++++ > mm/swapfile.c | 15 +++++++++++++++ > 2 files changed, 21 insertions(+) > > diff --git a/include/linux/swap.h b/include/linux/swap.h > index c2b8128..708d66f 100644 > --- a/include/linux/swap.h > +++ b/include/linux/swap.h > @@ -484,6 +484,7 @@ extern int try_to_free_swap(struct page *); > struct backing_dev_info; > extern int init_swap_address_space(unsigned int type, unsigned long nr_pages); > extern void exit_swap_address_space(unsigned int type); > +extern long get_total_swap_pages(void); > > #else /* CONFIG_SWAP */ > > @@ -516,6 +517,11 @@ static inline void show_swap_cache_info(void) > { > } > > +long get_total_swap_pages(void) > +{ > + return 0; > +} > + > #define free_swap_and_cache(e) ({(is_migration_entry(e) || is_device_private_entry(e));}) > #define swapcache_prepare(e) ({(is_migration_entry(e) || is_device_private_entry(e));}) > > diff --git a/mm/swapfile.c b/mm/swapfile.c > index 3074b02..a0062eb 100644 > --- a/mm/swapfile.c > +++ b/mm/swapfile.c > @@ -98,6 +98,21 @@ static atomic_t proc_poll_event = ATOMIC_INIT(0); > > atomic_t nr_rotate_swap = ATOMIC_INIT(0); > > +/* > + * expose this value for others use > + */ > +long get_total_swap_pages(void) > +{ > + long ret; > + > + spin_lock(&swap_lock); > + ret = total_swap_pages; > + spin_unlock(&swap_lock); > + > + return ret; > +} > +EXPORT_SYMBOL_GPL(get_total_swap_pages); > + > static inline unsigned char swap_count(unsigned char ent) > { > return ent & ~SWAP_HAS_CACHE; /* may include SWAP_HAS_CONT flag */ > -- > 2.7.4 -- 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] mm/swap: add function get_total_swap_pages to expose total_swap_pages Date: Mon, 29 Jan 2018 17:31:14 +0100 Message-ID: <20180129163114.GH21609@dhcp22.suse.cz> References: <1517214582-30880-1-git-send-email-Hongbo.He@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mx2.suse.de (mx2.suse.de [195.135.220.15]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3EE556E02C for ; Mon, 29 Jan 2018 16:31:18 +0000 (UTC) Content-Disposition: inline In-Reply-To: <1517214582-30880-1-git-send-email-Hongbo.He@amd.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Roger He Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Christian.Koenig@amd.com List-Id: dri-devel@lists.freedesktop.org T24gTW9uIDI5LTAxLTE4IDE2OjI5OjQyLCBSb2dlciBIZSB3cm90ZToKPiB0dG0gbW9kdWxlIG5l ZWRzIGl0IHRvIGRldGVybWluZSBpdHMgaW50ZXJuYWwgcGFyYW1ldGVyIHNldHRpbmcuCgpDb3Vs ZCB5b3UgYmUgbW9yZSBzcGVjaWZpYyB3aHk/Cgo+IFNpZ25lZC1vZmYtYnk6IFJvZ2VyIEhlIDxI b25nYm8uSGVAYW1kLmNvbT4KPiAtLS0KPiAgaW5jbHVkZS9saW51eC9zd2FwLmggfCAgNiArKysr KysKPiAgbW0vc3dhcGZpbGUuYyAgICAgICAgfCAxNSArKysrKysrKysrKysrKysKPiAgMiBmaWxl cyBjaGFuZ2VkLCAyMSBpbnNlcnRpb25zKCspCj4gCj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGlu dXgvc3dhcC5oIGIvaW5jbHVkZS9saW51eC9zd2FwLmgKPiBpbmRleCBjMmI4MTI4Li43MDhkNjZm IDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvbGludXgvc3dhcC5oCj4gKysrIGIvaW5jbHVkZS9saW51 eC9zd2FwLmgKPiBAQCAtNDg0LDYgKzQ4NCw3IEBAIGV4dGVybiBpbnQgdHJ5X3RvX2ZyZWVfc3dh cChzdHJ1Y3QgcGFnZSAqKTsKPiAgc3RydWN0IGJhY2tpbmdfZGV2X2luZm87Cj4gIGV4dGVybiBp bnQgaW5pdF9zd2FwX2FkZHJlc3Nfc3BhY2UodW5zaWduZWQgaW50IHR5cGUsIHVuc2lnbmVkIGxv bmcgbnJfcGFnZXMpOwo+ICBleHRlcm4gdm9pZCBleGl0X3N3YXBfYWRkcmVzc19zcGFjZSh1bnNp Z25lZCBpbnQgdHlwZSk7Cj4gK2V4dGVybiBsb25nIGdldF90b3RhbF9zd2FwX3BhZ2VzKHZvaWQp Owo+ICAKPiAgI2Vsc2UgLyogQ09ORklHX1NXQVAgKi8KPiAgCj4gQEAgLTUxNiw2ICs1MTcsMTEg QEAgc3RhdGljIGlubGluZSB2b2lkIHNob3dfc3dhcF9jYWNoZV9pbmZvKHZvaWQpCj4gIHsKPiAg fQo+ICAKPiArbG9uZyBnZXRfdG90YWxfc3dhcF9wYWdlcyh2b2lkKQo+ICt7Cj4gKwlyZXR1cm4g MDsKPiArfQo+ICsKPiAgI2RlZmluZSBmcmVlX3N3YXBfYW5kX2NhY2hlKGUpICh7KGlzX21pZ3Jh dGlvbl9lbnRyeShlKSB8fCBpc19kZXZpY2VfcHJpdmF0ZV9lbnRyeShlKSk7fSkKPiAgI2RlZmlu ZSBzd2FwY2FjaGVfcHJlcGFyZShlKSAoeyhpc19taWdyYXRpb25fZW50cnkoZSkgfHwgaXNfZGV2 aWNlX3ByaXZhdGVfZW50cnkoZSkpO30pCj4gIAo+IGRpZmYgLS1naXQgYS9tbS9zd2FwZmlsZS5j IGIvbW0vc3dhcGZpbGUuYwo+IGluZGV4IDMwNzRiMDIuLmEwMDYyZWIgMTAwNjQ0Cj4gLS0tIGEv bW0vc3dhcGZpbGUuYwo+ICsrKyBiL21tL3N3YXBmaWxlLmMKPiBAQCAtOTgsNiArOTgsMjEgQEAg c3RhdGljIGF0b21pY190IHByb2NfcG9sbF9ldmVudCA9IEFUT01JQ19JTklUKDApOwo+ICAKPiAg YXRvbWljX3QgbnJfcm90YXRlX3N3YXAgPSBBVE9NSUNfSU5JVCgwKTsKPiAgCj4gKy8qCj4gKyAq IGV4cG9zZSB0aGlzIHZhbHVlIGZvciBvdGhlcnMgdXNlCj4gKyAqLwo+ICtsb25nIGdldF90b3Rh bF9zd2FwX3BhZ2VzKHZvaWQpCj4gK3sKPiArCWxvbmcgcmV0Owo+ICsKPiArCXNwaW5fbG9jaygm c3dhcF9sb2NrKTsKPiArCXJldCA9IHRvdGFsX3N3YXBfcGFnZXM7Cj4gKwlzcGluX3VubG9jaygm c3dhcF9sb2NrKTsKPiArCj4gKwlyZXR1cm4gcmV0Owo+ICt9Cj4gK0VYUE9SVF9TWU1CT0xfR1BM KGdldF90b3RhbF9zd2FwX3BhZ2VzKTsKPiArCj4gIHN0YXRpYyBpbmxpbmUgdW5zaWduZWQgY2hh ciBzd2FwX2NvdW50KHVuc2lnbmVkIGNoYXIgZW50KQo+ICB7Cj4gIAlyZXR1cm4gZW50ICYgflNX QVBfSEFTX0NBQ0hFOwkvKiBtYXkgaW5jbHVkZSBTV0FQX0hBU19DT05UIGZsYWcgKi8KPiAtLSAK PiAyLjcuNAoKLS0gCk1pY2hhbCBIb2NrbwpTVVNFIExhYnMKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2 ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==