forked from Minki/linux
396ae57ef1
Counter values for per-channel interrupts and ring buffer full conditions are useful for investigating performance. Expose counters in sysfs for 2 types of guest to host interrupts: 1) Interrupts caused by the channel's outbound ring buffer transitioning from empty to not empty 2) Interrupts caused by the channel's inbound ring buffer transitioning from full to not full while a packet is waiting for enough buffer space to become available Expose 2 counters in sysfs for the number of times that write operations encountered a full outbound ring buffer: 1) The total number of write operations that encountered a full condition 2) The number of write operations that were the first to encounter a full condition Increment the outbound full condition counters in the hv_ringbuffer_write() function because, for most drivers, a full outbound ring buffer is detected in that function. Also increment the outbound full condition counters in the set_channel_pending_send_size() function. In the hv_sock driver, a full outbound ring buffer is detected and set_channel_pending_send_size() is called before hv_ringbuffer_write() is called. I tested this patch by confirming that the sysfs files were created and observing the counter values. The values seemed to increase by a reasonable amount when the Hyper-v related drivers were in use. Signed-off-by: Kimberly Brown <kimbrownkd@gmail.com> Reviewed-by: Michael Kelley <mikelley@microsoft.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
182 lines
6.2 KiB
Plaintext
182 lines
6.2 KiB
Plaintext
What: /sys/bus/vmbus/devices/<UUID>/id
|
|
Date: Jul 2009
|
|
KernelVersion: 2.6.31
|
|
Contact: K. Y. Srinivasan <kys@microsoft.com>
|
|
Description: The VMBus child_relid of the device's primary channel
|
|
Users: tools/hv/lsvmbus
|
|
|
|
What: /sys/bus/vmbus/devices/<UUID>/class_id
|
|
Date: Jul 2009
|
|
KernelVersion: 2.6.31
|
|
Contact: K. Y. Srinivasan <kys@microsoft.com>
|
|
Description: The VMBus interface type GUID of the device
|
|
Users: tools/hv/lsvmbus
|
|
|
|
What: /sys/bus/vmbus/devices/<UUID>/device_id
|
|
Date: Jul 2009
|
|
KernelVersion: 2.6.31
|
|
Contact: K. Y. Srinivasan <kys@microsoft.com>
|
|
Description: The VMBus interface instance GUID of the device
|
|
Users: tools/hv/lsvmbus
|
|
|
|
What: /sys/bus/vmbus/devices/<UUID>/channel_vp_mapping
|
|
Date: Jul 2015
|
|
KernelVersion: 4.2.0
|
|
Contact: K. Y. Srinivasan <kys@microsoft.com>
|
|
Description: The mapping of which primary/sub channels are bound to which
|
|
Virtual Processors.
|
|
Format: <channel's child_relid:the bound cpu's number>
|
|
Users: tools/hv/lsvmbus
|
|
|
|
What: /sys/bus/vmbus/devices/<UUID>/device
|
|
Date: Dec. 2015
|
|
KernelVersion: 4.5
|
|
Contact: K. Y. Srinivasan <kys@microsoft.com>
|
|
Description: The 16 bit device ID of the device
|
|
Users: tools/hv/lsvmbus and user level RDMA libraries
|
|
|
|
What: /sys/bus/vmbus/devices/<UUID>/vendor
|
|
Date: Dec. 2015
|
|
KernelVersion: 4.5
|
|
Contact: K. Y. Srinivasan <kys@microsoft.com>
|
|
Description: The 16 bit vendor ID of the device
|
|
Users: tools/hv/lsvmbus and user level RDMA libraries
|
|
|
|
What: /sys/bus/vmbus/devices/<UUID>/numa_node
|
|
Date: Jul 2018
|
|
KernelVersion: 4.19
|
|
Contact: Stephen Hemminger <sthemmin@microsoft.com>
|
|
Description: This NUMA node to which the VMBUS device is
|
|
attached, or -1 if the node is unknown.
|
|
|
|
What: /sys/bus/vmbus/devices/<UUID>/channels/<N>
|
|
Date: September. 2017
|
|
KernelVersion: 4.14
|
|
Contact: Stephen Hemminger <sthemmin@microsoft.com>
|
|
Description: Directory for per-channel information
|
|
NN is the VMBUS relid associtated with the channel.
|
|
|
|
What: /sys/bus/vmbus/devices/<UUID>/channels/<N>/cpu
|
|
Date: September. 2017
|
|
KernelVersion: 4.14
|
|
Contact: Stephen Hemminger <sthemmin@microsoft.com>
|
|
Description: VCPU (sub)channel is affinitized to
|
|
Users: tools/hv/lsvmbus and other debugging tools
|
|
|
|
What: /sys/bus/vmbus/devices/<UUID>/channels/<N>/cpu
|
|
Date: September. 2017
|
|
KernelVersion: 4.14
|
|
Contact: Stephen Hemminger <sthemmin@microsoft.com>
|
|
Description: VCPU (sub)channel is affinitized to
|
|
Users: tools/hv/lsvmbus and other debugging tools
|
|
|
|
What: /sys/bus/vmbus/devices/<UUID>/channels/<N>/in_mask
|
|
Date: September. 2017
|
|
KernelVersion: 4.14
|
|
Contact: Stephen Hemminger <sthemmin@microsoft.com>
|
|
Description: Host to guest channel interrupt mask
|
|
Users: Debugging tools
|
|
|
|
What: /sys/bus/vmbus/devices/<UUID>/channels/<N>/latency
|
|
Date: September. 2017
|
|
KernelVersion: 4.14
|
|
Contact: Stephen Hemminger <sthemmin@microsoft.com>
|
|
Description: Channel signaling latency
|
|
Users: Debugging tools
|
|
|
|
What: /sys/bus/vmbus/devices/<UUID>/channels/<N>/out_mask
|
|
Date: September. 2017
|
|
KernelVersion: 4.14
|
|
Contact: Stephen Hemminger <sthemmin@microsoft.com>
|
|
Description: Guest to host channel interrupt mask
|
|
Users: Debugging tools
|
|
|
|
What: /sys/bus/vmbus/devices/<UUID>/channels/<N>/pending
|
|
Date: September. 2017
|
|
KernelVersion: 4.14
|
|
Contact: Stephen Hemminger <sthemmin@microsoft.com>
|
|
Description: Channel interrupt pending state
|
|
Users: Debugging tools
|
|
|
|
What: /sys/bus/vmbus/devices/<UUID>/channels/<N>/read_avail
|
|
Date: September. 2017
|
|
KernelVersion: 4.14
|
|
Contact: Stephen Hemminger <sthemmin@microsoft.com>
|
|
Description: Bytes available to read
|
|
Users: Debugging tools
|
|
|
|
What: /sys/bus/vmbus/devices/<UUID>/channels/<N>/write_avail
|
|
Date: September. 2017
|
|
KernelVersion: 4.14
|
|
Contact: Stephen Hemminger <sthemmin@microsoft.com>
|
|
Description: Bytes available to write
|
|
Users: Debugging tools
|
|
|
|
What: /sys/bus/vmbus/devices/<UUID>/channels/<N>/events
|
|
Date: September. 2017
|
|
KernelVersion: 4.14
|
|
Contact: Stephen Hemminger <sthemmin@microsoft.com>
|
|
Description: Number of times we have signaled the host
|
|
Users: Debugging tools
|
|
|
|
What: /sys/bus/vmbus/devices/<UUID>/channels/<N>/interrupts
|
|
Date: September. 2017
|
|
KernelVersion: 4.14
|
|
Contact: Stephen Hemminger <sthemmin@microsoft.com>
|
|
Description: Number of times we have taken an interrupt (incoming)
|
|
Users: Debugging tools
|
|
|
|
What: /sys/bus/vmbus/devices/<UUID>/channels/<N>/subchannel_id
|
|
Date: January. 2018
|
|
KernelVersion: 4.16
|
|
Contact: Stephen Hemminger <sthemmin@microsoft.com>
|
|
Description: Subchannel ID associated with VMBUS channel
|
|
Users: Debugging tools and userspace drivers
|
|
|
|
What: /sys/bus/vmbus/devices/<UUID>/channels/<N>/monitor_id
|
|
Date: January. 2018
|
|
KernelVersion: 4.16
|
|
Contact: Stephen Hemminger <sthemmin@microsoft.com>
|
|
Description: Monitor bit associated with channel
|
|
Users: Debugging tools and userspace drivers
|
|
|
|
What: /sys/bus/vmbus/devices/<UUID>/channels/<N>/ring
|
|
Date: January. 2018
|
|
KernelVersion: 4.16
|
|
Contact: Stephen Hemminger <sthemmin@microsoft.com>
|
|
Description: Binary file created by uio_hv_generic for ring buffer
|
|
Users: Userspace drivers
|
|
|
|
What: /sys/bus/vmbus/devices/<UUID>/channels/<N>/intr_in_full
|
|
Date: February 2019
|
|
KernelVersion: 5.0
|
|
Contact: Michael Kelley <mikelley@microsoft.com>
|
|
Description: Number of guest to host interrupts caused by the inbound ring
|
|
buffer transitioning from full to not full while a packet is
|
|
waiting for buffer space to become available
|
|
Users: Debugging tools
|
|
|
|
What: /sys/bus/vmbus/devices/<UUID>/channels/<N>/intr_out_empty
|
|
Date: February 2019
|
|
KernelVersion: 5.0
|
|
Contact: Michael Kelley <mikelley@microsoft.com>
|
|
Description: Number of guest to host interrupts caused by the outbound ring
|
|
buffer transitioning from empty to not empty
|
|
Users: Debugging tools
|
|
|
|
What: /sys/bus/vmbus/devices/<UUID>/channels/<N>/out_full_first
|
|
Date: February 2019
|
|
KernelVersion: 5.0
|
|
Contact: Michael Kelley <mikelley@microsoft.com>
|
|
Description: Number of write operations that were the first to encounter an
|
|
outbound ring buffer full condition
|
|
Users: Debugging tools
|
|
|
|
What: /sys/bus/vmbus/devices/<UUID>/channels/<N>/out_full_total
|
|
Date: February 2019
|
|
KernelVersion: 5.0
|
|
Contact: Michael Kelley <mikelley@microsoft.com>
|
|
Description: Total number of write operations that encountered an outbound
|
|
ring buffer full condition
|
|
Users: Debugging tools
|