Re: [PATCH 1/3] parisc: led: Reduce CPU overhead for disk & lan LED computation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 8/26/23 09:34, Greg KH wrote:
On Fri, Aug 25, 2023 at 08:09:26PM +0200, deller@xxxxxxxxxx wrote:
From: Helge Deller <deller@xxxxxx>

Older PA-RISC machines have LEDs which show the disk- and LAN-activity.
The computation is done in software and takes quite some time, e.g. on a
J6500 this may take up to 60% time of one CPU if the machine is loaded
via network traffic.

Since most people don't care about the LEDs, start with LEDs disabled and
just show a CPU heartbeat LED. The disk and LAN LEDs can be turned on
manually via /proc/pdc/led.

Signed-off-by: Helge Deller <deller@xxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx>
---
  drivers/parisc/led.c | 7 +++++--
  1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/parisc/led.c b/drivers/parisc/led.c
index 8bdc5e043831..765f19608f60 100644
--- a/drivers/parisc/led.c
+++ b/drivers/parisc/led.c
@@ -56,8 +56,8 @@
  static int led_type __read_mostly = -1;
  static unsigned char lastleds;	/* LED state from most recent update */
  static unsigned int led_heartbeat __read_mostly = 1;
-static unsigned int led_diskio    __read_mostly = 1;
-static unsigned int led_lanrxtx   __read_mostly = 1;
+static unsigned int led_diskio    __read_mostly;
+static unsigned int led_lanrxtx   __read_mostly;
  static char lcd_text[32]          __read_mostly;
  static char lcd_text_default[32]  __read_mostly;
  static int  lcd_no_led_support    __read_mostly = 0; /* KittyHawk doesn't support LED on its LCD */
@@ -589,6 +589,9 @@ int __init register_led_driver(int model, unsigned long cmd_reg, unsigned long d
  		return 1;
  	}

+	pr_info("LED: Enable disk and LAN activity LEDs "
+		"via /proc/pdc/led\n");

When drivers are working properly, they should be quiet.  Who is going
to see this message?

That patch shouldn't have gone to stable@ yet... git-send-patch just
pulled the CC in and I didn't noticed.
So, please don't apply it yet.

Anyway, yes, I can drop this info.

I don't even understand it, are you saying that you now need to go
enable the led through proc?  And why are leds in proc, I thought they
had a real class for them?  Why not use that instead?

This is an old driver from the very beginning, and I don't want to change
much in it for old kernels other than to reduce the CPU overhead it generates.

Additionally I've started a rewrite of the driver (in my for-next tree),
and I did look at the led class and led trigger classes. If it fits, I'll
convert to those, but at least for hdd activity it seems only IDE/ATA activity
is monitored and SCSI activity is missing. Anyway, this is still work-in-progress...

And finally, you shouldn't split strings across lines :)

Ok.

Thanks!
Helge




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux