From: Binoy Jayan <binoy.jayan-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> To: Doug Ledford <dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>, Sean Hefty <sean.hefty-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>, Sagi Grimberg <sagi-NQWnxTmZq1alnMjI0IkVqw@public.gmane.org>, Hal Rosenstock <hal.rosenstock-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>, Leon Romanovsky <leonro-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>, Sagi Grimberg <sagig-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>, Bart Van Assche <bart.vanassche-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org>, Nicholas Bellinger <nab-IzHhD5pYlfBP7FQvKIMDCQ@public.gmane.org>, Jenny Derzhavetz <jennyf-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>, Ira Weiny <ira.weiny-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>, Steve Wise <swise-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW@public.gmane.org>, Mark Bloch <markb-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>, Tatyana E Nikolova <tatyana.e.nikolova-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>, Matan Barak <matanb-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org>, Lijun Ou <oulijun-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>, "Wei Hu(Xavier)" <xavier.huwei-hv44wF8Li93QT0dZR+AlfA@public.gmane.org> Cc: Faisal Latif <faisal.latif-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>, Mustafa Ismail <mustafa.ismail-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>, Mark Brown <broonie-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>, Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>, linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, target-devel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Binoy Jayan <binoy.jayan-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> Subject: [PATCH v5 3/9] IB/hns: Replace semaphore poll_sem with mutex Date: Mon, 21 Nov 2016 11:38:10 +0530 [thread overview] Message-ID: <1479708496-9828-4-git-send-email-binoy.jayan@linaro.org> (raw) In-Reply-To: <1479708496-9828-1-git-send-email-binoy.jayan-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> The semaphore 'poll_sem' is a simple mutex, so it should be written as one. Semaphores are going away in the future. So replace it with a mutex. Also, remove mutex_[un]lock from mthca_cmd_use_events and mthca_cmd_use_polling respectively. Signed-off-by: Binoy Jayan <binoy.jayan-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> --- drivers/infiniband/hw/hns/hns_roce_cmd.c | 11 ++++------- drivers/infiniband/hw/hns/hns_roce_device.h | 3 ++- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/drivers/infiniband/hw/hns/hns_roce_cmd.c b/drivers/infiniband/hw/hns/hns_roce_cmd.c index 2a0b6c0..51a0675 100644 --- a/drivers/infiniband/hw/hns/hns_roce_cmd.c +++ b/drivers/infiniband/hw/hns/hns_roce_cmd.c @@ -119,7 +119,7 @@ static int hns_roce_cmd_mbox_post_hw(struct hns_roce_dev *hr_dev, u64 in_param, return ret; } -/* this should be called with "poll_sem" */ +/* this should be called with "poll_mutex" */ static int __hns_roce_cmd_mbox_poll(struct hns_roce_dev *hr_dev, u64 in_param, u64 out_param, unsigned long in_modifier, u8 op_modifier, u16 op, @@ -167,10 +167,10 @@ static int hns_roce_cmd_mbox_poll(struct hns_roce_dev *hr_dev, u64 in_param, { int ret; - down(&hr_dev->cmd.poll_sem); + mutex_lock(&hr_dev->cmd.poll_mutex); ret = __hns_roce_cmd_mbox_poll(hr_dev, in_param, out_param, in_modifier, op_modifier, op, timeout); - up(&hr_dev->cmd.poll_sem); + mutex_unlock(&hr_dev->cmd.poll_mutex); return ret; } @@ -275,7 +275,7 @@ int hns_roce_cmd_init(struct hns_roce_dev *hr_dev) struct device *dev = &hr_dev->pdev->dev; mutex_init(&hr_dev->cmd.hcr_mutex); - sema_init(&hr_dev->cmd.poll_sem, 1); + mutex_init(&hr_dev->cmd.poll_mutex); hr_dev->cmd.use_events = 0; hr_dev->cmd.toggle = 1; hr_dev->cmd.max_cmds = CMD_MAX_NUM; @@ -319,8 +319,6 @@ int hns_roce_cmd_use_events(struct hns_roce_dev *hr_dev) hr_cmd->token_mask = CMD_TOKEN_MASK; hr_cmd->use_events = 1; - down(&hr_cmd->poll_sem); - return 0; } @@ -335,7 +333,6 @@ void hns_roce_cmd_use_polling(struct hns_roce_dev *hr_dev) down(&hr_cmd->event_sem); kfree(hr_cmd->context); - up(&hr_cmd->poll_sem); } struct hns_roce_cmd_mailbox diff --git a/drivers/infiniband/hw/hns/hns_roce_device.h b/drivers/infiniband/hw/hns/hns_roce_device.h index 3417315..2afe075 100644 --- a/drivers/infiniband/hw/hns/hns_roce_device.h +++ b/drivers/infiniband/hw/hns/hns_roce_device.h @@ -34,6 +34,7 @@ #define _HNS_ROCE_DEVICE_H #include <rdma/ib_verbs.h> +#include <linux/mutex.h> #define DRV_NAME "hns_roce" @@ -358,7 +359,7 @@ struct hns_roce_cmdq { struct dma_pool *pool; u8 __iomem *hcr; struct mutex hcr_mutex; - struct semaphore poll_sem; + struct mutex poll_mutex; /* * Event mode: cmd register mutex protection, * ensure to not exceed max_cmds and user use limit region -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html
WARNING: multiple messages have this Message-ID (diff)
From: Binoy Jayan <binoy.jayan@linaro.org> To: Doug Ledford <dledford@redhat.com>, Sean Hefty <sean.hefty@intel.com>, Sagi Grimberg <sagi@grimberg.me>, Hal Rosenstock <hal.rosenstock@gmail.com>, Leon Romanovsky <leonro@mellanox.com>, Sagi Grimberg <sagig@mellanox.com>, Bart Van Assche <bart.vanassche@sandisk.com>, Nicholas Bellinger <nab@linux-iscsi.org>, Jenny Derzhavetz <jennyf@mellanox.com>, Ira Weiny <ira.weiny@intel.com>, Steve Wise <swise@opengridcomputing.com>, Mark Bloch <markb@mellanox.com>, Tatyana E Nikolova <tatyana.e.nikolova@intel.com>, Matan Barak <matanb@mellanox.com>, Lijun Ou <oulijun@huawei.com>, "Wei Hu(Xavier)" <xavier.huwei@huawei.com> Cc: Faisal Latif <faisal.latif@intel.com>, Mustafa Ismail <mustafa.ismail@intel.com>, Mark Brown <broonie@kernel.org>, Arnd Bergmann <arnd@arndb.de>, linux-rdma@vger.kernel.org, linux-kernel@vger.kernel.org, target-devel@vger.kernel.org, Binoy Jayan <binoy.jayan@linaro.org> Subject: [PATCH v5 3/9] IB/hns: Replace semaphore poll_sem with mutex Date: Mon, 21 Nov 2016 11:38:10 +0530 [thread overview] Message-ID: <1479708496-9828-4-git-send-email-binoy.jayan@linaro.org> (raw) In-Reply-To: <1479708496-9828-1-git-send-email-binoy.jayan@linaro.org> The semaphore 'poll_sem' is a simple mutex, so it should be written as one. Semaphores are going away in the future. So replace it with a mutex. Also, remove mutex_[un]lock from mthca_cmd_use_events and mthca_cmd_use_polling respectively. Signed-off-by: Binoy Jayan <binoy.jayan@linaro.org> --- drivers/infiniband/hw/hns/hns_roce_cmd.c | 11 ++++------- drivers/infiniband/hw/hns/hns_roce_device.h | 3 ++- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/drivers/infiniband/hw/hns/hns_roce_cmd.c b/drivers/infiniband/hw/hns/hns_roce_cmd.c index 2a0b6c0..51a0675 100644 --- a/drivers/infiniband/hw/hns/hns_roce_cmd.c +++ b/drivers/infiniband/hw/hns/hns_roce_cmd.c @@ -119,7 +119,7 @@ static int hns_roce_cmd_mbox_post_hw(struct hns_roce_dev *hr_dev, u64 in_param, return ret; } -/* this should be called with "poll_sem" */ +/* this should be called with "poll_mutex" */ static int __hns_roce_cmd_mbox_poll(struct hns_roce_dev *hr_dev, u64 in_param, u64 out_param, unsigned long in_modifier, u8 op_modifier, u16 op, @@ -167,10 +167,10 @@ static int hns_roce_cmd_mbox_poll(struct hns_roce_dev *hr_dev, u64 in_param, { int ret; - down(&hr_dev->cmd.poll_sem); + mutex_lock(&hr_dev->cmd.poll_mutex); ret = __hns_roce_cmd_mbox_poll(hr_dev, in_param, out_param, in_modifier, op_modifier, op, timeout); - up(&hr_dev->cmd.poll_sem); + mutex_unlock(&hr_dev->cmd.poll_mutex); return ret; } @@ -275,7 +275,7 @@ int hns_roce_cmd_init(struct hns_roce_dev *hr_dev) struct device *dev = &hr_dev->pdev->dev; mutex_init(&hr_dev->cmd.hcr_mutex); - sema_init(&hr_dev->cmd.poll_sem, 1); + mutex_init(&hr_dev->cmd.poll_mutex); hr_dev->cmd.use_events = 0; hr_dev->cmd.toggle = 1; hr_dev->cmd.max_cmds = CMD_MAX_NUM; @@ -319,8 +319,6 @@ int hns_roce_cmd_use_events(struct hns_roce_dev *hr_dev) hr_cmd->token_mask = CMD_TOKEN_MASK; hr_cmd->use_events = 1; - down(&hr_cmd->poll_sem); - return 0; } @@ -335,7 +333,6 @@ void hns_roce_cmd_use_polling(struct hns_roce_dev *hr_dev) down(&hr_cmd->event_sem); kfree(hr_cmd->context); - up(&hr_cmd->poll_sem); } struct hns_roce_cmd_mailbox diff --git a/drivers/infiniband/hw/hns/hns_roce_device.h b/drivers/infiniband/hw/hns/hns_roce_device.h index 3417315..2afe075 100644 --- a/drivers/infiniband/hw/hns/hns_roce_device.h +++ b/drivers/infiniband/hw/hns/hns_roce_device.h @@ -34,6 +34,7 @@ #define _HNS_ROCE_DEVICE_H #include <rdma/ib_verbs.h> +#include <linux/mutex.h> #define DRV_NAME "hns_roce" @@ -358,7 +359,7 @@ struct hns_roce_cmdq { struct dma_pool *pool; u8 __iomem *hcr; struct mutex hcr_mutex; - struct semaphore poll_sem; + struct mutex poll_mutex; /* * Event mode: cmd register mutex protection, * ensure to not exceed max_cmds and user use limit region -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project
next prev parent reply other threads:[~2016-11-21 6:08 UTC|newest] Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top 2016-11-21 6:08 [PATCH v5 0/9] infiniband: Remove semaphores Binoy Jayan 2016-11-21 6:08 ` Binoy Jayan 2016-11-21 6:08 ` [PATCH v5 1/9] IB/core: iwpm_nlmsg_request: Replace semaphore with completion Binoy Jayan 2016-11-21 6:08 ` [PATCH v5 2/9] IB/core: Replace semaphore sm_sem with an atomic wait Binoy Jayan [not found] ` <CA+55aFxGjaqduhRCyk0mVxEA7aqQ-omdG8SBreZ=x5cW2ovngQ@mail.gmail.com> 2016-11-21 16:52 ` Arnd Bergmann 2016-11-21 16:52 ` Arnd Bergmann 2016-11-21 16:57 ` Christoph Hellwig 2016-11-21 16:57 ` Christoph Hellwig 2016-11-21 17:57 ` Linus Torvalds 2016-11-21 17:57 ` Linus Torvalds 2016-11-21 22:51 ` Arnd Bergmann 2016-11-21 22:51 ` Arnd Bergmann [not found] ` <1479708496-9828-1-git-send-email-binoy.jayan-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> 2016-11-21 6:08 ` Binoy Jayan [this message] 2016-11-21 6:08 ` [PATCH v5 3/9] IB/hns: Replace semaphore poll_sem with mutex Binoy Jayan 2016-11-21 6:08 ` [PATCH v5 4/9] IB/mthca: " Binoy Jayan 2016-11-21 6:08 ` [PATCH v5 5/9] IB/isert: Replace semaphore sem with completion Binoy Jayan 2016-11-21 7:36 ` Sagi Grimberg 2016-11-21 10:22 ` Arnd Bergmann 2016-11-21 10:22 ` Arnd Bergmann 2016-11-21 12:33 ` Sagi Grimberg 2016-11-21 12:33 ` Sagi Grimberg 2016-11-21 14:50 ` Arnd Bergmann 2016-11-21 14:50 ` Arnd Bergmann 2016-11-21 6:08 ` [PATCH v5 6/9] IB/hns: Replace counting semaphore event_sem with wait_event Binoy Jayan 2016-11-21 6:08 ` [PATCH v5 7/9] IB/mthca: " Binoy Jayan 2016-11-21 6:08 ` [PATCH v5 8/9] IB/mlx5: Add helper mlx5_ib_post_send_wait Binoy Jayan 2016-11-21 6:08 ` [PATCH v5 9/9] IB/mlx5: Replace semaphore umr_common:sem with wait_event Binoy Jayan
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1479708496-9828-4-git-send-email-binoy.jayan@linaro.org \ --to=binoy.jayan-qsej5fyqhm4dnm+yrofe0a@public.gmane.org \ --cc=arnd-r2nGTMty4D4@public.gmane.org \ --cc=bart.vanassche-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org \ --cc=broonie-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \ --cc=dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \ --cc=faisal.latif-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \ --cc=hal.rosenstock-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \ --cc=ira.weiny-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \ --cc=jennyf-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \ --cc=leonro-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \ --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \ --cc=linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \ --cc=markb-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \ --cc=matanb-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \ --cc=mustafa.ismail-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \ --cc=nab-IzHhD5pYlfBP7FQvKIMDCQ@public.gmane.org \ --cc=oulijun-hv44wF8Li93QT0dZR+AlfA@public.gmane.org \ --cc=sagi-NQWnxTmZq1alnMjI0IkVqw@public.gmane.org \ --cc=sagig-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org \ --cc=sean.hefty-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \ --cc=swise-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW@public.gmane.org \ --cc=target-devel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \ --cc=tatyana.e.nikolova-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \ --cc=xavier.huwei-hv44wF8Li93QT0dZR+AlfA@public.gmane.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.