Re: [PATCH 2/3] mm, meminit: Recalculate pcpu batch and high limits after init completes

2019-10-18 Thread Michal Hocko
sta...@vger.kernel.org # v4.15+ Hmm, are you sure about 4.15? Doesn't this go all the way down to deferred initialization? I do not see any recent changes on when setup_per_cpu_pageset is called. > Signed-off-by: Mel Gorman Acked-by: Michal Hocko > --- > mm/page_allo

Re: [PATCH 1/3] mm, pcp: Share common code between memory hotplug and percpu sysctl handler

2019-10-18 Thread Michal Hocko
; > Signed-off-by: Mel Gorman Acked-by: Michal Hocko > --- > mm/page_alloc.c | 23 --- > 1 file changed, 12 insertions(+), 11 deletions(-) > > diff --git a/mm/page_alloc.c b/mm/page_alloc.c > index c0b2e0306720..cafe568d36f6 100644 > --- a/mm/page_al

Re: [RFC PATCH v2 11/16] mm,hwpoison: Rework soft offline for in-use pages

2019-10-18 Thread Michal Hocko
> } > - > -/* > - * Set PG_hwpoison flag if a given page is confirmed to be a free page. This > - * test is performed under the zone lock to prevent a race against page > - * allocation. > - */ > -bool set_hwpoison_free_buddy_page(struct page *page) > -{ > - struct zone *zone = page_zone(page); > - unsigned long pfn = page_to_pfn(page); > - unsigned long flags; > - unsigned int order; > - bool hwpoisoned = false; > - > - spin_lock_irqsave(&zone->lock, flags); > - for (order = 0; order < MAX_ORDER; order++) { > - struct page *page_head = page - (pfn & ((1 << order) - 1)); > - > - if (PageBuddy(page_head) && page_order(page_head) >= order) { > - if (!TestSetPageHWPoison(page)) > - hwpoisoned = true; > - break; > - } > - } > - spin_unlock_irqrestore(&zone->lock, flags); > - > - return hwpoisoned; > -} > #endif > -- > 2.12.3 -- Michal Hocko SUSE Labs

Re: [RFC PATCH v2 10/16] mm,hwpoison: Rework soft offline for free pages

2019-10-18 Thread Michal Hocko
gt; + spin_unlock_irqrestore(&zone->lock, flags); > + return ret; > + } > + > +/* > * Set PG_hwpoison flag if a given page is confirmed to be a free page. This > * test is performed under the zone lock to prevent a race against page > * allocation. > -- > 2.12.3 -- Michal Hocko SUSE Labs

Re: [RFC PATCH v2 02/16] mm,madvise: call soft_offline_page() without MF_COUNT_INCREASED

2019-10-18 Thread Michal Hocko
he page reference taken by get_user_pages_fast(). In > - * the absence of MF_COUNT_INCREASED the memory_failure() > - * routine is responsible for pinning the page to prevent it > - * from being released back to the page allocator. > - */ > - put_page(page); > ret = memory_failure(pfn, 0); > if (ret) > return ret; > -- > 2.12.3 > -- Michal Hocko SUSE Labs

Re: [RFC PATCH v2 01/16] mm,hwpoison: cleanup unused PageHuge() check

2019-10-18 Thread Michal Hocko
gt;flags; > + page_flags = p->flags; > > /* >* unpoison always clear PG_hwpoison inside page lock > -- > 2.12.3 -- Michal Hocko SUSE Labs

Re: memory offline infinite loop after soft offline

2019-10-18 Thread Michal Hocko
On Fri 18-10-19 13:00:45, David Hildenbrand wrote: > On 18.10.19 10:55, Michal Hocko wrote: > > On Fri 18-10-19 10:38:21, David Hildenbrand wrote: > > > On 18.10.19 10:24, Michal Hocko wrote: > > > > On Fri 18-10-19 10:13:36, David Hildenbrand wrote: > >

Re: [PATCH RFC v3 6/9] mm: Allow to offline PageOffline() pages with a reference count of 0

2019-10-18 Thread Michal Hocko
On Fri 18-10-19 10:50:24, David Hildenbrand wrote: > On 18.10.19 10:15, Michal Hocko wrote: > > On Wed 16-10-19 16:14:52, David Hildenbrand wrote: > > > On 16.10.19 16:03, Michal Hocko wrote: > > [...] > > > > But why cannot you keep the reference count at 1 (do

Re: memory offline infinite loop after soft offline

2019-10-18 Thread Michal Hocko
On Fri 18-10-19 10:38:21, David Hildenbrand wrote: > On 18.10.19 10:24, Michal Hocko wrote: > > On Fri 18-10-19 10:13:36, David Hildenbrand wrote: > > [...] > > > However, if the compound page spans multiple pageblocks > > > > Although hugetlb pages spanning pa

Re: memory offline infinite loop after soft offline

2019-10-18 Thread Michal Hocko
blocks as the name suggests. It is simply traversing all valid RAM ranges (see walk_system_ram_range). -- Michal Hocko SUSE Labs

Re: [PATCH RFC v3 6/9] mm: Allow to offline PageOffline() pages with a reference count of 0

2019-10-18 Thread Michal Hocko
On Wed 16-10-19 16:14:52, David Hildenbrand wrote: > On 16.10.19 16:03, Michal Hocko wrote: [...] > > But why cannot you keep the reference count at 1 (do get_page when > > offlining the page)? In other words as long as the driver knows the page > > has been returned to the

Re: [PATCH 0/4] [RFC] Migrate Pages in lieu of discard

2019-10-18 Thread Michal Hocko
.org/r/20190124231441.37a4a...@viggo.jf.intel.com How does this compare to http://lkml.kernel.org/r/1560468577-101178-1-git-send-email-yang@linux.alibaba.com? -- Michal Hocko SUSE Labs

Re: memory offline infinite loop after soft offline

2019-10-18 Thread Michal Hocko
On Fri 18-10-19 06:32:22, Naoya Horiguchi wrote: > On Fri, Oct 18, 2019 at 08:06:35AM +0200, Michal Hocko wrote: > > On Fri 18-10-19 02:19:06, Naoya Horiguchi wrote: > > > On Thu, Oct 17, 2019 at 08:27:59PM +0200, Michal Hocko wrote: > > > > On Thu 17-10-19 14:07:13

Re: memory offline infinite loop after soft offline

2019-10-17 Thread Michal Hocko
On Fri 18-10-19 02:19:06, Naoya Horiguchi wrote: > On Thu, Oct 17, 2019 at 08:27:59PM +0200, Michal Hocko wrote: > > On Thu 17-10-19 14:07:13, Qian Cai wrote: > > > On Thu, 2019-10-17 at 12:01 +0200, Michal Hocko wrote: > > > > On Thu 17-10-19 09:34:10, Naoya Horiguch

Re: memory offline infinite loop after soft offline

2019-10-17 Thread Michal Hocko
On Thu 17-10-19 14:07:13, Qian Cai wrote: > On Thu, 2019-10-17 at 12:01 +0200, Michal Hocko wrote: > > On Thu 17-10-19 09:34:10, Naoya Horiguchi wrote: > > > On Mon, Oct 14, 2019 at 10:39:14AM +0200, Michal Hocko wrote: > > > > [...] > > > > diff --git a

Re: [RFC] lib: optimize cpumask_local_spread()

2019-10-17 Thread Michal Hocko
fe and reasonable to perform GFP_KERNEL (aka sleepable) allocations from this function? > Cc: Andrew Morton > Cc: Mike Rapoport > Cc: Paul Burton > Cc: Michal Hocko > Cc: Michael Ellerman > Cc: Anshuman Khandual > Signed-off-by: yuqi jin

Re: [PATCH 4.19 56/81] kernel/sysctl.c: do not override max_threads provided by userspace

2019-10-17 Thread Michal Hocko
On Thu 17-10-19 11:25:47, David Laight wrote: > From: Michal Hocko > > Sent: 17 October 2019 12:05 > ... > > > Plus, I don't see any locking here, should this be WRITE_ONCE() at > > > minimum? > > > > Why would that matter? Do you expect several roo

Re: [PATCH 4.19 56/81] kernel/sysctl.c: do not override max_threads provided by userspace

2019-10-17 Thread Michal Hocko
On Thu 17-10-19 12:59:40, Pavel Machek wrote: > Hi! > > > From: Michal Hocko > > > > commit b0f53dbc4bc4c371f38b14c391095a3bb8a0bb40 upstream. > > > > Partially revert 16db3d3f1170 ("kernel/sysctl.c: threads-max observe > > limits") becau

Re: memory offline infinite loop after soft offline

2019-10-17 Thread Michal Hocko
On Thu 17-10-19 09:34:10, Naoya Horiguchi wrote: > On Mon, Oct 14, 2019 at 10:39:14AM +0200, Michal Hocko wrote: [...] > > diff --git a/mm/page_isolation.c b/mm/page_isolation.c > > index 89c19c0feadb..5fb3fee16fde 100644 > > --- a/mm/page_isolation.c > > +++ b/mm/pag

Re: [PATCH V2] mm/page_alloc: Add alloc_contig_pages()

2019-10-17 Thread Michal Hocko
On Thu 17-10-19 09:21:24, David Hildenbrand wrote: > On 17.10.19 09:11, Michal Hocko wrote: > > On Thu 17-10-19 10:44:41, Anshuman Khandual wrote: > > [...] > > > Does this add-on documentation look okay ? Should we also mention about > > > the > > >

Re: [PATCH V2] mm/page_alloc: Add alloc_contig_pages()

2019-10-17 Thread Michal Hocko
aligned to a page boundary. If nr_pages is a power of two then the alignement is guaranteed to be to the given nr_pages (e.g. 1GB request would be aligned to 1GB). -- Michal Hocko SUSE Labs

Re: [PATCH V2] mm/page_alloc: Add alloc_contig_pages()

2019-10-16 Thread Michal Hocko
On Wed 16-10-19 21:01:19, Anshuman Khandual wrote: > > > On 10/16/2019 06:11 PM, Michal Hocko wrote: > > On Wed 16-10-19 14:29:05, David Hildenbrand wrote: > >> On 16.10.19 13:51, Michal Hocko wrote: > >>> On Wed 16-10-19 16:43:57, Anshuman Khandual wrote: &

Re: [PATCH RFC v3 6/9] mm: Allow to offline PageOffline() pages with a reference count of 0

2019-10-16 Thread Michal Hocko
On Wed 16-10-19 15:55:00, David Hildenbrand wrote: > On 16.10.19 15:45, Michal Hocko wrote: [...] > > There is state stored in the struct page. In other words this shouldn't > > be really different from HWPoison pages. I cannot find the code that is > > doing that and

Re: [PATCH RFC v3 6/9] mm: Allow to offline PageOffline() pages with a reference count of 0

2019-10-16 Thread Michal Hocko
On Wed 16-10-19 15:45:06, David Hildenbrand wrote: > On 16.10.19 13:43, Michal Hocko wrote: > > On Thu 19-09-19 16:22:25, David Hildenbrand wrote: > > > virtio-mem wants to allow to offline memory blocks of which some parts > > > were unplugged, especially, to later of

Re: [PATCH RFC v3 6/9] mm: Allow to offline PageOffline() pages with a reference count of 0

2019-10-16 Thread Michal Hocko
On Wed 16-10-19 14:50:30, David Hildenbrand wrote: > On 16.10.19 13:43, Michal Hocko wrote: > > On Thu 19-09-19 16:22:25, David Hildenbrand wrote: > > > virtio-mem wants to allow to offline memory blocks of which some parts > > > were unplugged, especially, to later of

Re: [PATCH V2] mm/page_alloc: Add alloc_contig_pages()

2019-10-16 Thread Michal Hocko
On Wed 16-10-19 14:29:05, David Hildenbrand wrote: > On 16.10.19 13:51, Michal Hocko wrote: > > On Wed 16-10-19 16:43:57, Anshuman Khandual wrote: > > > > > > > > > On 10/16/2019 04:39 PM, David Hildenbrand wrote: > > [...] > > > > Just to

Re: [PATCH V2] mm/page_alloc: Add alloc_contig_pages()

2019-10-16 Thread Michal Hocko
licitly what to be included for the respin. Anyways > seems like the previous thread is active again. I am happy to incorporate > anything new getting agreed on there. Your patch is using the same alignment as the original code would do. If an explicit alignement is needed then this can be adde

Re: [PATCH] mm/page_alloc: Make alloc_gigantic_page() available for general use

2019-10-16 Thread Michal Hocko
On Wed 16-10-19 13:10:41, David Hildenbrand wrote: > On 16.10.19 13:08, Michal Hocko wrote: > > On Wed 16-10-19 10:56:16, David Hildenbrand wrote: [...] > > > Gigantic pages have to be aligned AFAIK. > > > > Aligned to what? I do not see any guarantee like

Re: [PATCH RFC v3 8/9] mm/memory_hotplug: Introduce offline_and_remove_memory()

2019-10-16 Thread Michal Hocko
ace. I am also not really sure why do you want/need to control beyond the offlining stage. Care to explain some more? -- Michal Hocko SUSE Labs

Re: [PATCH RFC v3 6/9] mm: Allow to offline PageOffline() pages with a reference count of 0

2019-10-16 Thread Michal Hocko
unt) > + goto unmovable; > continue; > } Do we really need to distinguish offline and hwpoison pages? They are both unmovable for allocator purposes and offlineable for the hotplug, right? Should we just hide them behind a helper and use it rather than an explicit SKIP_$FOO? -- Michal Hocko SUSE Labs

Re: [PATCH RFC v3 4/9] mm: Export alloc_contig_range() / free_contig_range()

2019-10-16 Thread Michal Hocko
APIs are EXPORT_SYMBOL so there should better be a good reason for this one to differ. I can understand that this one is slightly different by requesting a specific range of the memory but it is still under a full control of the core MM to say no. > Cc: Andrew Morton > Cc: Michal Hocko >

Re: [PATCH] mm/page_alloc: Make alloc_gigantic_page() available for general use

2019-10-16 Thread Michal Hocko
On Wed 16-10-19 10:56:16, David Hildenbrand wrote: > On 16.10.19 10:51, Michal Hocko wrote: > > On Wed 16-10-19 10:08:21, David Hildenbrand wrote: > > > On 16.10.19 09:34, Anshuman Khandual wrote: > > [...] > > > > +static bool pfn_range_valid_

Re: [PATCH v3 3/3] mm/vmalloc: add more comments to the adjust_va_to_fit_type()

2019-10-16 Thread Michal Hocko
his commit just adds more explanations, as a result giving > answers on questions like when it can occur, how often, under > which conditions and what happens if GFP_NOWAIT gets failed. > > Signed-off-by: Uladzislau Rezki (Sony) Acked-by: Michal Hocko > --- > mm/vmalloc.c | 13 +++

Re: [PATCH v3 2/3] mm/vmalloc: respect passed gfp_mask when do preloading

2019-10-16 Thread Michal Hocko
because vmalloc is not GFP_NOWAIT compliant in general (e.g. page table allocations are GFP_KERNEL) there is no reason to spread that bad habit and it is good to fix the antipattern. " > > Signed-off-by: Uladzislau Rezki (Sony) Acked-by: Michal Hocko > --- > mm/vmalloc.c | 8 -

Re: [PATCH v3 1/3] mm/vmalloc: remove preempt_disable/enable when do preloading

2019-10-16 Thread Michal Hocko
n regard of preloading > - adjust and move some comments > > Fixes: 82dd23e84be3 ("mm/vmalloc.c: preload a CPU with one object for split > purpose") > Reviewed-by: Steven Rostedt (VMware) > Acked-by: Sebastian Andrzej Siewior >

Re: [PATCH] mm/page_alloc: Make alloc_gigantic_page() available for general use

2019-10-16 Thread Michal Hocko
On Wed 16-10-19 15:58:32, Anshuman Khandual wrote: > > > On 10/16/2019 02:28 PM, Michal Hocko wrote: [...] > > After other issues mentioned by David get resolved you can add > > Just to confirm. Only the styling issues, right ? pfn_range_valid_contig(), > pfn alignme

Re: [PATCH] mm/page_alloc: Make alloc_gigantic_page() available for general use

2019-10-16 Thread Michal Hocko
and broken instances. > Cc: Mike Kravetz > Cc: Andrew Morton > Cc: Vlastimil Babka > Cc: Michal Hocko > Cc: David Rientjes > Cc: Andrea Arcangeli > Cc: Oscar Salvador > Cc: Mel Gorman > Cc: Mike Rapoport > Cc: Dan Williams > Cc: Pavel Tatashin > Cc: Matth

Re: [PATCH] mm/page_alloc: Make alloc_gigantic_page() available for general use

2019-10-16 Thread Michal Hocko
lock, flags); > > + > > + pfn = ALIGN(zone->zone_start_pfn, nr_pages); > > This alignment does not make too much sense when allowing passing in !power > of two orders. Maybe the caller should specify the requested alignment > instead? Or should we enforce this to be aligned to make our life easier for > now? Are there any usecases that would require than the page alignment? -- Michal Hocko SUSE Labs

Re: [PATCH V6 0/2] mm/debug: Add tests validating architecture page table helpers

2019-10-16 Thread Michal Hocko
Poisoned(p)) > [ 13.898549][T1] [ cut here ] > [ 13.898549][T1] kernel BUG at ./include/linux/mm.h:1107! > [ 13.898549][ T1] invalid opcode: [#1] SMP DEBUG_PAGEALLOC KASAN PTI > [ 13.898549][T1] CPU: 0 PID: 1 Comm: swapper/0 Not tainted > 5.4.0-rc3-next-20191015+ # -- Michal Hocko SUSE Labs

Re: + mm-mmapc-use-is_err_value-to-check-return-value-of-get_unmapped_area.patch added to -mm tree

2019-10-16 Thread Michal Hocko
il.com > Signed-off-by: Gaowei Pu > Reviewed-by: Andrew Morton > Cc: Vlastimil Babka > Cc: Michal Hocko > Signed-off-by: Andrew Morton Acked-by: Michal Hocko There are few more to convert diff --git a/kernel/events/uprobes.c b/kernel/events/uprobes.c index 94d38a39d72e..9c197a2

Re: [PATCH] hugetlb: Add nohugepages parameter to prevent hugepages creation

2019-10-15 Thread Michal Hocko
On Tue 15-10-19 10:58:36, Guilherme G. Piccoli wrote: > On 10/15/19 9:18 AM, Michal Hocko wrote: > > I do agree with Qian Cai here. Kdump kernel requires a very tailored > > environment considering it is running in a very restricted > > configuration. The hugetlb pre-all

Re: [PATCH] hugetlb: Add nohugepages parameter to prevent hugepages creation

2019-10-15 Thread Michal Hocko
nly my opinion, let's see what people think about it! I do agree with Qian Cai here. Kdump kernel requires a very tailored environment considering it is running in a very restricted configuration. The hugetlb pre-allocation sounds like a tooling problem and should be fixed at that layer. -- Michal Hocko SUSE Labs

Re: [PATCH v1] hugetlbfs: don't access uninitialized memmaps in pfn_range_valid_gigantic()

2019-10-15 Thread Michal Hocko
can be the case when an offline memory block (e.g., never onlined) is > spanned by a zone. > > Note: As explained by Michal in [1], alloc_contig_range() will verify > the range. So it boils down to the wrong access in this function. > > [1] http://lkml.kernel.org/r/201804230009

Re: [PATCH V6 2/2] mm/debug: Add tests validating architecture page table helpers

2019-10-15 Thread Michal Hocko
nd what they are testing for would be really appreciated. Who wants to run these tests and why/when? What kind of bugs would get detected? In short why do we really need/want this code in the tree? -- Michal Hocko SUSE Labs

Re: [PATCH] mm/memcontrol: update lruvec counters in mem_cgroup_move_account

2019-10-15 Thread Michal Hocko
On Tue 15-10-19 13:49:14, Konstantin Khlebnikov wrote: > On 15/10/2019 13.36, Michal Hocko wrote: > > On Tue 15-10-19 11:44:22, Konstantin Khlebnikov wrote: > > > On 15/10/2019 11.20, Michal Hocko wrote: > > > > On Tue 15-10-19 11:09:59, Konstantin Khlebnikov wrot

Re: [PATCH] hugetlbfs: add O_TMPFILE support

2019-10-15 Thread Michal Hocko
> .mknod = hugetlbfs_mknod, > .rename = simple_rename, > .setattr= hugetlbfs_setattr, > + .tmpfile= hugetlbfs_tmpfile, > }; > > static const struct inode_operations hugetlbfs_inode_operations = { > -- > 2.21.0 > -- Michal Hocko SUSE Labs

Re: [PATCH] mm/memcontrol: update lruvec counters in mem_cgroup_move_account

2019-10-15 Thread Michal Hocko
On Tue 15-10-19 11:44:22, Konstantin Khlebnikov wrote: > On 15/10/2019 11.20, Michal Hocko wrote: > > On Tue 15-10-19 11:09:59, Konstantin Khlebnikov wrote: > > > Mapped, dirty and writeback pages are also counted in per-lruvec stats. > > > These counters needs update

Re: [PATCH] mm/memcontrol: update lruvec counters in mem_cgroup_move_account

2019-10-15 Thread Michal Hocko
r-lruvec stats infrastructure") > Signed-off-by: Konstantin Khlebnikov We want Cc: stable I suspect because broken stats might be really misleading. The patch looks ok to me otherwise Acked-by: Michal Hocko > --- > mm/memcontrol.c | 18 -- > 1 file changed

Re: [RFC, PATCH] mm, thp: Try to bound number of pages on deferred split queue

2019-10-15 Thread Michal Hocko
> spin_lock_init(&memcg->deferred_split_queue.split_queue_lock); > INIT_LIST_HEAD(&memcg->deferred_split_queue.split_queue); > memcg->deferred_split_queue.split_queue_len = 0; > + memcg->deferred_split_queue.deferred_split_calls = 0; > + INIT_WORK(&memcg->deferred_split_queue.deferred_split_work, > + flush_deferred_split_queue_memcg); > #endif > idr_replace(&mem_cgroup_idr, memcg, memcg->id.id); > return memcg; > diff --git a/mm/page_alloc.c b/mm/page_alloc.c > index 15c2050c629b..2f52e538a26f 100644 > --- a/mm/page_alloc.c > +++ b/mm/page_alloc.c > @@ -6674,6 +6674,8 @@ static void pgdat_init_split_queue(struct pglist_data > *pgdat) > spin_lock_init(&ds_queue->split_queue_lock); > INIT_LIST_HEAD(&ds_queue->split_queue); > ds_queue->split_queue_len = 0; > + ds_queue->deferred_split_calls = 0; > + INIT_WORK(&ds_queue->deferred_split_work, flush_deferred_split_queue); > } > #else > static void pgdat_init_split_queue(struct pglist_data *pgdat) {} > -- > 2.21.0 -- Michal Hocko SUSE Labs

Re: [PATCH 1/1] mm/vmalloc: remove preempt_disable/enable when do preloading

2019-10-14 Thread Michal Hocko
ode(vmap_area_cachep, GFP_KERNEL, > node); > + pva = kmem_cache_alloc_node(vmap_area_cachep, > + gfp_mask & GFP_RECLAIM_MASK, node); > > spin_lock(&vmap_area_lock); > > It should be sent as a separate patch, i think. Yes. I do not think this would make any real difference because that battle is lost long ago. vmalloc is simply not gfp mask friendly. There are places like page table allocation which are hardcoded GFP_KERNEL so GFP_NOWAIT semantic is not going to work, really. The above makes sense from a pure aesthetic POV, though, I would say. -- Michal Hocko SUSE Labs

Re: [PATCH v2 2/2] mm/memory-failure.c: Don't access uninitialized memmaps in memory_failure()

2019-10-14 Thread Michal Hocko
[Cc Oscar] On Fri 11-10-19 12:13:17, David Hildenbrand wrote: > On 11.10.19 08:02, Naoya Horiguchi wrote: > > On Thu, Oct 10, 2019 at 09:58:40AM +0200, David Hildenbrand wrote: > >> On 10.10.19 09:52, David Hildenbrand wrote: > >>> On 10.10.19 09:35, Michal Hocko wr

Re: [PATCH v1] drivers/base/memory.c: Don't access uninitialized memmaps in soft_offline_page_store()

2019-10-14 Thread Michal Hocko
d similarly return -EIO. > > Fixes: f1dd2cd13c4b ("mm, memory_hotplug: do not associate hotadded memory to > zones until online") # visible after d0dc12e86b319 > Cc: Greg Kroah-Hartman > Cc: "Rafael J. Wysocki" > Cc: Michal Hocko > Cc: Andrew Morton &

Re: [PATCH v2 1/1] mm/vmalloc: remove preempt_disable/enable when do preloading

2019-10-14 Thread Michal Hocko
will refill the cache we allocate from. > + */ > + pva = kmem_cache_alloc_node(vmap_area_cachep, GFP_KERNEL, node); > > spin_lock(&vmap_area_lock); > - preempt_enable(); > + > + if (pva && __this_cpu_cmpxchg(ne_fit_preload_node, NULL, pva)) > + kmem_cache_free(vmap_area_cachep, pva); > > /* >* If an allocation fails, the "vend" address is > -- > 2.20.1 -- Michal Hocko SUSE Labs

Re: [PATCH] mm: mempolicy: fix the absence of the last bit of nodemask

2019-10-14 Thread Michal Hocko
y(policy, bmp->maskp, bmp->size + 1) < 0) numa_error("set_mempolicy"); } The semantic is quite awkward but it is that way for years. -- Michal Hocko SUSE Labs

Re: [PATCH v2] mm/page_owner: Don't access uninitialized memmaps when reading /proc/pagetypeinfo

2019-10-14 Thread Michal Hocko
0). > > Fixes: f1dd2cd13c4b ("mm, memory_hotplug: do not associate hotadded memory to > zones until online") # visible after d0dc12e86b319 > Signed-off-by: Qian Cai > Cc: Andrew Morton > Cc: Vlastimil Babka > Cc: Michal Hocko > Cc: Thomas Gleixner > Cc: &q

Re: memory offline infinite loop after soft offline

2019-10-14 Thread Michal Hocko
- else if (skip_hwpoisoned_pages && PageHWPoison(page)) + else if (skip_hwpoisoned_pages && PageHWPoison(compound_head(page))) /* A HWPoisoned page cannot be also PageBuddy */ pfn++; else -- Michal Hocko SUSE Labs

