Page MenuHomeFreeBSD

NTB Perf: Tool to measure performance of NTB hw drivers
Needs ReviewPublic

Authored by shreyankamartya229_gmail.com on Jan 13 2019, 10:19 AM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Apr 11, 7:51 AM
Unknown Object (File)
Wed, Apr 10, 9:16 PM
Unknown Object (File)
Mon, Apr 1, 1:13 PM
Unknown Object (File)
Mar 5 2024, 8:01 AM
Unknown Object (File)
Feb 7 2024, 2:53 PM
Unknown Object (File)
Feb 7 2024, 5:34 AM
Unknown Object (File)
Jan 19 2024, 8:41 PM
Unknown Object (File)
Jan 19 2024, 5:40 PM

Details

Reviewers
mav
cem
Group Reviewers
Core Team
Summary

NTB Perf is a performance measuring tool for NTB hardware drivers.

This is a port of ntb_perf Linux tool for FreeBSD. It has been tested with AMD NTB hardware driver.

Test Plan

A guide to test is included in ntb_perf.c comments.

Diff Detail

Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 28041
Build 26192: arc lint + arc unit

Event Timeline

Added write combining for memory window for improved performance
Remove submit_test_callout with an alternate method to check test completion
Add sysctl node under debug tree for NTB Perf

@mav : Reminder to please review this change when you get a chance. Thanks.

@mav, @cem, @imp : Please review this change and provide feedback. Thanks.

I'm afraid I don't have time to review this, sorry. CCing Ed, who might be able to round someone up.

@emaste: Reminder to find a reviewer for this change please. Thanks.

Can you provide a link to the original source file, and make a second review (or link to a diff) that shows the delta between upstream and your ported version?

@emaste : Here's a link to the linux ntb_perf tool which I've used for porting: ntb_perf
Did you mean a delta between linux upstream and my ported version? If yes, find it here D20697
If this is not what you requested, please let me know.

@emaste : Reminder to review/find a reviewer for this change, please.

Have you tried to run this code on debug kernel? On fresh head with INVARIANTS, WITNESS, etc. it complains and crashes immediately on attempt to sleep under mutex in many places (sysctl, memory allocations, etc).

The code also seems to not build on i386. I haven't looked close, but when I tried to build other thing, it failed.

Fix build errors for i386 and remove unecessary locks.
@mav: Apologies for the delay. I have not been able to get my hands on the ntb setup to test this thoroughly. However, I did fix the warnings and build errors. I will try once the setup is available.
Please try this on your setup and let me know if you face any issues.

Any updates on this (from either side)?