Closed VinashakAnkitAman closed 3 years ago
@VinashakAnkitAman could you give more context here, for instance summarize which tasks are writing and which tasks are reading? It looks to me that you make the copy on the same thread which fundamentally does not solve the problem.
Hi @ulaskozat.. The tasks for ENB application and data module share the tunnel information data here using a sharable buffer which is allocated in the ENB application task and then passed to data module task for configuring the data tunnel and creating the same in eGTPU task. The sharable buffer was then getting freed into the data module task after tunnel creation completion.
The tunnel information write operations were handled mostly on the ENB application task and some hash list operations were done in the data module task with the buffer pointer received from ENB application task. Therefore, this PR creates a local copy of the sharable buffer pointer in the data module task just after receiving it from the ENB application task and does the local operations in data module task using the local tunnel information buffer pointer only to avoid any data overwriting or corruption from the other task.
Title
Fixed multi UE data test case failure issue
Summary
The multi UE data test cases were failing and getting stuck for some random UE. This PR is in continuation with PR #34 to include the review comment for using a local structure for updating hashlist keys instead of buffer pointer shared across tasks to avoid data corruption.
Test plan
Verified with Sanity and multiple runs of multi UE data test cases.