Re: [PATCH 24/29] mm: vmscan: make global slab shrink lockless

2023-06-22 Thread Vlastimil Babka
On 6/22/23 10:53, Qi Zheng wrote: > The shrinker_rwsem is a global read-write lock in > shrinkers subsystem, which protects most operations > such as slab shrink, registration and unregistration > of shrinkers, etc. This can easily cause problems in > the following cases. > > 1) When the memory pr

Re: [PATCH 29/29] mm: shrinker: move shrinker-related code into a separate file

2023-06-22 Thread Vlastimil Babka
On 6/22/23 10:53, Qi Zheng wrote: > The mm/vmscan.c file is too large, so separate the shrinker-related > code from it into a separate file. No functional changes. > > Signed-off-by: Qi Zheng Maybe do this move as patch 01 so the further changes are done in the new file already? ___

Re: [PATCH 01/29] mm: shrinker: add shrinker::private_data field

2023-06-22 Thread Vlastimil Babka
On 6/22/23 10:53, Qi Zheng wrote: > To prepare for the dynamic allocation of shrinker instances > embedded in other structures, add a private_data field to > struct shrinker, so that we can use shrinker::private_data > to record and get the original embedded structure. > > Signed-off-by: Qi Zheng

Re: [RFC PATCH 0/3] Use pageblock_order for cma and alloc_contig_range alignment.

2021-11-30 Thread Vlastimil Babka
On 11/29/21 23:08, Zi Yan wrote: > On 23 Nov 2021, at 12:32, Vlastimil Babka wrote: > >> On 11/23/21 17:35, Zi Yan wrote: >>> On 19 Nov 2021, at 10:15, Zi Yan wrote: >>>>>> From what my understanding, cma required alignment of >>>>>> max(

Re: [RFC PATCH 0/3] Use pageblock_order for cma and alloc_contig_range alignment.

2021-11-23 Thread Vlastimil Babka
On 11/23/21 17:35, Zi Yan wrote: > On 19 Nov 2021, at 10:15, Zi Yan wrote: From what my understanding, cma required alignment of max(MAX_ORDER - 1, pageblock_order), because when MIGRATE_CMA was introduced, __free_one_page() does not prevent merging two different pageblocks, wh

Re: [RFC PATCH 0/3] Use pageblock_order for cma and alloc_contig_range alignment.

2021-11-19 Thread Vlastimil Babka
On 11/15/21 20:37, Zi Yan wrote: > From: Zi Yan > > Hi David, > > You suggested to make alloc_contig_range() deal with pageblock_order instead > of > MAX_ORDER - 1 and get rid of MAX_ORDER - 1 dependency in virtio_mem[1]. This > patchset is my attempt to achieve that. Please take a look and let

Re: [PATCH 1/8] mm: slab: provide krealloc_array()

2020-10-27 Thread Vlastimil Babka
users who use regular krealloc() to reallocate arrays. Let's provide an actual krealloc_array() implementation. Signed-off-by: Bartosz Golaszewski Makes sense. Acked-by: Vlastimil Babka --- include/linux/slab.h | 11 +++ 1 file changed, 11 insertions(+) diff --git a/include/li

Re: [External] Re: [PATCH] mm: proc: add Sock to /proc/meminfo

2020-10-16 Thread Vlastimil Babka
On 10/13/20 10:09 AM, Mike Rapoport wrote: We are not complaining about TCP using too much memory, but how do we know that TCP uses a lot of memory. When I firstly face this problem, I do not know who uses the 25GB memory and it is not shown in the /proc/meminfo. If we can know the amount memory

Re: [PATCH v2 4/6] mm/page_isolation: cleanup set_migratetype_isolate()

2020-08-06 Thread Vlastimil Babka
On 7/30/20 11:34 AM, David Hildenbrand wrote: > Let's clean it up a bit, simplifying error handling and getting rid of > the label. Nit: the label was already removed by patch 1/6? > Reviewed-by: Baoquan He > Reviewed-by: Pankaj Gupta > Cc: Andrew Morton > Cc: Michal Hocko > Cc: Michael S. Ts

Re: [PATCH] kvmalloc: always use vmalloc if CONFIG_DEBUG_VM

2018-04-19 Thread Vlastimil Babka
On 04/19/2018 06:12 PM, Mikulas Patocka wrote: > From: Mikulas Patocka > Subject: [PATCH] kvmalloc: always use vmalloc if CONFIG_DEBUG_VM > > The kvmalloc function tries to use kmalloc and falls back to vmalloc if > kmalloc fails. > > Unfortunatelly, some kernel code has bugs - it uses kvmalloc

Re: [PATCH v6v3 02/12] mm: migrate: support non-lru movable page migration

2016-05-31 Thread Vlastimil Babka
On 05/31/2016 02:01 AM, Minchan Kim wrote: Per Vlastimi's review comment. Thanks for the detail review, Vlastimi! If you have another concern, feel free to say. I don't for now :) [...] Cc: Rik van Riel Cc: Vlastimil Babka Cc: Joonsoo Kim Cc: Mel Gorman Cc: Hugh Dickins

