From: Tziporet K. <tzi...@me...> - 2004-05-31 07:02:25
|
Hi, The reason you get this error is not related to any spinlocks. For all privileged verbs the THH driver check that process is not in interrupts context (since we put the process to sleep and this is = forbidden in interrupts).=20 We use the function in_interrupt() do decide if the process is in = interrupt context or not. Note that this function is also TRUE for tasklet. So it seems you are calling memory registration in tasklet or = interrupt. What you can do is use this function before calling to ib_reg_mem() and = see in what context the process is. Tziporet -----Original Message----- From: er...@te... [mailto:er...@te...] Sent: Monday, May 31, 2004 8:54 AM To: inf...@li... Subject: [Infiniband-access_layer] ib_reg_mem fails after a few times Hi, I'm using ib_reg_mem in order to register memory. It works fine 18 = times. On the next time, I get the following errors: May 30 18:14:37 psl-178 kernel: TVPD(1): THH_hob_register_mr: NOT IN = TASK CONTEXT) May 30 18:14:37 psl-178 kernel: TVPD(1): kvp_mlx_mrw.c[493]: kvp_mlnx_register_mr: Could not register the MR, reason: (-255: HH_ERR) May 30 18:14:37 psl-178 kernel: srpl_queue_req() !ERROR!: ib_reg_mem() failed!, status =3D 0x2a This call is done in a synchronous context & I'm not holding any = spinlocks. Also, I'm deregistering the memory successfully. ------------------------------------------------------- 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_id149&alloc_id=8166&op=CCk _______________________________________________ Infiniband-access_layer mailing list Inf...@li... https://lists.sourceforge.net/lists/listinfo/infiniband-access_layer |