Messages in this thread | | | Subject | Re: [ISSUE] Memleak in LED sysfs on heavy usage | From | Daniel Gorsulowski <> | Date | Fri, 16 Sep 2016 14:08:34 +0200 |
| |
Hi Jacek,
Am 16.09.2016 um 13:25 schrieb Jacek Anaszewski: > On 09/16/2016 10:15 AM, Daniel Gorsulowski wrote: >> Hi Jacek, >> >> Am 16.09.2016 um 09:31 schrieb Jacek Anaszewski: >>> Hi Daniel, >>> >>> On 09/12/2016 10:50 AM, Daniel Gorsulowski wrote: >>>> Hello! >>>> >>>> Please consider if I made something wrong, sending this issue. This is >>>> my first contact to the LKML. >>>> By mistake, I accessed an LED via /sys/class/leds subsystem very fast in >>>> an user application. I figured out, that the free user memory decreased >>>> constantly. So I tried to analyze the Problem and wrote a litte script: >>>> >>>> #!/bin/sh >>>> while [ 1 ]; do >>>> echo 1 > /sys/class/leds/2a_service_yellow/brightness >>>> echo 0 > /sys/class/leds/2a_service_yellow/brightness >>>> done >>>> >>>> And voila, I was able to reproduce the problem. >>>> So I add a bit more debugging: >>>> >>>> #!/bin/sh >>>> cnt=0 >>>> while [ 1 ]; do >>>> if [ `expr $cnt % 1000` -eq 0 ]; then >>>> free | grep Mem: | cut -d' ' -f25 >>>> fi >>>> echo 1 > /sys/class/leds/2a_service_yellow/brightness >>>> echo 0 > /sys/class/leds/2a_service_yellow/brightness >>>> let "cnt++" >>>> done >>>> >>>> And huh? No memory is eaten anymore. So it looks like, the problem only >>>> occours on heavy (fast) usage of /sys/class/leds subsystem. >>>> >>>> I rewrote the script and toggled a GPIO pin, but there was no problem >>>> recognizable. >>> >>> I've been unable to reproduce the problem with leds-aat1290 driver >>> and Samsung M0 board. It must be driver specific issue. >>> What driver did you use? >>> >> I defined LEDS_GPIO and so I'm using leds-gpio driver. >> danielg@debby:~/opt/prj/ti-linux-kernel$ cat .config | grep LEDS | grep >> -v "^# " >> CONFIG_INPUT_LEDS=y >> CONFIG_NEW_LEDS=y >> CONFIG_LEDS_CLASS=y >> CONFIG_LEDS_GPIO=y >> CONFIG_LEDS_TRIGGERS=y >> CONFIG_LEDS_TRIGGER_TIMER=y >> CONFIG_LEDS_TRIGGER_ONESHOT=y >> CONFIG_LEDS_TRIGGER_HEARTBEAT=y >> CONFIG_LEDS_TRIGGER_GPIO=y >> CONFIG_LEDS_TRIGGER_DEFAULT_ON=y >> CONFIG_LEDS_TRIGGER_TRANSIENT=y >> > > Unfortunately I am still unable to reproduce the problem with leds-gpio. > I'm not observing any heavy usage with your test case: > > ~#free > total used free shared buffers cached > Mem: 1028092 61364 966728 0 8416 22396 > -/+ buffers/cache: 30552 997540 > Swap: 0 0 0 > > > Actually you didn't give any numbers. What kernel version are you using? > As I wrote, the problems occurred in vanilla 4.6 kernel, but also in 4.4 kernel (with PREEMPT-RT Patchset).
Kind regards, Daniel
| |