Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1625877

Re: Re: Re: "mm: move pcp and lru-pcp draining into single wq" broke resume from s2ram

From Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp>
Newsgroups linux.kernel
Subject Re: Re: Re: "mm: move pcp and lru-pcp draining into single wq" broke resume from s2ram
Date 2017-04-19 09:30 +0200
Message-ID <txSdP-sj-1@gated-at.bofh.it> (permalink)
References <txQF3-7PH-1@gated-at.bofh.it> <txS49-oS-5@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


> On Wed 19-04-17 14:41:30, Tetsuo Handa wrote:
> [...]
> > Somebody is waiting forever with cpu_hotplug.lock held?
> 
> Why would that matter for drain_all_pages? It doesn't use
> get_online_cpus since a459eeb7b852 ("mm, page_alloc: do not depend on
> cpu hotplug locks inside the allocator") while ce612879ddc7 ("mm: move
> pcp and lru-pcp draining into single wq") was merged later.
> 

Looking at ce612879ddc7 ("mm: move pcp and lru-pcp draining into single wq"),
we merged "lru-add-drain" (!WQ_FREEZABLE && WQ_MEM_RECLAIM) workqueue and
"vmstat" (WQ_FREEZABLE && WQ_MEM_RECLAIM) workqueue into
"mm_percpu_wq" (WQ_FREEZABLE && WQ_MEM_RECLAIM) workqueue.

-       lru_add_drain_wq = alloc_workqueue("lru-add-drain", WQ_MEM_RECLAIM, 0);
-       vmstat_wq = alloc_workqueue("vmstat", WQ_FREEZABLE|WQ_MEM_RECLAIM, 0);
+       mm_percpu_wq = alloc_workqueue("mm_percpu_wq",
+                                      WQ_FREEZABLE|WQ_MEM_RECLAIM, 0);

That means "lru-add-drain" became freezable, doesn't it? And this problem
occurs around resume operation where all freezable threads are frozen?
Then, lru_add_drain_per_cpu() cannot be performed due to mm_percpu_wq frozen?

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

"mm: move pcp and lru-pcp draining into single wq" broke resume from s2ram Geert Uytterhoeven <geert@linux-m68k.org> - 2017-04-18 22:00 +0200
  Re: "mm: move pcp and lru-pcp draining into single wq" broke resume  from s2ram Michal Hocko <mhocko@kernel.org> - 2017-04-18 22:20 +0200
    Re: Re: "mm: move pcp and lru-pcp draining into single wq" broke resume  from s2ram Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp> - 2017-04-19 07:50 +0200
      Re: Re: "mm: move pcp and lru-pcp draining into single wq" broke  resume from s2ram Michal Hocko <mhocko@kernel.org> - 2017-04-19 09:20 +0200
        Re: Re: Re: "mm: move pcp and lru-pcp draining into single wq" broke resume  from s2ram Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp> - 2017-04-19 09:30 +0200
          Re: Re: Re: "mm: move pcp and lru-pcp draining into single wq" broke  resume from s2ram Michal Hocko <mhocko@kernel.org> - 2017-04-19 10:00 +0200
            Re: Re: Re: "mm: move pcp and lru-pcp draining into single wq" broke  resume from s2ram Geert Uytterhoeven <geert@linux-m68k.org> - 2017-04-19 10:10 +0200
              Re: Re: Re: "mm: move pcp and lru-pcp draining into single wq" broke  resume from s2ram Michal Hocko <mhocko@kernel.org> - 2017-04-19 10:20 +0200
                Re: Re: Re: "mm: move pcp and lru-pcp draining into single wq" broke  resume from s2ram Linus Torvalds <torvalds@linux-foundation.org> - 2017-04-20 01:00 +0200
                Re: Re: Re: "mm: move pcp and lru-pcp draining into single wq" broke  resume from s2ram Michal Hocko <mhocko@kernel.org> - 2017-04-20 09:00 +0200
      Re: Re: "mm: move pcp and lru-pcp draining into single wq" broke  resume from s2ram Michal Hocko <mhocko@kernel.org> - 2017-04-19 09:50 +0200

csiph-web