pussuw commented on issue #8917:
URL: https://github.com/apache/nuttx/issues/8917#issuecomment-1488805778

   Thanks for the response!
   
   Those APIs are known to me but as far as I can tell they either rely on the 
correct mappings already being active or on mm_struct and vm_area_struct (which 
we don't quite have, yet), which contain the necessary info to find the 
physical page.
   
   The solution I posted is already merged and does of course work, there is 
just a tiny performance penalty via losing the entire TLB instead of just 
losing 1 page. 
   
   I was trying to think of alternate solutions to the problem, like releasing 
the semaphore from the user process instead (in sem_wait() after the context 
switch when the correct mappings are present) but the problem is that updating 
the task status LUT becomes impossible, as `dq_rem((FAR dq_entry_t *)wtcb, 
SEM_WAITLIST(sem));` needs access to sem->waitlist to move the task into the 
ready-to-run list.


-- 
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