lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <7f231ac1-69de-43ce-a9f6-23beade42fc8@intel.com>
Date: Tue, 4 Mar 2025 14:32:43 +0200
From: Mathias Nyman <mathias.nyman@...el.com>
To: raoxu <raoxu@...ontech.com>, gregkh@...uxfoundation.org
Cc: linux-usb@...r.kernel.org, linux-kernel@...r.kernel.org,
 wangyuli@...ontech.com, zhanjun@...ontech.com
Subject: Re: [PATCH V2] usb: xhci: Add debugfs support for xHCI port bandwidth

On 3.3.2025 12.56, raoxu wrote:
> From: Xu Rao <raoxu@...ontech.com>
> 
> In many projects, you need to obtain the available bandwidth of the
> xhci roothub port. Refer to xhci rev1_2 and use the TRB_GET_BW
> command to obtain it.
> 
> hardware tested:
> 03:00.3 USB controller: Advanced Micro Devices, Inc. [AMD] Raven USB 3.1
> (prog-if 30 [XHCI])
> Subsystem: Huawei Technologies Co., Ltd. Raven USB 3.1
> Flags: bus master, fast devsel, latency 0, IRQ 30
> Memory at c0300000 (64-bit, non-prefetchable) [size=1M]
> Capabilities: [48] Vendor Specific Information: Len=08 <?>
> Capabilities: [50] Power Management version 3
> Capabilities: [64] Express Endpoint, MSI 00
> Capabilities: [a0] MSI: Enable- Count=1/8 Maskable- 64bit+
> Capabilities: [c0] MSI-X: Enable+ Count=8 Masked-
> Kernel driver in use: xhci_hcd
> 
> test progress:
> 1.cd /sys/kernel/debug/usb/xhci/0000:03:00.3
> cat port_bandwidth
> /sys/kernel/debug/usb/xhci/0000:03:00.3# cat port_bandwidth
> port[1] available bw: 79%.
> port[2] available bw: 79%.
> port[3] available bw: 79%.
> port[4] available bw: 79%.
> port[5] available bw: 90%.
> port[6] available bw: 90%.
> port[7] available bw: 90%.
> port[8] available bw: 90%.
> 2.plug in usb video cammer open it
> cat port_bandwidth
> port[1] available bw: 39%.
> port[2] available bw: 39%.
> port[3] available bw: 39%.
> port[4] available bw: 39%.
> port[5] available bw: 90%.
> port[6] available bw: 90%.
> port[7] available bw: 90%.
> port[8] available bw: 90%.
> 
> Signed-off-by: Xu Rao <raoxu@...ontech.com>

Thanks Xy Rao,
Nice to see support for 'Get Port Bandwidth' feature in xhci.

I do however have some larger rework suggestions to this.

Instead of queuing three commands on one file read, parsing and
copy the content from each context dma into an array on stack, we could
have separate files in debugfs for each speed, and queue one command
for each. we could also skip the array on stack and print values from context
directly.

Something is also very off with the locks in this patch.
Looks like every lock/unlock got replaced with an unlock

Thanks
Mathias


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