Hi, All:

The main purpose of this PR is to separate mutex and semaphore and to  improve 
the performance of mutex.
Regarding the issues mentioned in the email , here is a summary:

1. The number of system calls will increase.

After separating mutex and semaphore, futex support will be added in the next 
step, which can reduce the number of system calls.

2. Code size will increase.

The increase in code size is a drawback of this modification, but the mutex 
performance has improved by 200 cycles. I  think code size can be considered as 
a potential optimization item in the future.

3. Removing semaphore priority inheritance will affect real-time performance.

Semaphore priority inheritance will be retained. After separating mutex and 
semaphore, they will have their own priority inheritance handling. Choose which 
one to enable according to your needs.


Thanks.
Yuan.

Reply via email to