Dear Mr. Koo.

 

There is not any relationship between main thread and pthread1/2/3.

Main thread is run on core 1 of Cortex-A9.

Pthread1/2/3 threads is run on core 2 of Cortex-A9.

That is, both main thread and pthread1/2/3 is run on each cores independently.

Also, I used manual affinity using pthread_setaffinity_np().

 

Pthread1/2/3 is created by main thread.

and, actual operation is using Qt Thread API. I attached simple example code.

Qt Thread API is calling RTEMS POSIX API.

 

Best Regards,

JunBeom

 

From: ch...@kari.re.kr <ch...@kari.re.kr> 
Sent: Friday, December 28, 2018 4:05 PM
To: JunBeom Kim (EmbedCoreTech) <jb...@e-coretech.kr>
Cc: users@rtems.org
Subject: RE: RTEMS POSIX Priority Inversion Issue.

 

What is the relation between main thread and pthread1/2/3?

If the main thread has a control to wake up each pthread1/2/3, it gonna be in 
trouble when the prioirty of the main thread is lower than pthread1/2/3s 
because the main thread has never chance to run it, which is required to other 
threads.

 

However why do you assign so much long integer value to priority?

 

Cheol

--------- 원본 메일 ---------

보낸사람 : "JunBeom Kim (EmbedCoreTech)" <jb...@e-coretech.kr 
<mailto:jb...@e-coretech.kr> >
받는사람 : <users@rtems.org <mailto:users@rtems.org> >
받은날짜 : 2018-12-28 (금) 15:45:48
제목 : RTEMS POSIX Priority Inversion Issue.

Dear Sir, 

  

I am testing RTEMS POSIX thread priority. 

I am still using RTEMS 4.12 in 2017 year. 

  

There are four pthreads(main, pthread1, pthread2, pthread3) on two cores in my 
test case. 

- main pthread is running on core 1. 

- pthread1, pthread2, pthread3 is running on core 2. 

- All threads are doing GPIO toggling action in while(1) loop. 

- my configuration for timeslice quantum is 25ms. 

  

As I know from RTEMS POSIX manual, there is below statement. 

  

In the RTEMS implementation of the POSIX API, the priorities range from the low 
priority of 

sched_get_priority_min() to the highest priority of sched_get_priority_max(). 
Numerically 

higher values represent higher priorities. 

  

But, when I test this, lower value is doing as higher priority. Higher value is 
doing as lower priority. 

Is this correct operation ? 

  

Case 0) All threads are same priority. 

[/] # pthread 

ID       NAME             CPU SHED PRI STATE  MODES    EVENTS WAITINFO 

------------------------------------------------------------------------------ 

0b010001  main_thread       1 MEDF 2147483645 READY P:T:nA   NONE   

0b010002  pthread1           2 MEDF 2147483645 READY P:T:nA   NONE   

0b010003  pthread2           2 MEDF 2147483645 READY P:T:nA   NONE   

0b010004  pthread3           2 MEDF 2147483645 READY P:T:nA   NONE 



  

Case 1) pthread3 is lower priority according to manual. But, pthread3 is higher 
priority in my case. 

[/] # pthread 

ID       NAME             CPU SHED PRI STATE  MODES    EVENTS WAITINFO 

------------------------------------------------------------------------------ 

0b010001  main_thread       1 MEDF 2147483645 READY P:T:nA   NONE   

0b010002  pthread1           2 MEDF 2147483646 READY P:T:nA   NONE   

0b010003  pthread2           2 MEDF 2147483646 READY P:T:nA   NONE   

0b010004  pthread3           2 MEDF 1789569706 READY P:T:nA   NONE 



  

Case 2) pthread3 is higher priority according to manual. pthread1 and pthread2 
are higher priority than pthread3. 

[/] # pthread 

ID       NAME             CPU SHED PRI STATE  MODES    EVENTS WAITINFO 

------------------------------------------------------------------------------ 

0b010001  main_thread       1 MEDF 2147483645 READY P:T:nA   NONE   

0b010002  pthread1           2 MEDF 1789569706 READY P:T:nA   NONE   

0b010003  pthread2           2 MEDF 1789569706 READY P:T:nA   NONE   

0b010004  pthread3           2 MEDF 2147483646 READY P:T:nA   NONE 



  

Please advise. 

  

Best Regards, 

JunBeom Kim 

~~~~~~~~~~~~~~~~~~~~~~ 

President / EmbedCoreTech 

Phone: +82-31-396-5584 

Fax: +82-504-065-5720 

Mobile:+82-10-6425-5720 

Email: jb...@e-coretech.kr <mailto:jb...@e-coretech.kr>  

Web: www.e-coretech.kr <http://www.e-coretech.kr>  

~~~~~~~~~~~~~~~~~~~~~~ 

  

 

  
<https://webmail.kari.re.kr:443/checkread/MTA2NjIz/amJraW1AZS1jb3JldGVjaC5rcg==/>
 

Attachment: main.cpp
Description: Binary data

_______________________________________________
users mailing list
users@rtems.org
http://lists.rtems.org/mailman/listinfo/users

Reply via email to