percpu: split __pcpu_balance_workfn()
authorRoman Gushchin <guro@fb.com>
Thu, 8 Apr 2021 03:57:32 +0000 (20:57 -0700)
committerDennis Zhou <dennis@kernel.org>
Fri, 16 Apr 2021 20:57:59 +0000 (20:57 +0000)
commit67c2669d69fb5ada0f3b5123fb6ebf6fef9faee5
treeb90de0cefbc7f537bab188ac321cf6abe331ef5a
parentac9380f6b8a6a908a9df023bf8a2bcdaf9d2d6cb
percpu: split __pcpu_balance_workfn()

__pcpu_balance_workfn() became fairly big and hard to follow, but in
fact it consists of two fully independent parts, responsible for
the destruction of excessive free chunks and population of necessarily
amount of free pages.

In order to simplify the code and prepare for adding of a new
functionality, split it in two functions:

  1) pcpu_balance_free,
  2) pcpu_balance_populated.

Move the taking/releasing of the pcpu_alloc_mutex to an upper level
to keep the current synchronization in place.

Signed-off-by: Roman Gushchin <guro@fb.com>
Reviewed-by: Dennis Zhou <dennis@kernel.org>
Signed-off-by: Dennis Zhou <dennis@kernel.org>
mm/percpu.c