summaryrefslogtreecommitdiffstats
path: root/drivers/block/drbd/drbd_int.h
diff options
context:
space:
mode:
authorAndreas Gruenbacher2011-07-22 14:29:02 +0200
committerPhilipp Reisner2014-02-17 16:46:49 +0100
commit625a6ba2bd9d2720e64048188c6771b9da867884 (patch)
tree3eca33a9452580d097e20087795709fcabd5fc53 /drivers/block/drbd/drbd_int.h
parentdrbd: Define the size of res_opts->cpu_mask in a single place (diff)
downloadkernel-qcow2-linux-625a6ba2bd9d2720e64048188c6771b9da867884.tar.gz
kernel-qcow2-linux-625a6ba2bd9d2720e64048188c6771b9da867884.tar.xz
kernel-qcow2-linux-625a6ba2bd9d2720e64048188c6771b9da867884.zip
drbd: Move cpu_mask from connection to resource
Also fix drbd_calc_cpu_mask() to spread resources equally over all online cpus independent of device minor numbers. Signed-off-by: Andreas Gruenbacher <agruen@linbit.com> Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Diffstat (limited to 'drivers/block/drbd/drbd_int.h')
-rw-r--r--drivers/block/drbd/drbd_int.h5
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/block/drbd/drbd_int.h b/drivers/block/drbd/drbd_int.h
index af68d64a0faf..95d9c5cb6f37 100644
--- a/drivers/block/drbd/drbd_int.h
+++ b/drivers/block/drbd/drbd_int.h
@@ -584,6 +584,8 @@ struct drbd_resource {
unsigned susp:1; /* IO suspended by user */
unsigned susp_nod:1; /* IO suspended because no data */
unsigned susp_fen:1; /* IO suspended because fence peer handler runs */
+
+ cpumask_var_t cpu_mask;
};
struct drbd_connection {
@@ -632,7 +634,6 @@ struct drbd_connection {
struct drbd_thread receiver;
struct drbd_thread worker;
struct drbd_thread asender;
- cpumask_var_t cpu_mask;
/* sender side */
struct drbd_work_queue sender_work;
@@ -880,10 +881,8 @@ extern void _drbd_thread_stop(struct drbd_thread *thi, int restart, int wait);
extern char *drbd_task_to_thread_name(struct drbd_connection *connection, struct task_struct *task);
#ifdef CONFIG_SMP
extern void drbd_thread_current_set_cpu(struct drbd_thread *thi);
-extern void drbd_calc_cpu_mask(struct drbd_connection *connection);
#else
#define drbd_thread_current_set_cpu(A) ({})
-#define drbd_calc_cpu_mask(A) ({})
#endif
extern void tl_release(struct drbd_connection *, unsigned int barrier_nr,
unsigned int set_size);