ESP-IDF FreeRTOS scheduler issue discussion

Victoria Nope
Posts: 75
Joined: Fri Dec 04, 2020 9:56 pm

ESP-IDF FreeRTOS scheduler issue discussion

Postby Victoria Nope » Sat Jul 31, 2021 9:41 pm

Mod note: This topic was split off from here.

Don't know how much related is this, but when the scheduler is going to be fixed for skipping tasks? Is there a plan for its review?

ESP_Sprite
Posts: 8884
Joined: Thu Nov 26, 2015 4:08 am

Re: Using Multiple interrupts in esp32

Postby ESP_Sprite » Sun Aug 01, 2021 5:28 am

Yes, you should be able to use that call. Obviously, you can't feed it a function pointer as an ISR, but as long as you feed NULL as that, it should just work.

@Victoria Nope: No idea where you get that that is related. Also, there's no schedule to fix it as it only happens in very select circumstances (two unpinned tasks of the same priority that never block) and the workaround is easy, it doesn't have much priority. If you actually have an use case that runs into this limitation and can't be trivially worked around, please open a Github issue and we'll look at it.

Victoria Nope
Posts: 75
Joined: Fri Dec 04, 2020 9:56 pm

Re: Using Multiple interrupts in esp32

Postby Victoria Nope » Sun Aug 01, 2021 3:37 pm

ESP_Sprite wrote:
Sun Aug 01, 2021 5:28 am
@Victoria Nope: No idea where you get that that is related.

I was not reading throughout the whole code and topic. Sorry, too long :? I have just spotted the task implementations (especially those endless delay loops at the end, only periodicaly draining power).

ESP_Sprite wrote:
Sun Aug 01, 2021 5:28 am
Also, there's no schedule to fix it as it only happens in very select circumstances (two unpinned tasks of the same priority that never block) and the workaround is easy, it doesn't have much priority. If you actually have an use case that runs into this limitation and can't be trivially worked around, please open a Github issue and we'll look at it.

And I'm aware of this issue, just that not everyone can be. Besides, I would not pin tasks to cores, just like on any other multicore system where I would not be aware of exact core load balance. On such system scheduler may know better where is efficient to run my thread of the given priority.

I have asked because for the users can be quite easy to craft such scenario.

ESP_Sprite
Posts: 8884
Joined: Thu Nov 26, 2015 4:08 am

Re: Using Multiple interrupts in esp32

Postby ESP_Sprite » Mon Aug 02, 2021 1:01 am

Victoria Nope wrote:
Sun Aug 01, 2021 3:37 pm
I have asked because for the users can be quite easy to craft such scenario.
I disagree. It's doable to have two/three unpinned tasks of the same priority, I agree there, but they need to both/all be 1. running unblocked for a certain amount of time (but not too long, because else the task watchdog will kick in) and 2. it needs to matter that these tasks are run after each other during that time instead of in parallel. Aside from people trying to roll their own synchronization primitives using essentially spinlocks (which you shouldn't do between threads in the first place in a RTOS context), I can't see any clear use case where that would be the case. Again, if you have a counter-example, I would be mightily interested in hearing it.

(Mod note: Split off this discussion into its own topic.)


Who is online

Users browsing this forum: axellin, Baidu [Spider], limitless23, Majestic-12 [Bot] and 59 guests