From: <er...@te...> - 2004-05-27 15:27:55
|
So, how can I deregister this memory? I understand that I cannot do that = while holding a spinlock. You said that "migrating the deregistration call to b= e asynchronous wouldn't be difficult". What do you mean by that & how can I= do that? BTW - when the SRP driver was released, was it possible to release memory= when holding a spinlock? This may explain the current problem. Quoting "Hefty, Sean" <sea...@in...>: > >I'm trying to release the memory from a CQ callback function. This > command > >runs after running cl_spinlock_acquire. > >However, this code was released as a part of the SF project code (SRP)= , > so > >I assumed that it should work fine... >=20 > That call should not have been made from a CQ callback. Memory > registration/deregistration needs to be done without holding a spinlock= . >=20 > Note that this is a general issue with the Mellanox HCA, and the reason > that most of the IBAL destruction APIs work asynchronously is to allow > destroy calls to be made from any callback. We made a design decision > not to use asynchronous memory deregistration for security purposes, bu= t > migrating the deregistration call to be asynchronous wouldn't be > difficult. >=20 >=20 > ------------------------------------------------------- > This SF.Net email is sponsored by: Oracle 10g > Get certified on the hottest thing ever to hit the market... Oracle 10g= .=20 > Take an Oracle 10g class now, and we'll give you the exam FREE. > http://ads.osdn.com/?ad_id=3D3149&alloc_id=3D8166&op=3Dclick > _______________________________________________ > Infiniband-access_layer mailing list > Inf...@li... > https://lists.sourceforge.net/lists/listinfo/infiniband-access_layer >=20 |