Hi Simon and Andrew,
I already tried both Andrew's intial and Simon's latest patch yesterday and had both of them running for about 1h+, also with alternate vis-intervals (1s, 50ms, 30s) but so far I wasn't able to reproduce any crashes or leaks on two Debian stable VMs connected with each other. I'll run Andrew's patch version again this night for some more hours to make sure that I'm able to reproduce the crash at all. Any other hints for reproducing it more quickly welcome :).
Cheers, Linus
PS: With how many nodes and what kind of systems could you reproduce the crash? Were all those nodes connected directly with each other? How many vis-servers were running?
On Tue, Mar 02, 2010 at 10:13:24PM +0100, Simon Wunderlich wrote:
Hello Andrew,
no, sorry, and i won't be able to do it this week as i am at the cebit this whole week (if anyone else is there, please tell me. ;).
I would therefore like to ask you and Linus to test it as well, i will perform more tests on sunday.
Thanks, Simon
On Tue, Mar 02, 2010 at 07:43:08AM +0100, Andrew Lunn wrote:
On Mon, Mar 01, 2010 at 05:57:06PM +0100, Simon Wunderlich wrote:
Hey Andrew,
all list-adds and list-removes do a kref_get or kref_put respectively, but that probably was not very clear. As soon as a refence is created (by linking into the hash or a list), we should also kref_get() it.
Please find attached a new version of this patch with separate send_list_add/remove functions which include the put/get functions. I've also added the kref_put/get call to the send_list loop again. It should look more balanced now. Tested in my 9 qemu setup again, no memory leaks or crashes but i only did a very quick test (15 minutes)
Hi Simon
This looks better. Did it survive longer testing?
Andrew