[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [lwip-users] TCPIP and MAC thread task priorities

From: Simon Goldschmidt
Subject: Re: [lwip-users] TCPIP and MAC thread task priorities
Date: Mon, 27 Feb 2017 15:09:25 +0100

Sylvain Rochet wrote:
>> If you set your interrupt level to be higher priority than the
>> FreeRTOS timer tick that part will never Be masked and your critical
>> section will not work as expected.
> I don't understand any of this, portENTER_CRITICAL/portEXIT_CRITICAL
> proper implementation is to disable *ALL* interrupts

To add some confusion: that's not entirely true: at least on the Cortex-M ARMs,
you can have "fast-interrupts" that are NOT masked by ENTER/EXIT_CRICITAL.
If I remember correctly, all (Cortex-M) ports I used have been setting up the
lowest/highest interrupt priority in a way that at least some interrupts were
such fast-interrupts, so there's definitively a possibility that this happens
if you configure things wrong!

Keeping that aside and answering to the OP:
There is *no* limitation in lwIP itself that imposes the requirement of specific
task priorities. The lwIP port to your OS/system can however impose this, so
there's no way for us knowing if the comment you saw is true or not.

In the end, you'll have to know which thread is more important than others.
Given the tcpip_thread/eth_thread combination, you probably have to weight TX
against RX, but that can largely depend on your application and/or driver.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]