Re: [PATCH] api-gcc.h: fix typos in the functions atomic_add_*

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Oct 05, 2020 at 03:12:22PM -0700, Paul E. McKenney wrote:
>On Sat, Oct 03, 2020 at 09:19:25AM -0700, Paul E. McKenney wrote:
>> On Sat, Oct 03, 2020 at 12:28:47PM +0800, Junchang Wang wrote:
>
>[ . . . ]
>
>> But sadly, this change does not fix this bug:
>> 
>> $ ./hash_bkt_hazptr --schroedinger --nreaders 1 --duration 1000 --updatewait 0 --nbuckets 8192 --elems/writer 8192
>> Segmentation fault (core dumped)
>> 
>> Can't have everything.  ;-)
>> 
>> It appears that hashtorture manages to fail to call the per-thread
>> hazard-pointers initialization on some paths, so it is no surprise
>> that Junchang's fix doesn't fix this bug.
>
>							Thanx, Paul
>
>------------------------------------------------------------------------
>
>commit 2533decebb7fca65d2860174246966f5ed255dd0
>Author: Paul E. McKenney <paulmck@xxxxxxxxxx>
>Date:   Mon Oct 5 15:10:03 2020 -0700
>
>    datastruct/hash: Add missing hash_register_thread()
>    
>    The zoo_test() function was missing the hash_register_thread() invocation
>    that is required to make hazard pointers work correctly.  The lack
>    of this invocation results in a segmentation violation.  This commit
>    therefore adds this call.
>    
>    Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxx>
>

Hi Paul,

This patch fixes the bug, and now "./hash_bkt_hazptr --schroedinger" works
correctly on my servers. Thanks a lot.


--Junchang

>diff --git a/CodeSamples/datastruct/hash/hashtorture.h b/CodeSamples/datastruct/hash/hashtorture.h
>index 6d30cb8..7d43e11 100644
>--- a/CodeSamples/datastruct/hash/hashtorture.h
>+++ b/CodeSamples/datastruct/hash/hashtorture.h
>@@ -1211,6 +1211,7 @@ void zoo_test(void)
> 	for (i = 0; i < nupdaters * elperupdater; i++) {
> 		sprintf(&zoo_names[ZOO_NAMELEN * i], "a%ld", i);
> 	}
>+	hash_register_thread();
> 
> 	zhep = malloc(sizeof(*zhep));
> 	BUG_ON(!zhep);



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux