[PATCH] kernel/fork: put some fork variables into read-mostly section

From: qiwuchen55
Date: Sun Jan 12 2020 - 22:23:25 EST


From: chenqiwu <chenqiwu@xxxxxxxxxx>

Since total_forks/nr_threads/max_threads global variables are
frequently used for process fork, putting these variables into
read_mostly section can avoid unnecessary cache line bouncing.

Signed-off-by: chenqiwu <chenqiwu@xxxxxxxxxx>
---
kernel/fork.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/kernel/fork.c b/kernel/fork.c
index 0808095..163e152 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -120,10 +120,10 @@
/*
* Protected counters by write_lock_irq(&tasklist_lock)
*/
-unsigned long total_forks; /* Handle normal Linux uptimes. */
-int nr_threads; /* The idle threads do not count.. */
+unsigned long total_forks __read_mostly; /* Handle normal Linux uptimes. */
+int nr_threads __read_mostly; /* The idle threads do not count.. */

-static int max_threads; /* tunable limit on nr_threads */
+static int max_threads __read_mostly; /* tunable limit on nr_threads */

#define NAMED_ARRAY_INDEX(x) [x] = __stringify(x)

--
1.9.1