Skip to content

issue: 4367367 Improvements to the XLIO Ultra API #385

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 7 commits into
base: vNext
Choose a base branch
from

Conversation

pasis
Copy link
Member

@pasis pasis commented Jul 14, 2025

Description

Minor improvements and fixes for the XLIO Ultra API.
Consistent doxygen documentation

What

Minor improvements, fixes, documentation updates

Why ?

Fixes and quality improvements

Change type

What kind of change does this PR introduce?

  • Bugfix
  • Feature
  • Code style update
  • Refactoring (no functional changes, no api changes)
  • Build related changes
  • CI related changes
  • Documentation content changes
  • Tests
  • Other

Check list

  • Code follows the style de facto guidelines of this project
  • Comments have been inserted in hard to understand places
  • Documentation has been updated (if necessary)
  • Test has been added (if possible)

@pasis pasis force-pushed the product_xlio_zc_api2 branch from 101d3a2 to 9f7e4dc Compare July 21, 2025 21:53
@pasis pasis requested a review from BasharRadya July 21, 2025 21:54
Copy link
Collaborator

@BasharRadya BasharRadya left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you please rename gtests from zc api to ultra api?

return nullptr;
}
si->set_xlio_socket(&attr);
m_p_group->add_socket(si);
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Both
m_p_group->add_socket(si);
-> set_socket
and
socket_internal
int fd2 = g_p_fd_collection->addsocket(fd, __domain, __type, check_offload);

will
m_p_sockfd_map[fd] = si;

but i guess there is no harm in that, but duplicate work.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good point, I will take a look. If this is not an issue we can leave it.

Copy link
Collaborator

@BasharRadya BasharRadya left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we use fictive fd index and close both shdaow socket / rx_epfd? i see we don't need them both for ultra api

@pasis
Copy link
Member Author

pasis commented Jul 22, 2025

Can we use fictive fd index and close both shdaow socket / rx_epfd? i see we don't need them both for ultra api

yes, with the new arch we will likely introduce eventfd and it can be used as the fd resource holder. So currently lets use either socket or epfd until eventfd is added.

@BasharRadya
Copy link
Collaborator

bot:retest

pasis added 6 commits July 23, 2025 00:43
XLIO has a feature to avoid kernel shadow socket allocation for incoming
TCP sockets. Reuse this feature for the XLIO zerocopy API sockets.

This reduces system resources consumption and pushes theoretical incoming
sockets limit from 500K to 1M per process. Note, 5T steering can provide
more strict limitation.

Signed-off-by: Dmytro Podgornyi <[email protected]>
This function updates the group attributes including the callbacks. When
listen sockets support was added the function wasn't updated with the new
callback support.

Signed-off-by: Dmytro Podgornyi <[email protected]>
xlio_buf if referenced in a event callback declaration. Define it above in
the header.

Signed-off-by: Dmytro Podgornyi <[email protected]>
@pasis pasis force-pushed the product_xlio_zc_api2 branch from 9f7e4dc to 33563bc Compare July 22, 2025 21:45
Ultra API shouldn't use locks by default unless XLIO_GROUP_FLAG_SAFE polling
group is used. Also a socket should inherit the locking scheme of the new
group during the 2-step migration.

Signed-off-by: Dmytro Podgornyi <[email protected]>
@pasis pasis requested a review from BasharRadya July 25, 2025 22:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants