diff options
author | Eric Wong <e@80x24.org> | 2014-05-29 07:27:56 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2014-05-29 07:29:47 +0000 |
commit | d1a90e506902150c7db1d525e71e5b6cd66744de (patch) | |
tree | 8f93c2d343c5090a2b5b86414631d9f1f2d8131d /svc_dev.c | |
parent | 19a0fde65d8905f31e4ffaea531da4cefb02c29e (diff) | |
download | cmogstored-khash.tar.gz |
This reduces unnecessary boilerplate due to switching khash.
Diffstat (limited to 'svc_dev.c')
-rw-r--r-- | svc_dev.c | 12 |
1 files changed, 5 insertions, 7 deletions
@@ -310,27 +310,25 @@ static void svc_rescale_warn_fix_capa(struct mog_svc *svc, unsigned ndev_new) svc->thr_per_dev = 1; } +/* Only called by the main/notify thread */ static void mog_svc_dev_rescale_all(struct mog_svc *svc) { struct mog_dev *dev; - khash_t(by_mog_devid) *h; + khash_t(by_mog_devid) *h = svc->by_mog_devid; - /* iterate through each device of this svc */ CHECK(int, 0, pthread_mutex_lock(&svc->by_mog_devid_lock)); - h = svc->by_mog_devid; - mog_kh_foreach_key(h, dev, mog_dev_user_rescale_i(dev, svc)); + mog_kh_foreach_key(h, dev, mog_ioq_adjust(&dev->ioq, svc->thr_per_dev)); CHECK(int, 0, pthread_mutex_unlock(&svc->by_mog_devid_lock)); } void mog_svc_dev_requeue_prepare(struct mog_svc *svc) { struct mog_dev *dev; - khash_t(by_mog_devid) *h; + khash_t(by_mog_devid) *h = svc->by_mog_devid; /* iterate through each device of this svc */ CHECK(int, 0, pthread_mutex_lock(&svc->by_mog_devid_lock)); - h = svc->by_mog_devid; - mog_kh_foreach_key(h, dev, mog_dev_requeue_prepare(dev, svc)); + mog_kh_foreach_key(h, dev, mog_dev_requeue_prepare(dev)); CHECK(int, 0, pthread_mutex_unlock(&svc->by_mog_devid_lock)); } |