RT-Thread / RT-Thread/rt-thread

ethernetif 中 tx rx线程优化

Open
#11,154 1 comment 0 reactions 0 assignees View on GitHub

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.