Re: [PATCH 1/2] clone3: add CLONE3_CLEAR_SIGHAND

2019-10-11 Thread Michal Hocko
ND)) > return false; > > /* > @@ -2577,6 +2582,10 @@ static bool clone3_args_valid(const struct > kernel_clone_args *kargs) > if (kargs->flags & (CLONE_DETACHED | CSIGNAL)) > return false; > > + if ((kargs->flags & (CLONE_SIGHAND | CLONE3_CLEAR_SIGHAND)) == > + (CLONE_SIGHAND | CLONE3_CLEAR_SIGHAND)) > + return false; > + > if ((kargs->flags & (CLONE_THREAD | CLONE_PARENT)) && > kargs->exit_signal) > return false; > -- > 2.23.0 -- Michal Hocko SUSE Labs

Re: [PATCH v2] mm/page_isolation: fix a deadlock with printk()

2019-10-10 Thread Michal Hocko
On Thu 10-10-19 13:48:06, Qian Cai wrote: > On Thu, 2019-10-10 at 19:30 +0200, Michal Hocko wrote: > > On Thu 10-10-19 10:47:38, Qian Cai wrote: > > > On Thu, 2019-10-10 at 16:18 +0200, Michal Hocko wrote: > > > > On Thu 10-10-19 09:11:52, Qian Cai wrote: > &g

Re: [PATCH v2] mm/page_isolation: fix a deadlock with printk()

2019-10-10 Thread Michal Hocko
On Thu 10-10-19 10:47:38, Qian Cai wrote: > On Thu, 2019-10-10 at 16:18 +0200, Michal Hocko wrote: > > On Thu 10-10-19 09:11:52, Qian Cai wrote: > > > On Thu, 2019-10-10 at 12:59 +0200, Michal Hocko wrote: > > > > On Thu 10-10-19 05:01:44, Qian Cai wrote: > > &g

Re: [PATCH v2] mm/page_isolation: fix a deadlock with printk()

2019-10-10 Thread Michal Hocko
On Thu 10-10-19 09:11:52, Qian Cai wrote: > On Thu, 2019-10-10 at 12:59 +0200, Michal Hocko wrote: > > On Thu 10-10-19 05:01:44, Qian Cai wrote: > > > > > > > > > > On Oct 9, 2019, at 12:23 PM, Michal Hocko wrote: > > > > > > > &

Re: [PATCH v2] mm/page_isolation: fix a deadlock with printk()

2019-10-10 Thread Michal Hocko
On Thu 10-10-19 05:01:44, Qian Cai wrote: > > > > On Oct 9, 2019, at 12:23 PM, Michal Hocko wrote: > > > > If this was only about the memory offline code then I would agree. But > > we are talking about any printk from the zone->lock context and that is >

Re: [PATCH v2] mm/page_isolation: fix a deadlock with printk()

2019-10-10 Thread Michal Hocko
On Thu 10-10-19 17:16:29, Sergey Senozhatsky wrote: > On (10/10/19 09:40), Michal Hocko wrote: > [..] > > > > Considering that console.write is called from essentially arbitrary code > > > > path IIUC then all the locks used in this path should be pretty much > >

Re: [PATCH v2] mm/page_isolation: fix a deadlock with printk()

2019-10-10 Thread Michal Hocko
On Thu 10-10-19 14:12:01, Sergey Senozhatsky wrote: > On (10/09/19 16:26), Michal Hocko wrote: > > On Wed 09-10-19 15:56:32, Peter Oberparleiter wrote: > > [...] > > > A generic solution would be preferable from my point of view though, > > > because otherwise eac

Re: [PATCH v2 2/2] mm/memory-failure.c: Don't access uninitialized memmaps in memory_failure()

2019-10-10 Thread Michal Hocko
On Thu 10-10-19 09:27:32, David Hildenbrand wrote: > On 09.10.19 16:43, Michal Hocko wrote: > > On Wed 09-10-19 16:24:35, David Hildenbrand wrote: > >> We should check for pfn_to_online_page() to not access uninitialized > >> memmaps. Reshuffle the code so we don&#x

Re: Potential NULL pointer deference in mm/memcontrol.c

2019-10-10 Thread Michal Hocko
eturn value but directly dereference it, which seems > potentially unsafe. > Such callers include mem_cgroup_hierarchy_read(), > mem_cgroup_hierarchy_write(), mem_cgroup_read_u64(), > mem_cgroup_reset(), etc. And none of those should be ever called under that condition AFAICS. Thanks! -- Michal Hocko SUSE Labs

Re: [PATCH v2] mm/page_isolation: fix a deadlock with printk()

2019-10-09 Thread Michal Hocko
On Wed 09-10-19 11:08:35, Qian Cai wrote: > On Wed, 2019-10-09 at 16:34 +0200, Michal Hocko wrote: > > On Wed 09-10-19 10:19:44, Qian Cai wrote: > > > On Wed, 2019-10-09 at 15:51 +0200, Michal Hocko wrote: > > > > [...] > > > > Can you paste the full lock

Re: [PATCH v2 2/2] mm/memory-failure.c: Don't access uninitialized memmaps in memory_failure()

2019-10-09 Thread Michal Hocko
On Wed 09-10-19 16:24:35, David Hildenbrand wrote: > We should check for pfn_to_online_page() to not access uninitialized > memmaps. Reshuffle the code so we don't have to duplicate the error > message. > > Cc: Naoya Horiguchi > Cc: Andrew Morton > Cc: Michal Hoc

Re: [PATCH v2 1/2] mm: Don't access uninitialized memmaps in fs/proc/page.c

2019-10-09 Thread Michal Hocko
ializing - garbage) >*/ > } > > We'll leave the pfn_zone_device_reserved() check in stable_page_flags() > in place as that function is also used from memory failure. We now > no longer dump information about pages that are not in use anymore - > offl

Re: [PATCH v2] mm/page_isolation: fix a deadlock with printk()

2019-10-09 Thread Michal Hocko
On Wed 09-10-19 10:19:44, Qian Cai wrote: > On Wed, 2019-10-09 at 15:51 +0200, Michal Hocko wrote: [...] > > Can you paste the full lock chain graph to be sure we are on the same > > page? > > WARNING: possible circular locking dependency detected > 5.3.0-next

Re: [PATCH v2] mm/page_isolation: fix a deadlock with printk()

2019-10-09 Thread Michal Hocko
lock chains. -- Michal Hocko SUSE Labs

Re: [PATCH v2] mm/page_isolation: fix a deadlock with printk()

2019-10-09 Thread Michal Hocko
On Wed 09-10-19 09:43:13, Qian Cai wrote: > On Wed, 2019-10-09 at 15:27 +0200, Michal Hocko wrote: > > On Wed 09-10-19 09:06:42, Qian Cai wrote: > > [...] > > > https://lore.kernel.org/linux-mm/1570460350.5576.290.ca...@lca.pw/ > > > > >

Re: [PATCH v1] mm: Fix access of uninitialized memmaps in fs/proc/page.c

2019-10-09 Thread Michal Hocko
On Wed 09-10-19 15:24:05, David Hildenbrand wrote: > On 09.10.19 15:22, Michal Hocko wrote: > > On Wed 09-10-19 14:58:24, David Hildenbrand wrote: > > [...] > >> I would be fine with this, but it means that - for now - the three > >> /proc/ files won't b

Re: [PATCH v2] mm/page_isolation: fix a deadlock with printk()

2019-10-09 Thread Michal Hocko
clear example of a _real_ lockdep report that is not a false possitive. All of them so far have been concluded to be false possitive AFAIU. -- Michal Hocko SUSE Labs

Re: [PATCH v1] mm: Fix access of uninitialized memmaps in fs/proc/page.c

2019-10-09 Thread Michal Hocko
nctionality? -- Michal Hocko SUSE Labs

Re: [PATCH v1] mm: Fix access of uninitialized memmaps in fs/proc/page.c

2019-10-09 Thread Michal Hocko
really proposed a solution or followed up. I will try to get back to that discussion but is there any technical reason that prevents any conclusion or it is just stuck on a lack of time of the participants? -- Michal Hocko SUSE Labs

Re: [PATCH v1] mm: Fix access of uninitialized memmaps in fs/proc/page.c

2019-10-09 Thread Michal Hocko
o summarize this discussion in the changelog and conclude why the explicit check is really good and what were other alternatives considered. Thanks! > Reported-by: Qian Cai > Cc: Alexey Dobriyan > Cc: Naoya Horiguchi > Cc: Andrew Morton > Cc: Stephen Rothwell > Cc: Michal Hoc

Re: [PATCH] mm, page_alloc: drop pointless static qualifier in build_zonelists()

