pkarashchenko commented on issue #6310:
URL: 
https://github.com/apache/incubator-nuttx/issues/6310#issuecomment-1134844516

   So one of the possible solutions could be moving `pend_reprios` from `struct 
tcb_s` to a `struct semholder_s`, but that would grow memory consumption a lot. 
I tried to prototype changes where I save only the prio of highest priority 
task waiting on semaphore in `struct semholder_s`, but that fails in case if we 
are having multiple tasks with the same priority. So we definitely need to 
track both the origin of reprio and reprio priority. That is why I wrote that 
one of the possible solutions could be to "equip each semaphore with a list of 
tasks waiting for that semaphore and when task release a semaphore it iterates 
the tasks wait list for all semaphores that it holds and find the highest 
priority from that lists" so we will can rely on the actual data when task 
release the semaphore.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to