Re: [PATCH v2 2/3] sched/fair: Move hot load_avg into its own cacheline

From: Waiman Long
Date: Thu Dec 03 2015 - 14:38:23 EST


On 12/03/2015 05:56 AM, Peter Zijlstra wrote:
On Wed, Dec 02, 2015 at 01:41:49PM -0500, Waiman Long wrote:
+/*
+ * Make sure that the task_group structure is cacheline aligned when
+ * fair group scheduling is enabled.
+ */
+#ifdef CONFIG_FAIR_GROUP_SCHED
+static inline struct task_group *alloc_task_group(void)
+{
+ return kmem_cache_alloc(task_group_cache, GFP_KERNEL | __GFP_ZERO);
+}
+
+static inline void free_task_group(struct task_group *tg)
+{
+ kmem_cache_free(task_group_cache, tg);
+}
+#else /* CONFIG_FAIR_GROUP_SCHED */
+static inline struct task_group *alloc_task_group(void)
+{
+ return kzalloc(sizeof(struct task_group), GFP_KERNEL);
+}
+
+static inline void free_task_group(struct task_group *tg)
+{
+ kfree(tg);
+}
+#endif /* CONFIG_FAIR_GROUP_SCHED */
I think we can simply always use the kmem_cache, both slab and slub
merge slabcaches where appropriate.

I did that as I was not sure how much overhead would the introduction of a new kmem_cache bring. It seems like it is not really an issue. So I am fine with making the kmem_cache change permanent.

Cheers,
Longman
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/