* [PATCH V2 1/2] IB/core: Add support for enhanced atomic operations
@ 2010-02-14 13:51 Vladimir Sokolovsky
2010-02-25 23:38 ` Roland Dreier
0 siblings, 1 reply; 4+ messages in thread
From: Vladimir Sokolovsky @ 2010-02-14 13:51 UTC (permalink / raw)
To: Roland Dreier; +Cc: linux-rdma
- Add a new IB_WR_ATOMIC_MASKED_CMP_AND_SWP and IB_WR_ATOMIC_MASKED_FETCH_AND_ADD send
opcodes that can be used to mark a "masked atomic compare and swap" and
"masked atomic fetch and add" work request correspondingly.
- Add IB_DEVICE_MASKED_ATOMIC capability bit.
- Add mask fields to atomic struct of ib_send_wr
- Add new opcodes to ib_wc_opcode
Signed-off-by: Vladimir Sokolovsky <vlad-VPRAkNaXOzVS1MOuV/RT9w@public.gmane.org>
---
include/rdma/ib_verbs.h | 7 +++++++
1 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h
index 09509ed..338cff1 100644
--- a/include/rdma/ib_verbs.h
+++ b/include/rdma/ib_verbs.h
@@ -105,6 +105,7 @@ enum ib_device_cap_flags {
IB_DEVICE_UD_TSO = (1<<19),
IB_DEVICE_MEM_MGT_EXTENSIONS = (1<<21),
IB_DEVICE_BLOCK_MULTICAST_LOOPBACK = (1<<22),
+ IB_DEVICE_MASKED_ATOMIC = (1<<23),
};
enum ib_atomic_cap {
@@ -467,6 +468,8 @@ enum ib_wc_opcode {
IB_WC_LSO,
IB_WC_LOCAL_INV,
IB_WC_FAST_REG_MR,
+ IB_WC_MASKED_COMP_SWAP,
+ IB_WC_MASKED_FETCH_ADD,
/*
* Set value of IB_WC_RECV so consumers can test if a completion is a
* receive by testing (opcode & IB_WC_RECV).
@@ -689,6 +692,8 @@ enum ib_wr_opcode {
IB_WR_RDMA_READ_WITH_INV,
IB_WR_LOCAL_INV,
IB_WR_FAST_REG_MR,
+ IB_WR_ATOMIC_MASKED_CMP_AND_SWP,
+ IB_WR_ATOMIC_MASKED_FETCH_AND_ADD,
};
enum ib_send_flags {
@@ -732,6 +737,8 @@ struct ib_send_wr {
u64 compare_add;
u64 swap;
u32 rkey;
+ u64 compare_add_mask;
+ u64 swap_mask;
} atomic;
struct {
struct ib_ah *ah;
--
1.6.6.GIT
--
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
^ permalink raw reply related [flat|nested] 4+ messages in thread* Re: [PATCH V2 1/2] IB/core: Add support for enhanced atomic operations
2010-02-14 13:51 [PATCH V2 1/2] IB/core: Add support for enhanced atomic operations Vladimir Sokolovsky
@ 2010-02-25 23:38 ` Roland Dreier
[not found] ` <adaljegx4vz.fsf-BjVyx320WGW9gfZ95n9DRSW4+XlvGpQz@public.gmane.org>
0 siblings, 1 reply; 4+ messages in thread
From: Roland Dreier @ 2010-02-25 23:38 UTC (permalink / raw)
To: Vladimir Sokolovsky; +Cc: linux-rdma
I think I'd be OK adding this for 2.6.34, if there were some case made
that this would be useful for someone working on code that used this.
So what case can be made for adding this to 2.6.34 without an in-tree user?
> - Add a new IB_WR_ATOMIC_MASKED_CMP_AND_SWP and IB_WR_ATOMIC_MASKED_FETCH_AND_ADD send
> opcodes that can be used to mark a "masked atomic compare and swap" and
> "masked atomic fetch and add" work request correspondingly.
> - Add IB_DEVICE_MASKED_ATOMIC capability bit.
> - Add mask fields to atomic struct of ib_send_wr
> - Add new opcodes to ib_wc_opcode
The description of these operations from the mlx4 patch really belongs
here.
> + IB_WR_ATOMIC_MASKED_CMP_AND_SWP,
> + IB_WR_ATOMIC_MASKED_FETCH_AND_ADD,
Even in your description you talk about "masked atomic..." which makes
the ATOMIC_MASKED read a little strangely. These enum values would make
more sense as:
IB_WR_MASKED_ATOMIC_CMP_AND_SWP,
IB_WR_MASKED_ATOMIC_FETCH_AND_ADD,
> u64 swap;
> u32 rkey;
> + u64 compare_add_mask;
> + u64 swap_mask;
It doesn't make any practical difference here, but it would be cleaner
to add the new fields before the rkey field, so that we don't leave a
hole due to padding.
- R.
--
Roland Dreier <rolandd-FYB4Gu1CFyUAvxtiuMwx3w@public.gmane.org>
For corporate legal information go to:
http://www.cisco.com/web/about/doing_business/legal/cri/index.html
--
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
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2010-03-01 16:13 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-02-14 13:51 [PATCH V2 1/2] IB/core: Add support for enhanced atomic operations Vladimir Sokolovsky
2010-02-25 23:38 ` Roland Dreier
[not found] ` <adaljegx4vz.fsf-BjVyx320WGW9gfZ95n9DRSW4+XlvGpQz@public.gmane.org>
2010-02-28 21:09 ` Andy Grover
[not found] ` <4B8ADB89.3010700-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org>
2010-03-01 16:13 ` Håkon Bugge
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox