Thread (23 messages) 23 messages, 6 authors, 2017-10-01

RE: [PATCH RFC 3/5] Add KSZ8795 switch driver

From: <hidden>
Date: 2017-09-29 18:56:34
Also in: lkml

On Mon 2017-09-18 20:27:13, Tristram.Ha@microchip.com wrote:
quoted
quoted
quoted
+/**
+ * Some counters do not need to be read too often because they are
less
quoted
quoted
likely
quoted
+ * to increase much.
+ */
What does comment mean? Are you caching statistics, and updating
different values at different rates?
There are 34 counters.  In normal case using generic bus I/O or PCI to read
them
quoted
is very quick, but the switch is mostly accessed using SPI, or even I2C.  As
the SPI
quoted
access is very slow and cannot run in interrupt context I keep worrying
reading
quoted
the MIB counters in a loop for 5 or more ports will prevent other critical
hardware
quoted
access from executing soon enough.  These accesses can be getting 1588
PTP
quoted
timestamps and opening/closing ports.  (RSTP Conformance Test sends test
traffic
quoted
to port supposed to be closed/opened after receiving specific RSTP
BPDU.)
Hmm. Ok, interesting.

I wonder how well this is going to work if userspace actively 'does
something' with the switch.

It seems to me that even if your statistics code is careful not to do
'a lot' of accesses at the same time, userspace can use other parts of
the driver to do the same, and thus cause same unwanted effects...
If the user calls "ethtool -S" in a tight loop the system will waste a lot of
CPU time, but this is more like a user error.
Another solution is not to schedule to read the MIB counters in that
function call.  I think I was doing a favor to update the MIB counters
sooner as the user probably wants to find out what is wrong with the
switch by reading the MIB counters and checking them several times.
For system tracking like SNMP I think it is likely a separate mechanism
is used to gather those information.  If I am wrong that function definitely
needs to be modified.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help