2019-10-08 Thread Michal Hocko
se a different data structure than drop the static modifier which seems to be more of an misunderstanding than an intention. -- Michal Hocko SUSE Labs

Re: [PATCH v2] mm/page_isolation: fix a deadlock with printk()

2019-10-08 Thread Michal Hocko
On Tue 08-10-19 15:06:13, Qian Cai wrote: > On Tue, 2019-10-08 at 20:35 +0200, Michal Hocko wrote: [...] > > I fully agree that this class of lockdep splats are annoying especially > > when they make the lockdep unusable but please discuss this with lockdep > > maintainers

Re: [PATCH v2] mm/page_isolation: fix a deadlock with printk()

2019-10-08 Thread Michal Hocko
On Tue 08-10-19 12:08:37, Qian Cai wrote: > On Tue, 2019-10-08 at 14:56 +0200, Christian Borntraeger wrote: > > Adding Peter Oberparleiter. > > Peter, can you have a look? > > > > On 08.10.19 10:27, Michal Hocko wrote: > > > On Tue 08-10-19 09:43:57, Petr Mla

Re: [PATCH] mm: thp: move deferred split queue to memcg's nodeinfo

2019-10-08 Thread Michal Hocko
On Tue 08-10-19 17:44:37, Kirill A. Shutemov wrote: > On Mon, Oct 07, 2019 at 04:30:30PM +0200, Michal Hocko wrote: > > On Mon 07-10-19 16:19:59, Vlastimil Babka wrote: > > > On 10/2/19 10:43 AM, Michal Hocko wrote: > > > > On Wed 02-10-19 06:16:43, Yang

Re: [PATCH v2] mm/page_isolation: fix a deadlock with printk()

2019-10-08 Thread Michal Hocko
zero value for end users. But it makes no sense to make to make it printk_deferred on grounds mentioned so far. -- Michal Hocko SUSE Labs

Re: [PATCH] pidfd: show pids for nested pid namespaces in fdinfo

2019-10-08 Thread Michal Hocko
ight? So the make sure that linux-api is on the Cc list. And one minore note. The ifdefery is just ugly, could you just make it a separate function with ifdef hidden inside? -- Michal Hocko SUSE Labs

Re: [PATCH v2] mm/page_isolation: fix a deadlock with printk()

2019-10-08 Thread Michal Hocko
he actual problem. The disucssion in this thread boils down to point to lockdep splats which are most likely false possitives and there is no clear evidence that the is any actual deadlock as those would be clearly identifiable if the zone->lock or any other spinlock spinlock were participating

Re: [PATCH v2] mm/page_isolation: fix a deadlock with printk()

2019-10-08 Thread Michal Hocko
On Tue 08-10-19 09:06:29, Qian Cai wrote: > On Tue, 2019-10-08 at 14:39 +0200, Michal Hocko wrote: > > On Tue 08-10-19 08:00:43, Qian Cai wrote: > > > > > > > > > > On Oct 8, 2019, at 6:39 AM, Michal Hocko wrote: > > > > > > > > H

Re: [PATCH v2] mm/page_isolation: fix a deadlock with printk()

2019-10-08 Thread Michal Hocko
On Tue 08-10-19 08:00:43, Qian Cai wrote: > > > > On Oct 8, 2019, at 6:39 AM, Michal Hocko wrote: > > > > Have you actually triggered any real deadlock? With a zone->lock in > > place it would be pretty clear with hard lockups detected. > > Yes, I did tr

Re: [PATCH v2] mm/page_isolation: fix a deadlock with printk()

2019-10-08 Thread Michal Hocko
On Tue 08-10-19 06:04:32, Qian Cai wrote: > > > > On Oct 8, 2019, at 4:40 AM, Michal Hocko wrote: > > > > Does this tip point to a real deadlock or merely a class of lockdep > > false dependencies? > > I lean towards it is a real deadlock given how triv

Re: [PATCH v2] mm/slub: fix a deadlock in show_slab_objects()

2019-10-08 Thread Michal Hocko
On Mon 07-10-19 14:59:02, Andrew Morton wrote: > On Mon, 7 Oct 2019 10:16:21 +0200 Michal Hocko wrote: > > > On Fri 04-10-19 14:57:01, Michal Hocko wrote: > > > On Fri 04-10-19 08:31:49, Qian Cai wrote: > > > > Long time ago, there fixed a similar deadlock

Re: [PATCH v2] mm/page_isolation: fix a deadlock with printk()

2019-10-08 Thread Michal Hocko
On Mon 07-10-19 11:33:27, Qian Cai wrote: > On Mon, 2019-10-07 at 17:12 +0200, Michal Hocko wrote: > > On Mon 07-10-19 10:59:10, Qian Cai wrote: > > [...] > > > It is almost impossible to eliminate all the indirect call chains from > > > console_sem/console_owner

Re: [PATCH v2] mm/page_isolation: fix a deadlock with printk()

