Hi Lipeng,

Sure, as your comments, in the patch V6, I added 3 test cases with
OpenMP to test different cases in concurrency respectively:
1. find and create unit very frequently to stress read lock and write lock.
2. only access the unit which exist in cache to stress read lock.
3. access the same unit in concurrency.
For the third test case, it also help to find a bug:  When unit can't
be found in cache nor unit list in read phase, then threads will try
to acquire write lock to insert the same unit, this will cause duplicate key
error.
To fix this bug, I get the unit from unit list once again before insert in write
lock.
More details you can refer the patch v6.


Could you help to review this update? I really appreciate your assistance.


Could you help to review this update?  Any concern will be appreciated.

Fortran parts are OK (I think I wrote that already), we need somebody
for the non-Fortran parts.

Jakub, could you maybe take a look?

Best regards

        Thomas

Reply via email to