block: add kblockd_schedule_delayed_work_on()
Same function as kblockd_schedule_delayed_work(), but allow the caller to pass in a CPU that the work should be executed on. This just directly extends and maps into the workqueue API, and will be used to make the blk-mq mappings more strict. Signed-off-by: Jens Axboe <axboe@fb.com>
This commit is contained in:
@@ -2917,6 +2917,13 @@ int kblockd_schedule_delayed_work(struct delayed_work *dwork,
|
|||||||
}
|
}
|
||||||
EXPORT_SYMBOL(kblockd_schedule_delayed_work);
|
EXPORT_SYMBOL(kblockd_schedule_delayed_work);
|
||||||
|
|
||||||
|
int kblockd_schedule_delayed_work_on(int cpu, struct delayed_work *dwork,
|
||||||
|
unsigned long delay)
|
||||||
|
{
|
||||||
|
return queue_delayed_work_on(cpu, kblockd_workqueue, dwork, delay);
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL(kblockd_schedule_delayed_work_on);
|
||||||
|
|
||||||
#define PLUG_MAGIC 0x91827364
|
#define PLUG_MAGIC 0x91827364
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -1361,6 +1361,7 @@ static inline void put_dev_sector(Sector p)
|
|||||||
struct work_struct;
|
struct work_struct;
|
||||||
int kblockd_schedule_work(struct work_struct *work);
|
int kblockd_schedule_work(struct work_struct *work);
|
||||||
int kblockd_schedule_delayed_work(struct delayed_work *dwork, unsigned long delay);
|
int kblockd_schedule_delayed_work(struct delayed_work *dwork, unsigned long delay);
|
||||||
|
int kblockd_schedule_delayed_work_on(int cpu, struct delayed_work *dwork, unsigned long delay);
|
||||||
|
|
||||||
#ifdef CONFIG_BLK_CGROUP
|
#ifdef CONFIG_BLK_CGROUP
|
||||||
/*
|
/*
|
||||||
|
Reference in New Issue
Block a user