RT-Thread / RT-Thread/rt-thread
ethernetif 中 tx rx线程优化
Open
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 12.2k
- Forks
- 5.4k
- Avg merge
- 4d 12h
- Merged PRs (30d)
- 40
Description
Describe problem solved by the proposed feature
当前 eth tx rx采用了消息+线程的形式,但是,当使用多网卡的时候,如果前一个网卡在阻塞,会影响下一个网卡的通信。
此外,lwip 在 2.0以后,增加了 LWIP_TCPIP_CORE_LOCKING,表示不使用 lwip 内置的tcpip线程,而是直接由 output 函数控制,省去消息带来的延迟,提高性能,但是 rtt eth 适配中,又加回了这种模式,应该考虑删除。
最后,rx线程也应该每个网卡一个线程
Describe your preferred solution
No response
Describe possible alternatives
No response
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the ethernetif TX/RX thread implementation and the lwIP LWIP_TCPIP_CORE_LOCKING integration. Reproduce the multi-NIC case where one blocked interface delays another, then verify that interfaces communicate independently, RX handling is per-interface, and redundant message-thread latency is removed.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- embedded-iot, networking
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100