Re: yet again the atomic operations

2010-08-10 Thread Rui Machado
There are two kinds supported. QLogic's driver does them in the host driver so they are atomic with respect to all the CPUs in the host. I'm just curious about this: how does this work? Is the CPU getting interrupted and doing the operation while the Mellanox HCA does everything in hardware?

Re: yet again the atomic operations

2010-08-10 Thread Rui Machado
You can work around this by creating a loopback connection (ie an RC connection from the local HCA to itself) and post atomic operations to that QP instead of accessing the memory directly with the CPU. Right but that's really slow, specially if you're implementing some sort of

Re: yet again the atomic operations

2010-08-10 Thread Ralph Campbell
On Tue, 2010-08-10 at 04:46 -0700, Rui Machado wrote: There are two kinds supported. QLogic's driver does them in the host driver so they are atomic with respect to all the CPUs in the host. I'm just curious about this: how does this work? Is the CPU getting interrupted and doing the

Re: yet again the atomic operations

2010-08-06 Thread Rui Machado
Hi there, There are two kinds supported. QLogic's driver does them in the host driver so they are atomic with respect to all the CPUs in the host. Mellanox uses HCA wide atomic which means the HCA will do a memory read/write without allowing other reads or writes from different QP operations

Re: yet again the atomic operations

2010-08-06 Thread Roland Dreier
So if the CPU writes/reads to/from the same address, even atomically (lock), there might be room for some inconsistency on the values? It is not really atomic from the whole system point of view, just for the HCA? If so, is there any possibility to make the whole operation 'system-wide'

Re: yet again the atomic operations

2010-08-06 Thread Ralph Campbell
On Fri, 2010-08-06 at 04:43 -0700, Rui Machado wrote: Hi there, There are two kinds supported. QLogic's driver does them in the host driver so they are atomic with respect to all the CPUs in the host. Mellanox uses HCA wide atomic which means the HCA will do a memory read/write without

Re: yet again the atomic operations

2010-08-05 Thread Ralph Campbell
Atomic ops are optional. Mellanox and QLogic HCAs support them, I don't know about the other HCAs. There are two kinds supported. QLogic's driver does them in the host driver so they are atomic with respect to all the CPUs in the host. Mellanox uses HCA wide atomic which means the HCA will do a