* Re: [PATCH] mm: convert totalram_pages, totalhigh_pages and managed_pages to atomic.
[not found] ` <1540229092-25207-1-git-send-email-arunks-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
@ 2018-10-22 18:11 ` Michal Hocko
[not found] ` <20181022181122.GK18839-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2018-10-23 5:37 ` Huang, Ying
2018-11-22 1:33 ` Guo Ren
2 siblings, 1 reply; 5+ messages in thread
From: Michal Hocko @ 2018-10-22 18:11 UTC (permalink / raw)
To: Arun KS
Cc: Mike Snitzer, Benjamin Herrenschmidt, Kemi Wang,
dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW, J. Bruce Fields,
linux-sctp-u79uwXL29TY76Z2rM5mHXA, Paul Mackerras, Pavel Machek,
Christoph Lameter, K. Y. Srinivasan, Sumit Semwal,
David (ChunMing) Zhou, Petr Tesarik, Michael Ellerman,
ceph-devel-u79uwXL29TY76Z2rM5mHXA, James E.J. Bottomley,
kasan-dev-/JYPxA39Uh5TLH3MbocFFw, Marcos Paulo de Souza,
Steven J. Hill, David Rientjes, Anthony Yznaga, Daniel Vacek,
Roman Gushchin, Len Brown
On Mon 22-10-18 22:53:22, Arun KS wrote:
> Remove managed_page_count_lock spinlock and instead use atomic
> variables.
I assume this has been auto-generated. If yes, it would be better to
mention the script so that people can review it and regenerate for
comparision. Such a large change is hard to review manually.
--
Michal Hocko
SUSE Labs
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] mm: convert totalram_pages, totalhigh_pages and managed_pages to atomic.
[not found] ` <20181022181122.GK18839-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
@ 2018-10-23 4:46 ` Arun Sudhilal
0 siblings, 0 replies; 5+ messages in thread
From: Arun Sudhilal @ 2018-10-23 4:46 UTC (permalink / raw)
To: mhocko-DgEjT+Ai2ygdnm+yROfE0A
Cc: snitzer-H+wXaHxf7aLQT0dZR+AlfA,
benh-XVmvHMARGAS8U2dJNN8I7kB+6BGkLq7r,
kemi.wang-ral2JQCrhuEAvxtiuMwx3w,
dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW,
bfields-uC3wQj2KruNg9hUCZPvPmw,
linux-sctp-u79uwXL29TY76Z2rM5mHXA, paulus-eUNUBHrolfbYtjvyW6yDsg,
pavel-+ZI9xUNit7I, cl-vYTEC60ixJUAvxtiuMwx3w,
kys-0li6OtcxBFHby3iVrkZq2A, sumit.semwal-QSEj5FYQhm4dnm+yROfE0A,
David1.Zhou-5C7GfCeVMHo, ptesarik-IBi9RG/b67k,
mpe-Gsx/Oe8HsFggBc27wqDAHg, ceph-devel-u79uwXL29TY76Z2rM5mHXA,
jejb-6jwH94ZQLHl74goWV3ctuw, kasan-dev-/JYPxA39Uh5TLH3MbocFFw,
marcos.souza.org-Re5JQEeQqe8AvxtiuMwx3w,
steven.hill-YGCgFSpz5w/QT0dZR+AlfA,
rientjes-hpIqsD4AKlfQT0dZR+AlfA,
anthony.yznaga-QHcLZuEGTsvQT0dZR+AlfA,
neelx-H+wXaHxf7aLQT0dZR+AlfA, guro-b10kYP2dOMg,
len.brown-ral2JQCrhuEAvxtiuMwx3w,
linux-pm-u79uwXL29TY76Z2rM5mHXA, vbabka-AlSwsSmVLrQ,
linux-um-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
rppt-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8,
viro-RmSDqhL/yNMiFSDQTTA3OLVCufUGDwFn,
tglx-hfZtesqFncYOwBW4kG4KsQ,
trond.myklebust-F/q8l9xzQnoyLce1RVWEUA,
anton-yrGDUoBaLx3QT0dZR+AlfA,
linux-parisc-u79uwXL29TY76Z2rM5mHXA,
malat-8fiUuRrzOP0dnm+yROfE0A,
gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r,
rdunlap-wEGCiKHe2LqWVfeAwA7xHQ, rjw-LthD3rsA81gm4RdzfppkhA,
linux-kernel-u79uwXL29TY76Z2rM5mHXA, cyrilbur
On Mon, Oct 22, 2018 at 11:41 PM Michal Hocko <mhocko-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> wrote:
>
> On Mon 22-10-18 22:53:22, Arun KS wrote:
> > Remove managed_page_count_lock spinlock and instead use atomic
> > variables.
>
Hello Michal,
> I assume this has been auto-generated. If yes, it would be better to
> mention the script so that people can review it and regenerate for
> comparision. Such a large change is hard to review manually.
Changes were made partially with script. For totalram_pages and
totalhigh_pages,
find dir -type f -exec sed -i
's/totalram_pages/atomic_long_read(\&totalram_pages)/g' {} \;
find dir -type f -exec sed -i
's/totalhigh_pages/atomic_long_read(\&totalhigh_pages)/g' {} \;
For managed_pages it was mostly manual edits after using,
find mm/ -type f -exec sed -i
's/zone->managed_pages/atomic_long_read(\&zone->managed_pages)/g' {}
\;
Regards,
Arun
> --
> Michal Hocko
> SUSE Labs
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] mm: convert totalram_pages, totalhigh_pages and managed_pages to atomic.
[not found] ` <c57bcc584b3700c483b0311881ec3ae8786f88b1.camel-6d6DIl74uiNBDgjK7y7TUQ@public.gmane.org>
@ 2018-10-23 4:48 ` Arun KS
0 siblings, 0 replies; 5+ messages in thread
From: Arun KS @ 2018-10-23 4:48 UTC (permalink / raw)
To: Joe Perches
Cc: Mike Snitzer, Benjamin Herrenschmidt, Kemi Wang,
dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW, J. Bruce Fields,
linux-sctp-u79uwXL29TY76Z2rM5mHXA, Paul Mackerras, Pavel Machek,
Christoph Lameter, K. Y. Srinivasan, Sumit Semwal,
David (ChunMing) Zhou, Petr Tesarik, Michael Ellerman,
ceph-devel-u79uwXL29TY76Z2rM5mHXA, James E.J. Bottomley,
kasan-dev-/JYPxA39Uh5TLH3MbocFFw, Marcos Paulo de Souza,
Steven J. Hill, David Rientjes, Anthony Yznaga, Daniel Vacek,
Roman Gushchin, Len Brown
On 2018-10-23 09:45, Joe Perches wrote:
> On Mon, 2018-10-22 at 22:53 +0530, Arun KS wrote:
>> Remove managed_page_count_lock spinlock and instead use atomic
>> variables.
>
Hello Joe,
> Perhaps better to define and use macros for the accesses
> instead of specific uses of atomic_long_<inc/dec/read>
>
> Something like:
>
> #define totalram_pages() (unsigned
> long)atomic_long_read(&_totalram_pages)
> #define totalram_pages_inc() (unsigned
> long)atomic_long_inc(&_totalram_pages)
> #define totalram_pages_dec() (unsigned
> long)atomic_long_dec(&_totalram_pages)
That sounds like a nice idea.
Regards,
Arun
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] mm: convert totalram_pages, totalhigh_pages and managed_pages to atomic.
[not found] ` <1540229092-25207-1-git-send-email-arunks-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2018-10-22 18:11 ` [PATCH] mm: convert totalram_pages, totalhigh_pages and managed_pages to atomic Michal Hocko
@ 2018-10-23 5:37 ` Huang, Ying
2018-11-22 1:33 ` Guo Ren
2 siblings, 0 replies; 5+ messages in thread
From: Huang, Ying @ 2018-10-23 5:37 UTC (permalink / raw)
To: Arun KS
Cc: Mike Snitzer, Benjamin Herrenschmidt, Kemi Wang,
dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW, J. Bruce Fields,
linux-sctp-u79uwXL29TY76Z2rM5mHXA, Paul Mackerras, Pavel Machek,
Christoph Lameter, K. Y. Srinivasan, Sumit Semwal,
David (ChunMing) Zhou, Petr Tesarik, Michael Ellerman,
ceph-devel-u79uwXL29TY76Z2rM5mHXA, James E.J. Bottomley,
kasan-dev-/JYPxA39Uh5TLH3MbocFFw, Marcos Paulo de Souza,
Steven J. Hill, David Rientjes, Anthony Yznaga, Daniel Vacek,
Roman Gushchin, Len Brown
Arun KS <arunks-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org> writes:
> Remove managed_page_count_lock spinlock and instead use atomic
> variables.
>
> Suggested-by: Michal Hocko <mhocko-IBi9RG/b67k@public.gmane.org>
> Suggested-by: Vlastimil Babka <vbabka-AlSwsSmVLrQ@public.gmane.org>
> Signed-off-by: Arun KS <arunks-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
>
> ---
> As discussed here,
> https://patchwork.kernel.org/patch/10627521/#22261253
My 2 cents. I think you should include at least part of the discussion
in the patch description to make it more readable by itself.
Best Regards,
Huang, Ying
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] mm: convert totalram_pages, totalhigh_pages and managed_pages to atomic.
[not found] ` <1540229092-25207-1-git-send-email-arunks-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2018-10-22 18:11 ` [PATCH] mm: convert totalram_pages, totalhigh_pages and managed_pages to atomic Michal Hocko
2018-10-23 5:37 ` Huang, Ying
@ 2018-11-22 1:33 ` Guo Ren
2 siblings, 0 replies; 5+ messages in thread
From: Guo Ren @ 2018-11-22 1:33 UTC (permalink / raw)
To: Arun KS
Cc: Mike Snitzer, Benjamin Herrenschmidt, Kemi Wang,
dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW, J. Bruce Fields,
linux-sctp-u79uwXL29TY76Z2rM5mHXA, Paul Mackerras, Pavel Machek,
Christoph Lameter, K. Y. Srinivasan, Sumit Semwal,
David (ChunMing) Zhou, Petr Tesarik, Michael Ellerman,
ceph-devel-u79uwXL29TY76Z2rM5mHXA, James Morris,
kasan-dev-/JYPxA39Uh5TLH3MbocFFw, Marcos Paulo de Souza,
Steven J. Hill, David Rientjes, Anthony Yznaga, Daniel Vacek,
Roman Gushchin, Len Brown
On Mon, Oct 22, 2018 at 10:53:22PM +0530, Arun KS wrote:
> Remove managed_page_count_lock spinlock and instead use atomic
> variables.
>
> Suggested-by: Michal Hocko <mhocko-IBi9RG/b67k@public.gmane.org>
> Suggested-by: Vlastimil Babka <vbabka-AlSwsSmVLrQ@public.gmane.org>
> Signed-off-by: Arun KS <arunks-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
>
> ---
> As discussed here,
> https://patchwork.kernel.org/patch/10627521/#22261253
> ---
> ---
> arch/csky/mm/init.c | 4 +-
> arch/powerpc/platforms/pseries/cmm.c | 11 ++--
> arch/s390/mm/init.c | 2 +-
> arch/um/kernel/mem.c | 4 +-
> arch/x86/kernel/cpu/microcode/core.c | 5 +-
> drivers/char/agp/backend.c | 4 +-
> drivers/gpu/drm/amd/amdkfd/kfd_crat.c | 2 +-
> drivers/gpu/drm/i915/i915_gem.c | 2 +-
> drivers/gpu/drm/i915/selftests/i915_gem_gtt.c | 4 +-
> drivers/hv/hv_balloon.c | 19 +++----
> drivers/md/dm-bufio.c | 5 +-
> drivers/md/dm-crypt.c | 4 +-
> drivers/md/dm-integrity.c | 4 +-
> drivers/md/dm-stats.c | 3 +-
> drivers/media/platform/mtk-vpu/mtk_vpu.c | 3 +-
> drivers/misc/vmw_balloon.c | 2 +-
> drivers/parisc/ccio-dma.c | 5 +-
> drivers/parisc/sba_iommu.c | 5 +-
> drivers/staging/android/ion/ion_system_heap.c | 2 +-
> drivers/xen/xen-selfballoon.c | 7 +--
> fs/ceph/super.h | 3 +-
> fs/file_table.c | 9 ++--
> fs/fuse/inode.c | 4 +-
> fs/nfs/write.c | 3 +-
> fs/nfsd/nfscache.c | 3 +-
> fs/ntfs/malloc.h | 2 +-
> fs/proc/base.c | 3 +-
> include/linux/highmem.h | 2 +-
> include/linux/mm.h | 2 +-
> include/linux/mmzone.h | 10 +---
> include/linux/swap.h | 2 +-
> kernel/fork.c | 6 +--
> kernel/kexec_core.c | 5 +-
> kernel/power/snapshot.c | 2 +-
> lib/show_mem.c | 3 +-
> mm/highmem.c | 2 +-
> mm/huge_memory.c | 2 +-
> mm/kasan/quarantine.c | 4 +-
> mm/memblock.c | 6 +--
> mm/memory_hotplug.c | 4 +-
> mm/mm_init.c | 3 +-
> mm/oom_kill.c | 2 +-
> mm/page_alloc.c | 75 ++++++++++++++-------------
> mm/shmem.c | 12 +++--
> mm/slab.c | 3 +-
> mm/swap.c | 3 +-
> mm/util.c | 2 +-
> mm/vmalloc.c | 4 +-
> mm/vmstat.c | 4 +-
> mm/workingset.c | 2 +-
> mm/zswap.c | 2 +-
> net/dccp/proto.c | 6 +--
> net/decnet/dn_route.c | 2 +-
> net/ipv4/tcp_metrics.c | 2 +-
> net/netfilter/nf_conntrack_core.c | 6 +--
> net/netfilter/xt_hashlimit.c | 4 +-
> net/sctp/protocol.c | 6 +--
> security/integrity/ima/ima_kexec.c | 2 +-
> 58 files changed, 171 insertions(+), 143 deletions(-)
>
> diff --git a/arch/csky/mm/init.c b/arch/csky/mm/init.c
> index dc07c07..3f4d35e 100644
> --- a/arch/csky/mm/init.c
> +++ b/arch/csky/mm/init.c
> @@ -71,7 +71,7 @@ void free_initrd_mem(unsigned long start, unsigned long end)
> ClearPageReserved(virt_to_page(start));
> init_page_count(virt_to_page(start));
> free_page(start);
> - totalram_pages++;
> + atomic_long_inc(&totalram_pages);
> }
> }
> #endif
> @@ -88,7 +88,7 @@ void free_initmem(void)
> ClearPageReserved(virt_to_page(addr));
> init_page_count(virt_to_page(addr));
> free_page(addr);
> - totalram_pages++;
> + atomic_long_inc(&totalram_pages);
> addr += PAGE_SIZE;
> }
For csky part, it's OK.
Guo Ren
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2018-11-22 1:33 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <1540229092-25207-1-git-send-email-arunks@codeaurora.org>
[not found] ` <1540229092-25207-1-git-send-email-arunks-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2018-10-22 18:11 ` [PATCH] mm: convert totalram_pages, totalhigh_pages and managed_pages to atomic Michal Hocko
[not found] ` <20181022181122.GK18839-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2018-10-23 4:46 ` Arun Sudhilal
2018-10-23 5:37 ` Huang, Ying
2018-11-22 1:33 ` Guo Ren
[not found] ` <c57bcc584b3700c483b0311881ec3ae8786f88b1.camel@perches.com>
[not found] ` <c57bcc584b3700c483b0311881ec3ae8786f88b1.camel-6d6DIl74uiNBDgjK7y7TUQ@public.gmane.org>
2018-10-23 4:48 ` Arun KS
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).