Re: PATCH v6v2 02/12] mm: migrate: support non-lru movable page migration

2016-05-31 Thread Vlastimil Babka
On 05/30/2016 06:25 PM, Minchan Kim wrote: --- a/mm/compaction.c +++ b/mm/compaction.c @@ -81,6 +81,39 @@ static inline bool migrate_async_suitable(int migratetype) #ifdef CONFIG_COMPACTION +int PageMovable(struct page *page) +{ + struct address_space *mapping; + + VM_BUG_ON_PAGE(!P

Re: [PATCH v6 03/12] mm: balloon: use general non-lru movable page feature

2016-05-30 Thread Vlastimil Babka
m not familiar with, Acked-by: Vlastimil Babka ___ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization

Re: PATCH v6v2 02/12] mm: migrate: support non-lru movable page migration

2016-05-30 Thread Vlastimil Babka
On 05/30/2016 03:39 AM, Minchan Kim wrote: After isolation, VM calls migratepage of driver with isolated page. The function of migratepage is to move content of the old page to new page and set up fields of struct page newpage. Keep in mind that you should clear PG_movable of oldpage via __ClearP

Re: [PATCH v6 02/12] mm: migrate: support non-lru movable page migration

2016-05-30 Thread Vlastimil Babka
On 05/30/2016 03:33 AM, Minchan Kim wrote: + page->mapping = (void *)((unsigned long)page->mapping & + PAGE_MAPPING_MOVABLE); This should be negated to clear... use ~PAGE_MAPPING_MOVABLE ? No. The intention is to clear only mapping value but PAGE_MAPPIN

Re: [PATCH v6 02/12] mm: migrate: support non-lru movable page migration

2016-05-27 Thread Vlastimil Babka
On 05/20/2016 04:23 PM, Minchan Kim wrote: We have allowed migration for only LRU pages until now and it was enough to make high-order pages. But recently, embedded system(e.g., webOS, android) uses lots of non-movable pages(e.g., zram, GPU memory) so we have seen several reports about troubles o

Re: [PATCH v3 01/16] mm: use put_page to free page instead of putback_lru_page

2016-04-06 Thread Vlastimil Babka
On 04/06/2016 02:54 AM, Naoya Horiguchi wrote: > On Tue, Apr 05, 2016 at 10:20:50AM +0200, Vlastimil Babka wrote: >> >> So you agree that this race is a bug? It may turn a soft-offline attempt >> into a killed process. In that case we should fix it the same as we are >>

Re: [PATCH v3 04/16] mm/balloon: use general movable page feature into balloon

2016-04-05 Thread Vlastimil Babka
On 03/30/2016 09:12 AM, Minchan Kim wrote: Now, VM has a feature to migrate non-lru movable pages so balloon doesn't need custom migration hooks in migrate.c and compact.c. Instead, this patch implements page->mapping ->{isolate|migrate|putback} functions. With that, we could remove hooks for ba

Re: [PATCH v3 01/16] mm: use put_page to free page instead of putback_lru_page

2016-04-05 Thread Vlastimil Babka
On 04/05/2016 03:54 AM, Naoya Horiguchi wrote: > On Mon, Apr 04, 2016 at 04:46:31PM +0200, Vlastimil Babka wrote: >> On 04/04/2016 06:45 AM, Naoya Horiguchi wrote: >>> On Mon, Apr 04, 2016 at 10:39:17AM +0900, Minchan Kim wrote: > ... >>>>> >>>>>

Re: [PATCH v3 01/16] mm: use put_page to free page instead of putback_lru_page

2016-04-04 Thread Vlastimil Babka
On 04/04/2016 06:45 AM, Naoya Horiguchi wrote: > On Mon, Apr 04, 2016 at 10:39:17AM +0900, Minchan Kim wrote: >> Thanks for catching it, Vlastimil. >> It was my mistake. But in this chance, I looked over hwpoison code and >> I saw other places which increases num_poisoned_pages are successful >> mi

Re: [PATCH v3 02/16] mm/compaction: support non-lru movable page migration

2016-04-04 Thread Vlastimil Babka
On 04/04/2016 07:12 AM, Minchan Kim wrote: On Fri, Apr 01, 2016 at 11:29:14PM +0200, Vlastimil Babka wrote: Might have been better as a separate migration patch and then a compaction patch. It's prefixed mm/compaction, but most changed are in mm/migrate.c Indeed. The title is r

Re: [PATCH v3 03/16] mm: add non-lru movable page support document

2016-04-04 Thread Vlastimil Babka
On 04/04/2016 04:25 AM, Minchan Kim wrote: Ah, I see, so it's designed with page lock to handle the concurrent isolations etc. In http://marc.info/?l=linux-mm&m=143816716511904&w=2 Mel has warned about doing this in general under page_lock and suggested that each user handles concurrent calls

Re: [PATCH v3 02/16] mm/compaction: support non-lru movable page migration

2016-04-01 Thread Vlastimil Babka
Instead, VM will do it. Under lock? Or just with ClearPageIsolated? Cc: Vlastimil Babka Cc: Mel Gorman Cc: Hugh Dickins Cc: dri-de...@lists.freedesktop.org Cc: virtualization@lists.linux-foundation.org Signed-off-by: Gioh Kim Signed-off-by: Minchan Kim --- Documentation/filesyst

Re: [PATCH v3 03/16] mm: add non-lru movable page support document

2016-04-01 Thread Vlastimil Babka
On 03/30/2016 09:12 AM, Minchan Kim wrote: This patch describes what a subsystem should do for non-lru movable page supporting. Intentionally reading this first without studying the code to better catch things that would seem obvious otherwise. Cc: Jonathan Corbet Signed-off-by: Minchan Ki

Re: [PATCH v3 01/16] mm: use put_page to free page instead of putback_lru_page

2016-04-01 Thread Vlastimil Babka
overhead in put_page. Comment from Vlastimil "Yeah, and compaction (perhaps also other migration users) has to drain the lru pvec... Getting rid of this stuff is worth even by itself." Cc: Mel Gorman Cc: Hugh Dickins Cc: Naoya Horiguchi Acked-by: Vlastimil Babka Signed-off-by: Minchan Kim

Re: [PATCH v1 01/19] mm: use put_page to free page instead of putback_lru_page

2016-03-15 Thread Vlastimil Babka
On 15.3.2016 2:16, Minchan Kim wrote: > On Mon, Mar 14, 2016 at 09:48:33AM +0100, Vlastimil Babka wrote: >> On 03/11/2016 08:30 AM, Minchan Kim wrote: >> >> Yeah, and compaction (perhaps also other migration users) has to >> drain the lru pvec... Getting rid of

Re: [PATCH v1 01/19] mm: use put_page to free page instead of putback_lru_page

2016-03-14 Thread Vlastimil Babka
t be done nicely without races. Cc: Vlastimil Babka Cc: Mel Gorman Cc: Hugh Dickins Cc: Naoya Horiguchi Signed-off-by: Minchan Kim Acked-by: Vlastimil Babka Note in -next/after 4.6-rc1 this will need some rebasing though. ___ Virtualization ma

Re: [PATCH 4/4] mm: remove direct calling of migration

2015-07-27 Thread Vlastimil Babka
On 07/13/2015 10:35 AM, Gioh Kim wrote: From: Gioh Kim Migration is completely generalized so that migrating mobile page is processed with lru-pages in move_to_new_page. Signed-off-by: Gioh Kim Acked-by: Rafael Aquini Why not just fold this to Patch 3? You already modify this hunk there,

Re: [PATCH 2/4] mm/compaction: enable mobile-page migration

2015-07-27 Thread Vlastimil Babka
On 07/13/2015 10:35 AM, Gioh Kim wrote: From: Gioh Kim Add framework to register callback functions and check page mobility. There are some modes for page isolation so that isolate interface has arguments of page address and isolation mode while putback interface has only page address as argume