2019-10-08 Thread Michal Hocko
On Tue 08-10-19 09:43:57, Petr Mladek wrote: > On Mon 2019-10-07 16:49:37, Michal Hocko wrote: > > [Cc s390 maintainers - the lockdep is > > http://lkml.kernel.org/r/1570228005-24979-1-git-send-email-...@lca.pw > > Petr has explained it is a false positive > >

Re: [PATCH] mm, hugetlb: allow hugepage allocations to excessively reclaim

2019-10-08 Thread Michal Hocko
On Mon 07-10-19 12:03:30, Mike Kravetz wrote: > On 10/7/19 12:55 AM, Michal Hocko wrote: > > From: David Rientjes > > > > b39d0ee2632d ("mm, page_alloc: avoid expensive reclaim when compaction > > may not succeed") has chnaged the allocator to bail out fr

Re: [PATCH v2] mm/page_isolation: fix a deadlock with printk()

2019-10-07 Thread Michal Hocko
up_64+0xb6/0xc0 This is an early init code again so the lockdep sounds like a false possitive to me. -- Michal Hocko SUSE Labs

Re: [PATCH v2] mm/page_isolation: fix a deadlock with printk()

2019-10-07 Thread Michal Hocko
te_initializing; - sclp_read_sccb = (void *) __get_free_page(GFP_ATOMIC | GFP_DMA); - sclp_init_sccb = (void *) __get_free_page(GFP_ATOMIC | GFP_DMA); BUG_ON(!sclp_read_sccb || !sclp_init_sccb); /* Set up variables */ INIT_LIST_HEAD(&sclp_req_queue); -- Michal Hocko SUSE Labs

Re: [PATCH] mm: thp: move deferred split queue to memcg's nodeinfo

2019-10-07 Thread Michal Hocko
On Mon 07-10-19 16:19:59, Vlastimil Babka wrote: > On 10/2/19 10:43 AM, Michal Hocko wrote: > > On Wed 02-10-19 06:16:43, Yang Shi wrote: > >> The commit 87eaceb3faa59b9b4d940ec9554ce251325d83fe ("mm: thp: make > >> deferred split shrinker memcg aware") makes d

Re: [PATCH v2] mm/swap: piggyback lru_add_drain_all() calls

2019-10-07 Thread Michal Hocko
On Fri 04-10-19 17:06:13, Konstantin Khlebnikov wrote: > On 04/10/2019 16.39, Michal Hocko wrote: > > On Fri 04-10-19 16:32:39, Konstantin Khlebnikov wrote: > > > On 04/10/2019 16.12, Michal Hocko wrote: > > > > On Fri 04-10-19 16:09:22, Konstantin Khlebnikov wrot

Re: [PATCH v2] mm/page_isolation: fix a deadlock with printk()

2019-10-07 Thread Michal Hocko
On Mon 07-10-19 08:11:44, Qian Cai wrote: > On Mon, 2019-10-07 at 13:37 +0200, Michal Hocko wrote: > > On Mon 07-10-19 07:04:00, Qian Cai wrote: > > > > > > > > > > On Oct 7, 2019, at 4:07 AM, Michal Hocko wrote: > > > > > > > >

Re: [PATCH v2] mm/page_isolation: fix a deadlock with printk()

2019-10-07 Thread Michal Hocko
On Mon 07-10-19 07:04:00, Qian Cai wrote: > > > > On Oct 7, 2019, at 4:07 AM, Michal Hocko wrote: > > > > I do not think that removing the printk is the right long term solution. > > While I do agree that removing the debugging printk __offline_isolated_pages >

Re: [PATCH v2] mm/page_isolation: fix a deadlock with printk()

2019-10-07 Thread Michal Hocko
On Mon 07-10-19 11:05:53, Petr Mladek wrote: > On Mon 2019-10-07 10:07:42, Michal Hocko wrote: > > On Fri 04-10-19 18:26:45, Qian Cai wrote: > > > It is unsafe to call printk() while zone->lock was held, i.e., > > > > > > zone->lock --> console_lock

Re: [PATCH v2] mm/slub: fix a deadlock in show_slab_objects()

2019-10-07 Thread Michal Hocko
On Fri 04-10-19 14:57:01, Michal Hocko wrote: > On Fri 04-10-19 08:31:49, Qian Cai wrote: > > Long time ago, there fixed a similar deadlock in show_slab_objects() > > [1]. However, it is apparently due to the commits like 01fb58bcba63 > > ("slab: remove synchronous sync

Re: [PATCH v2] mm/page_isolation: fix a deadlock with printk()

2019-10-07 Thread Michal Hocko
000513bde2c>] vprintk_emit+0x184/0x3c8 > [<513be0b4>] vprintk_default+0x44/0x50 > [<513beb60>] printk+0xa8/0xc0 > [<5158c364>] __dump_page+0x1dc/0x710 > [<5158c8c6>] dump_page+0x2e/0x58 > [<515d87c8>] has_unmovable_pages+0x2e8/0x470 > [<5167072c>] start_isolate_page_range+0x404/0x538 > [<51b96de4>] __offline_pages+0x22c/0x1338 > [<51908586>] memory_subsys_offline+0xa6/0xe8 > [<518e561e>] device_offline+0xe6/0x118 > [<51908170>] state_store+0xf0/0x110 > [<51796384>] kernfs_fop_write+0x1bc/0x270 > [<5168972e>] vfs_write+0xce/0x220 > [<51689b9a>] ksys_write+0xea/0x190 > [<51ba9990>] system_call+0xd8/0x2b4 > INFO: lockdep is turned off. -- Michal Hocko SUSE Labs

[PATCH] mm, hugetlb: allow hugepage allocations to excessively reclaim

2019-10-07 Thread Michal Hocko
requests. [mho...@suse.com: reworded changelog] Fixes: b39d0ee2632d ("mm, page_alloc: avoid expensive reclaim when compaction may not succeed") Cc: Mike Kravetz Signed-off-by: David Rientjes Signed-off-by: Michal Hocko --- Hi, this has been posted by David as an RFC [1]. David d

<    10   11   12   13   14   15   16   17   18   19   >