From: "Joel Fernandes (Google)" <joel@joelfernandes.org> To: linux-kernel@vger.kernel.org Cc: "Joel Fernandes (Google)" <joel@joelfernandes.org>, Andrew Morton <akpm@linux-foundation.org>, Ingo Molnar <mingo@redhat.com>, Josh Triplett <josh@joshtriplett.org>, Lai Jiangshan <jiangshanlai@gmail.com>, linux-mm@kvack.org, Mathieu Desnoyers <mathieu.desnoyers@efficios.com>, "Paul E. McKenney" <paulmck@kernel.org>, "Rafael J. Wysocki" <rafael.j.wysocki@intel.com>, rcu@vger.kernel.org, Steven Rostedt <rostedt@goodmis.org>, "Uladzislau Rezki (Sony)" <urezki@gmail.com> Subject: [PATCH 00/18] kfree_rcu() improvements for -rcu dev Date: Sun, 29 Mar 2020 22:32:30 -0400 [thread overview] Message-ID: <20200330023248.164994-1-joel@joelfernandes.org> (raw) Hello, These patches improve kfree_rcu() to support: - kfree_rcu() headless usage. - both vmalloc() and slab free'ing support using array of pointers. - simpler debugobjects handling. It applies on rcu/dev branch as of March 29th. Testing with rcuperf shows following changes. The memory footprint reduces and batches go slightly up. This is assumed an acceptable change. with all patches: Total time taken by all kfree'ers: 27312964461 ns, loops: 20000, batches: 3120, memory footprint: 211MB Total time taken by all kfree'ers: 26773272309 ns, loops: 20000, batches: 3084, memory footprint: 208M without: Total time taken by all kfree'ers: 25711621811 ns, loops: 20000, batches: 2814, memory footprint: 230MB Total time taken by all kfree'ers: 25775800546 ns, loops: 20000, batches: 2755, memory footprint: 230MB These have been pushed to the git tree at: git://git.kernel.org/pub/scm/linux/kernel/git/jfern/linux.git (branch rcu/kfree) cgit view: https://git.kernel.org/pub/scm/linux/kernel/git/jfern/linux.git/log/?h=rcu/kfree thanks, - Joel Joel Fernandes (Google) (5): rcu/tree: Simplify debug_objects handling rcu/tree: Clarify emergency path comment better rcu/tree: Remove extra next variable in kfree worker function rcu/tree: Simplify is_vmalloc_addr expression rcu/tree: Make kvfree_rcu() tolerate any alignment Uladzislau Rezki (Sony) (13): mm/list_lru.c: Rename kvfree_rcu() to local variant rcu: Introduce kvfree_rcu() interface rcu: Rename rcu_invoke_kfree_callback/rcu_kfree_callback rcu: Rename __is_kfree_rcu_offset() macro rcu: Rename kfree_call_rcu() to the kvfree_call_rcu(). mm/list_lru.c: Remove kvfree_rcu_local() function rcu/tree: Simplify KFREE_BULK_MAX_ENTR macro rcu/tree: Maintain separate array for vmalloc ptrs rcu/tree: Introduce expedited_drain flag rcu/tree: Support reclaim for head-less object rcu/tiny: Move kvfree_call_rcu() out of header rcu/tiny: Support reclaim for head-less object rcu: Support headless variant in the kvfree_rcu() include/linux/rcupdate.h | 53 ++++++- include/linux/rcutiny.h | 6 +- include/linux/rcutree.h | 2 +- include/trace/events/rcu.h | 8 +- kernel/rcu/tiny.c | 168 +++++++++++++++++++- kernel/rcu/tree.c | 315 ++++++++++++++++++++++++++----------- mm/list_lru.c | 11 +- 7 files changed, 443 insertions(+), 120 deletions(-) -- 2.26.0.rc2.310.g2932bb562d-goog
next reply other threads:[~2020-03-30 2:33 UTC|newest] Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-03-30 2:32 Joel Fernandes (Google) [this message] 2020-03-30 2:32 ` [PATCH 01/18] mm/list_lru.c: Rename kvfree_rcu() to local variant Joel Fernandes (Google) 2020-03-30 2:32 ` [PATCH 02/18] rcu: Introduce kvfree_rcu() interface Joel Fernandes (Google) 2020-03-30 2:32 ` [PATCH 03/18] rcu: Rename rcu_invoke_kfree_callback/rcu_kfree_callback Joel Fernandes (Google) 2020-03-30 2:32 ` [PATCH 04/18] rcu: Rename __is_kfree_rcu_offset() macro Joel Fernandes (Google) 2020-03-30 2:32 ` [PATCH 05/18] rcu: Rename kfree_call_rcu() to the kvfree_call_rcu() Joel Fernandes (Google) 2020-03-30 2:32 ` [PATCH 06/18] mm/list_lru.c: Remove kvfree_rcu_local() function Joel Fernandes (Google) 2020-03-30 2:32 ` [PATCH 07/18] rcu/tree: Simplify debug_objects handling Joel Fernandes (Google) 2020-03-30 7:00 ` kbuild test robot 2020-03-30 18:42 ` Joel Fernandes 2020-03-30 2:32 ` [PATCH 08/18] rcu/tree: Clarify emergency path comment better Joel Fernandes (Google) 2020-03-30 2:32 ` [PATCH 09/18] rcu/tree: Simplify KFREE_BULK_MAX_ENTR macro Joel Fernandes (Google) 2020-03-30 2:32 ` [PATCH 10/18] rcu/tree: Maintain separate array for vmalloc ptrs Joel Fernandes (Google) 2020-03-30 6:48 ` kbuild test robot 2020-03-30 9:10 ` kbuild test robot 2020-03-30 15:29 ` Uladzislau Rezki 2020-03-30 15:31 ` Matthew Wilcox 2020-03-30 15:37 ` Paul E. McKenney 2020-03-30 17:16 ` Joel Fernandes 2020-03-30 17:43 ` Uladzislau Rezki 2020-03-30 18:21 ` Paul E. McKenney 2020-03-30 2:32 ` [PATCH 11/18] rcu/tree: Introduce expedited_drain flag Joel Fernandes (Google) 2020-03-30 2:32 ` [PATCH 12/18] rcu/tree: Support reclaim for head-less object Joel Fernandes (Google) 2020-03-30 2:32 ` [PATCH 13/18] rcu/tiny: Move kvfree_call_rcu() out of header Joel Fernandes (Google) 2020-03-30 2:32 ` [PATCH 14/18] rcu/tiny: Support reclaim for head-less object Joel Fernandes (Google) 2020-03-30 2:32 ` [PATCH 15/18] rcu: Support headless variant in the kvfree_rcu() Joel Fernandes (Google) 2020-03-30 2:32 ` [PATCH 16/18] rcu/tree: Remove extra next variable in kfree worker function Joel Fernandes (Google) 2020-03-30 2:32 ` [PATCH 17/18] rcu/tree: Simplify is_vmalloc_addr expression Joel Fernandes (Google) 2020-03-30 2:32 ` [PATCH 18/18] rcu/tree: Make kvfree_rcu() tolerate any alignment Joel Fernandes (Google)
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20200330023248.164994-1-joel@joelfernandes.org \ --to=joel@joelfernandes.org \ --cc=akpm@linux-foundation.org \ --cc=jiangshanlai@gmail.com \ --cc=josh@joshtriplett.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mm@kvack.org \ --cc=mathieu.desnoyers@efficios.com \ --cc=mingo@redhat.com \ --cc=paulmck@kernel.org \ --cc=rafael.j.wysocki@intel.com \ --cc=rcu@vger.kernel.org \ --cc=rostedt@goodmis.org \ --cc=urezki@gmail.com \ --subject='Re: [PATCH 00/18] kfree_rcu() improvements for -rcu dev' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
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).