workqueue: move hot fields of workqueue_struct to the end
[platform/adaptation/renesas_rcar/renesas_kernel.git] / kernel / workqueue.c
index c8c5838..4c53fa2 100644 (file)
@@ -227,8 +227,6 @@ struct wq_device;
  * the appropriate worker_pool through its pool_workqueues.
  */
 struct workqueue_struct {
-       unsigned int            flags;          /* WQ: WQ_* flags */
-       struct pool_workqueue __percpu *cpu_pwqs; /* I: per-cpu pwq's */
        struct list_head        pwqs;           /* WR: all pwqs of this wq */
        struct list_head        list;           /* PL: list of all workqueues */
 
@@ -255,6 +253,10 @@ struct workqueue_struct {
        struct lockdep_map      lockdep_map;
 #endif
        char                    name[WQ_NAME_LEN]; /* I: workqueue name */
+
+       /* hot fields used during command issue, aligned to cacheline */
+       unsigned int            flags ____cacheline_aligned; /* WQ: WQ_* flags */
+       struct pool_workqueue __percpu *cpu_pwqs; /* I: per-cpu pwqs */
 };
 
 static struct kmem_cache *pwq_cache;