Thread (1 message) 1 message, 1 author, 2007-12-18

Re: [ROSE] [AX25] possible circular locking

From: Jarek Poplawski <hidden>
Date: 2007-12-18 22:01:08

On Tue, Dec 18, 2007 at 10:12:31PM +0100, Pidoux wrote:
Hi,

Thank you Jarek for the analysis of the circular locking dependency report.
I applied the patch you proposed and it works well as soon as I am able to 
reboot now without
lock warning message and I can also killall kissattach.

I tried also the patch without the loop, that is only spin_unlock_bh() 
before calling
ax25_disconnect() and spin_lock_bh() just after.
It worked also well.
However I must say that I only have one ax25 device running (ax0).

Is the loop really necessary here ? in case there are more than one ax25 
device ?

Also, I will let my AX25 - ROSE application running in order to test the 
system stability with the full patch.
I will let you know the results in a while.
Thank you Bernard for the bravery!

The loop is only for debugging: I don't know exactly what is done
during this ax25_disconnect(), and how the list can change in the
meantime because of some other activities. So, it's e.g. against
possible list_del of this node - then some sockets would stay not
disconnected.

I think, it's up to Ralf or some other ax25 expert to judge if this
could be done like this. Since it's not used very often, I think
this should better stay during testing: if there are no warnings
- the loop isn't repeated; otherwise it could simply take a little
more time, but all sockets should be serviced, plus we know about
problems.

Thanks,
Jarek P.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help