Skip to content

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Sign in
W
White Rabbit Switch - Gateware
  • Project
    • Project
    • Details
    • Activity
    • Cycle Analytics
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Charts
  • Issues 8
    • Issues 8
    • List
    • Board
    • Labels
    • Milestones
  • Merge Requests 1
    • Merge Requests 1
  • Wiki
    • Wiki
  • image/svg+xml
    Discourse
    • Discourse
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Commits
  • Issue Boards
  • Projects
  • White Rabbit Switch - Gateware
  • Issues
  • #4

Closed
Open
Opened Nov 22, 2016 by Grzegorz Daniluk@greg.d
  • Report abuse
  • New issue
Report abuse New issue

Improve multiport Linked List inside the Switching Core

In some situations the multiport linked list (MLL) module is a performance bottleneck of the Switching Core. This happens especially when Switching Core has to handle high priority (HP) frames. In this case, since our switch is cut-through, we have a race condition between the Input Block (IB) requesting memory pages to receive a frame and Output Block (OB) reading validated pages and sending data to the Endpoint.
If MLL is not able to provide quickly new memory page to IB, the sending FSM in OB will stall waiting for next page being completely written (or with end-of-frame bit set). If OB stalls, Tx PCS in the Endpoint can underrun and the frame is cut (as a consequence, only a fragment with incorrect CRC is received on the other side of the link).
Multiport Linked List should be re-written to be able to serve requests from all 18 ports of the switch more efficiently.

Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
No due date
1
Labels
bug
Assign labels
  • View project labels
Reference: project/wr-switch-hdl#4