On Tue, 28 Jan 2020, Hillf Danton wrote: > > On Mon, 27 Jan 2020 23:14:03 +0100 (CET) Kadlecsik Jozsef wrote: > > > > Thanks for the patch, but it does not fix completely the issue: the same > > error message can pop up in ip_set_uadd(), because it calls the gc > > function as well when the set is full but there can be timed out entries. > > Why is trylock-based gc going to make hassle again? Because mtype_expire() which scans the whole set to find and evict expired entries is called not only from the gc function but from add as well (to reclaim space since last gc) and list too (to get the number of elements). One locks out the another and that reported in the error message. > > I'm going to work on a solution with covers that case too. Region-locking seems to be the best way to go. Best regards, Jozsef - E-mail : kadlec@xxxxxxxxxxxxxxxxx, kadlecsik.jozsef@xxxxxxxxxxxxx PGP key : http://www.kfki.hu/~kadlec/pgp_public_key.txt Address : Wigner Research Centre for Physics H-1525 Budapest 114, POB. 49, Hungary