kaloz / mwlwifi

mac80211 driver for the Marvell 88W8864 802.11ac chip
395 stars 119 forks source link

Increased memory usage on WRT3200ACM #152

Closed admiral0 closed 7 years ago

admiral0 commented 7 years ago

Hello,

I noticed that the 3200 has a "resting" memory usage of 190Mb RAM. When I start transfering data heavily (300 MBits/s) it starts to use more memory until the system reboots.

  1. Any tips on how to debug this without a serial console on lede?
  2. This doesn't look like a memory leak, because it goes back to "resting" values if I stop transfering.

More info. I am running lede trunk, and latest master from this repo.

Fr3DBr commented 7 years ago

@Chadster766 do you know when Linksys will push a firmware with this update ? It is very important for WRT3200 customers.

Chadster766 commented 7 years ago

Linksys engineering doesn't provide me with firmware release ETAs.

AFAIK the Linksys firmware wireless driver isn't the same as this one.

Fr3DBr commented 7 years ago

@Chadster766 I know, but the stock linksys firmware, also have multiple issues even with latest firmware. So just guessing if they would update it soon. (My friend has a WRT 3200 that requires to be rebooted every 24 hours due to a freezing issue, maybe related with this memory usage issue...).

kb3tbx commented 7 years ago

Getting back to the Open-Source driver, mwlwifi AFAIK (which is little) this is OK lede capture

used my easy tests, as before, using both radios - nothing funky w/ memory use

Thank you for tracking it down.

yuhhaurlin commented 7 years ago

If there is no negative test result until next week, I will close this issue. Thanks.

s-pimenta commented 7 years ago

Running my WRT3200ACM for nearly 2 days without issues using Firmware: DD-WRT v3.0-r32014 std (05/12/17)

I've got alot of this messages in Syslog, I have my 5Ghz in channel 52 which is a DFS channel, this is just an information of changing the frequency?

I cannot confirm of issues during this time because I was slepping...

Sorry for not talking about the subject.

May 13 07:46:20 DD-WRT user.notice : ddcrda: set phy2 -5650
May 13 07:46:20 DD-WRT user.notice : ddcrda: set phy2 -5655
May 13 07:46:20 DD-WRT user.notice : ddcrda: set phy2 -5665
May 13 07:46:20 DD-WRT user.notice : ddcrda: set phy2 -5670
May 13 07:46:20 DD-WRT user.notice : ddcrda: set phy2 -5675
May 13 07:46:20 DD-WRT user.notice : ddcrda: set phy2 -5685
May 13 07:46:20 DD-WRT user.notice : ddcrda: set phy2 -5690
May 13 07:46:20 DD-WRT user.notice : ddcrda: set phy2 -5695
May 13 07:46:20 DD-WRT user.notice : ddcrda: set phy2 -5705
May 13 07:46:20 DD-WRT user.notice : ddcrda: set phy2 -5710
May 13 07:46:20 DD-WRT user.notice : ddcrda: set phy2 -5715
May 13 07:46:20 DD-WRT user.notice : ddcrda: set phy2 -5750
May 13 07:46:20 DD-WRT user.notice : ddcrda: set phy2 -5755
May 13 07:46:20 DD-WRT user.notice : ddcrda: set phy2 -5760
May 13 07:46:20 DD-WRT user.notice : ddcrda: set phy2 -5770
May 13 07:46:20 DD-WRT user.notice : ddcrda: set phy2 -5775
May 13 07:46:20 DD-WRT user.notice : ddcrda: set phy2 -5780
May 13 07:46:20 DD-WRT user.notice : ddcrda: set phy2 -5790
May 13 07:46:20 DD-WRT user.notice : ddcrda: set phy2 -5795
May 13 07:46:20 DD-WRT user.notice : ddcrda: set phy2 -5800
May 13 07:46:20 DD-WRT user.notice : ddcrda: set phy2 -5810
May 13 07:46:20 DD-WRT user.notice : ddcrda: set phy2 -5815
May 13 07:46:20 DD-WRT user.notice : ddcrda: set phy2 -5820
farchord commented 7 years ago

Almost 24 hours up here and everything's good, love this driver! :)

yuhhaurlin commented 7 years ago

@s-pimenta The message is not from mwlwifi. BTW, I think mwlwifi is running for phy0 and phy1.

yuhhaurlin commented 7 years ago

@adi-brasov What do you mean closing?

yuhhaurlin commented 7 years ago

It is possible that client does not seed out deauthentication or disassociation . I will check inactivity checking If the device still exist after 300 seconds?

yuhhaurlin commented 7 years ago

O.K. I will check inactivity checking. Thanks.

kb3tbx commented 7 years ago

using it on 5ghz -> conn stays on. the led activity on 5ghz is on after more 300 sec , in fact it never turn off until I turn off wifi on router.

@adi-brosov: which 5ghz radio do you speak of? My Radio0 works. I switch a 5gig client to 2.4 (Radio1) and one LED goes out right away. I do not use Radio2! If I unplug a USB dongle from a laptop running at 5Ghz, the LED on WRT3200ACM goes out in under a minute.

Though, this should be made a new thread.

aaron1959 commented 7 years ago

"It is possible that client does not seed out de-authentication or disassociation"

aaron1959 commented 7 years ago

So are you absolutely sure the 'client' itself is acting the same on both bands? ie. deauth or dis? Basically the same question again waiting for your answer.

ValCher1961 commented 7 years ago

Somehow this does not apply to memory

aaron1959 commented 7 years ago

Yep yuhhaurlin started answering him but you are correct I don't think it belongs here. sorry for responding myself.

yuhhaurlin commented 7 years ago

The problem is easy to check, I will check it later. It is better to create another issue to track it.

yuhhaurlin commented 7 years ago

Since there is no negative test result about this issue. I close it now. About inactivity checking, I will check it later.

kb3tbx commented 7 years ago

I concur!

better than 6 days uptime here

uptime capture

yuhhaurlin commented 7 years ago

Yes. This fix is also applies to proprietary driver and the same problem is also gone. The driver is pretty stable now. Thanks all your help.

alexsmartens commented 5 years ago

Hi all, I’m also seeing ~180 Mb ram usage after a clean install of both OpenWrt and DD-Wrt into my new wrt3200. I’m a newbie in these systems, but this doesn’t seem right. Can someone give a recommendation of how to fix this?

eduperez commented 5 years ago

A high memory usage is not necessarily an issue, there are circumstances where it could be normal or even desirable: https://jameshfisher.com/2017/11/29/unix-free-used/

On the other hand, as other users around here have not had this kind of issue, even if this is an issue, it's unlikely to be caused by these drivers.

TL;DR: We need more details!

inteliboy commented 5 years ago

If you unload or completely remove the mwlwifi driver you will see that the RAM usage drops to about what you would expect. On my case around 30MB.

pt., 27 wrz 2019, 08:20 użytkownik Eduardo Pérez notifications@github.com napisał:

A high memory usage is not necessarily an issue, there are circumstances where it could be normal or even desirable: https://jameshfisher.com/2017/11/29/unix-free-used/

On the other hand, as other users around here have not had this kind of issue, even if this is an issue, it's unlikely to be caused by these drivers.

TL;DR: We need more details!

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/kaloz/mwlwifi/issues/152?email_source=notifications&email_token=AAA32BKX3QTGZN6NLJGTPPTQLWQZJA5CNFSM4DJRSVK2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD7X3WDI#issuecomment-535804685, or mute the thread https://github.com/notifications/unsubscribe-auth/AAA32BIWQCESOAZVABZC4LLQLWQZJANCNFSM4DJRSVKQ .

eduperez commented 5 years ago

Could you compare the output of lsmod and ps before and after removing the drivers, please? This will give us a better idea of where is that memory going.

inteliboy commented 5 years ago

mwlwifi loaded

==========================================================

     ___  ___     _      _____  ______       ____  ___
    / _ \/ _ \___| | /| / / _ \/_  __/ _  __|_  / / _ \
   / // / // /___/ |/ |/ / , _/ / /   | |/ //_ <_/ // /
  /____/____/    |__/|__/_/|_| /_/    |___/____(_)___/

                       DD-WRT v3.0
                   http://www.dd-wrt.com

==========================================================

BusyBox v1.31.0 (2019-08-31 01:17:01 CEST) built-in shell (ash)

root@linksys:~# lsmod
Module                  Size  Used by
nf_nat_pptp             1712  0
nf_conntrack_pptp       3235  1 nf_nat_pptp
nf_nat_proto_gre         993  1 nf_nat_pptp
nf_conntrack_proto_gre     2783  1 nf_conntrack_pptp
wireguard             104092  0
ip_tunnel              11391  0
ip6_udp_tunnel          1463  1 wireguard
udp_tunnel              2217  1 wireguard
ipv6                  284282 45 wireguard,[permanent]
fast_classifier       139903  0
ext4                  332678  1
jbd2                   52716  1 ext4
mbcache                 3859  2 ext4
f2fs                  191680  1
crc32_generic           1321  1
ledtrig_usbport         2228  0
pwrseq_simple           1797  0
pwrseq_emmc             1648  0
ahci_mvebu              1911  0
ahci_platform           2807  0
ahci                   13895  0
libahci_platform        4560  2 ahci_mvebu,ahci_platform
libahci                18611  4 ahci_mvebu,ahci_platform,ahci,libahci_platform
ehci_orion              2570  0
sata_mv                24862  0
usb_storage            37426  2
sd_mod                 25395  4
xhci_plat_hcd           5336  0
xhci_pci                2760  0
xhci_hcd               83307  2 xhci_plat_hcd,xhci_pci
ehci_pci                2973  0
ehci_platform           4758  0
ehci_hcd               33271  3 ehci_orion,ehci_pci,ehci_platform
usbcore               129542 10 ledtrig_usbport,ehci_orion,usb_storage,xhci_plat_hcd,xhci_pci,xhci_hcd,ehci_pci,ehci_platform,ehci_hcd
usb_common              2481  1 usbcore
btmrvl_sdio            12519  0
btmrvl                  8843  1 btmrvl_sdio
bluetooth             248365  3 btmrvl_sdio,btmrvl
mvsdio                  6520  0
sdhci_pxav3             4124  0
sdhci_pltfm             2460  1 sdhci_pxav3
sdhci                  24553  2 sdhci_pxav3,sdhci_pltfm
mmc_block              23476  0
mmc_core               80380  7 pwrseq_simple,pwrseq_emmc,btmrvl_sdio,mvsdio,sdhci_pxav3,sdhci,mmc_block
mwlwifi               138104  0
mac80211              604746  1 mwlwifi
compat                  5707  4 btmrvl_sdio,bluetooth,mwlwifi,mac80211
mii                     3564  0
tmp421                  2356  0
pwm_fan                 3376  0
leds_pca963x            4084  0
leds_tlc591xx           2592  0
orion_wdt               5632  1

root@linksys:~# ps
  PID USER       VSZ STAT COMMAND
    1 root       972 S    /sbin/init earlyprintk
    2 root         0 SW   [kthreadd]
    3 root         0 SW   [ksoftirqd/0]
    4 root         0 SW   [kworker/0:0]
    5 root         0 SW<  [kworker/0:0H]
    6 root         0 SW   [kworker/u4:0]
    7 root         0 SW   [rcu_sched]
    8 root         0 SW   [rcu_bh]
    9 root         0 SW   [migration/0]
   10 root         0 SW<  [lru-add-drain]
   11 root         0 SW   [cpuhp/0]
   12 root         0 SW   [cpuhp/1]
   13 root         0 SW   [migration/1]
   14 root         0 SW   [ksoftirqd/1]
   15 root         0 SW   [kworker/1:0]
   16 root         0 SW<  [kworker/1:0H]
   17 root         0 SW<  [netns]
   18 root         0 SW   [kworker/u4:1]
   20 root         0 SW   [kworker/u4:2]
  210 root         0 SW   [oom_reaper]
  211 root         0 SW<  [writeback]
  213 root         0 SW<  [crypto]
  214 root         0 SW<  [bioset]
  216 root         0 SW<  [kblockd]
  224 root         0 SW<  [ata_sff]
  241 root         0 SW<  [watchdogd]
  256 root         0 SW   [kworker/0:1]
  281 root         0 SW   [kswapd0]
  282 root         0 SW<  [vmstat]
  398 root         0 SW<  [bioset]
  403 root         0 SW<  [bioset]
  408 root         0 SW<  [bioset]
  413 root         0 SW<  [bioset]
  418 root         0 SW<  [bioset]
  423 root         0 SW<  [bioset]
  428 root         0 SW<  [bioset]
  433 root         0 SW<  [bioset]
  438 root         0 SW<  [bioset]
  443 root         0 SW<  [bioset]
  448 root         0 SW<  [bioset]
  523 root         0 SW   [irq/39-f1090000]
  524 root         0 SW   [irq/40-f1090000]
  544 root         0 SW   [kworker/1:1]
  560 root         0 SW   [ubi_bgt0d]
  561 root         0 SW<  [bioset]
  567 root         0 SW   [kworker/0:2]
  568 root         0 SW   [kworker/0:3]
  569 root         0 SW<  [kworker/1:1H]
  570 root         0 SW   [kworker/1:2]
  571 root         0 SW   [kworker/1:3]
  572 root         0 SW   [kworker/1:4]
  577 root         0 SW<  [kworker/0:1H]
  966 root       740 S    /sbin/hotplug2 --set-rules-file /etc/hotplug2.rules --persistent
  970 root       780 S    /sbin/mstpd
  977 root      1700 S    watchdog
 1001 root         0 SW<  [cfg80211]
 1014 root         0 SW   [irq/44-mmc0]
 1019 root         0 SW<  [kworker/u5:0]
 1023 root         0 SW   [btmrvl_main_ser]
 1024 root         0 SW<  [hci0]
 1025 root         0 SW<  [hci0]
 1026 root         0 SW<  [kworker/u5:1]
 1027 root         0 SW<  [kworker/u5:2]
 1091 root         0 SW   [scsi_eh_0]
 1092 root         0 SW<  [scsi_tmf_0]
 1093 root         0 SW   [scsi_eh_1]
 1094 root         0 SW<  [scsi_tmf_1]
 1131 root         0 SW   [scsi_eh_2]
 1133 root         0 SW<  [scsi_tmf_2]
 1134 root         0 SW   [usb-storage]
 1138 root         0 SW   [scsi_eh_3]
 1140 root         0 SW<  [scsi_tmf_3]
 1141 root         0 SW   [usb-storage]
 1176 root         0 SW<  [bioset]
 1198 root         0 SW<  [bioset]
 1301 root         0 SW   [f2fs_flush-8:1]
 1307 root         0 SW   [f2fs_gc-8:1]
 1344 root         0 SW   [jbd2/sdb1-8]
 1345 root         0 SW<  [ext4-rsv-conver]
 1443 root      1316 S    syslogd -Z -L
 1468 root      1064 S    dropbear -b /tmp/loginprompt -r /tmp/root/.ssh/ssh_host_rsa_key -p 22
 1477 root         0 SW<  [ipv6_addrconf]
 1632 root      1700 S    ttraff
 1643 root      1372 S    resetbutton
 1645 root      2564 S    startservice_f modules_wait
 1873 root       708 S    cron
 1948 root      4072 S    lighttpd -f /mnt/sda1/ssd/lighttpd/lighttpd.conf
 1950 root      154m S    /usr/bin/php-cgi
 1985 root      3804 S    smartd
 2059 root      1316 S    udhcpc -i eth0 -p /var/run/udhcpc.pid -s /tmp/udhcpc -O routes -O msstaticroutes -O staticroutes -H linksys
 2087 root      1716 S    dnsmasq -u root -g root --conf-file=/tmp/dnsmasq.conf
 2092 root      1312 S    upnp -D -W eth0
 2095 root      1596 S    wland
 2096 root      1700 S    process_monitor
 2110 root      154m S    /usr/bin/php-cgi
 2126 root         0 SW<  [wg-crypt-oet1]
 2285 root      4884 S    httpd -p 80
 2296 root      2348 S    /usr/sbin/smbd -D --configfile=/tmp/smb.conf
 2298 root      2160 S    /usr/sbin/nmbd -D --configfile=/tmp/smb.conf
 2322 root      6260 S    transmissiond --config-dir /mnt/sda1/ssd/transmission_config
 2336 root      1124 S    dropbear -b /tmp/loginprompt -r /tmp/root/.ssh/ssh_host_rsa_key -p 22
 2338 root      1316 S    -sh
 2343 root      1316 R    ps

root@linksys:~# free -m
              total        used        free      shared  buff/cache   available
Mem:         511860      201832      259420        2376       50608      186876
Swap:             0           0           0

mwlwifi removed

==========================================================

     ___  ___     _      _____  ______       ____  ___
    / _ \/ _ \___| | /| / / _ \/_  __/ _  __|_  / / _ \
   / // / // /___/ |/ |/ / , _/ / /   | |/ //_ <_/ // /
  /____/____/    |__/|__/_/|_| /_/    |___/____(_)___/

                       DD-WRT v3.0
                   http://www.dd-wrt.com

==========================================================

BusyBox v1.31.0 (2019-08-31 01:17:01 CEST) built-in shell (ash)

root@linksys:~# lsmod
Module                  Size  Used by
nf_nat_pptp             1712  0
nf_conntrack_pptp       3235  1 nf_nat_pptp
nf_nat_proto_gre         993  1 nf_nat_pptp
nf_conntrack_proto_gre     2783  1 nf_conntrack_pptp
wireguard             104092  0
ip_tunnel              11391  0
ip6_udp_tunnel          1463  1 wireguard
udp_tunnel              2217  1 wireguard
ipv6                  284282 27 wireguard,[permanent]
fast_classifier       139903  0
ext4                  332678  1
jbd2                   52716  1 ext4
mbcache                 3859  2 ext4
f2fs                  191680  1
crc32_generic           1321  1
ledtrig_usbport         2228  0
pwrseq_simple           1797  0
pwrseq_emmc             1648  0
ahci_mvebu              1911  0
ahci_platform           2807  0
ahci                   13895  0
libahci_platform        4560  2 ahci_mvebu,ahci_platform
libahci                18611  4 ahci_mvebu,ahci_platform,ahci,libahci_platform
ehci_orion              2570  0
sata_mv                24862  0
usb_storage            37426  2
sd_mod                 25395  4
xhci_plat_hcd           5336  0
xhci_pci                2760  0
xhci_hcd               83307  2 xhci_plat_hcd,xhci_pci
ehci_pci                2973  0
ehci_platform           4758  0
ehci_hcd               33271  3 ehci_orion,ehci_pci,ehci_platform
usbcore               129542 10 ledtrig_usbport,ehci_orion,usb_storage,xhci_plat_hcd,xhci_pci,xhci_hcd,ehci_pci,ehci_platform,ehci_hcd
usb_common              2481  1 usbcore
btmrvl_sdio            12519  0
btmrvl                  8843  1 btmrvl_sdio
bluetooth             248365  3 btmrvl_sdio,btmrvl
mvsdio                  6520  0
sdhci_pxav3             4124  0
sdhci_pltfm             2460  1 sdhci_pxav3
sdhci                  24553  2 sdhci_pxav3,sdhci_pltfm
mmc_block              23476  0
mmc_core               80380  7 pwrseq_simple,pwrseq_emmc,btmrvl_sdio,mvsdio,sdhci_pxav3,sdhci,mmc_block
mac80211              604746  0
compat                  5707  3 btmrvl_sdio,bluetooth,mac80211
mii                     3564  0
tmp421                  2356  0
pwm_fan                 3376  0
leds_pca963x            4084  0
leds_tlc591xx           2592  0
orion_wdt               5632  1

root@linksys:~# ps
  PID USER       VSZ STAT COMMAND
    1 root       972 S    /sbin/init earlyprintk
    2 root         0 SW   [kthreadd]
    3 root         0 SW   [ksoftirqd/0]
    5 root         0 SW<  [kworker/0:0H]
    7 root         0 SW   [rcu_sched]
    8 root         0 SW   [rcu_bh]
    9 root         0 SW   [migration/0]
   10 root         0 SW<  [lru-add-drain]
   11 root         0 SW   [cpuhp/0]
   12 root         0 SW   [cpuhp/1]
   13 root         0 SW   [migration/1]
   14 root         0 SW   [ksoftirqd/1]
   16 root         0 SW<  [kworker/1:0H]
   17 root         0 SW<  [netns]
  210 root         0 SW   [oom_reaper]
  211 root         0 SW<  [writeback]
  213 root         0 SW<  [crypto]
  214 root         0 SW<  [bioset]
  216 root         0 SW<  [kblockd]
  224 root         0 SW<  [ata_sff]
  241 root         0 SW<  [watchdogd]
  281 root         0 SW   [kswapd0]
  282 root         0 SW<  [vmstat]
  398 root         0 SW<  [bioset]
  403 root         0 SW<  [bioset]
  408 root         0 SW<  [bioset]
  413 root         0 SW<  [bioset]
  414 root         0 SW<  [bioset]
  423 root         0 SW<  [bioset]
  428 root         0 SW<  [bioset]
  433 root         0 SW<  [bioset]
  438 root         0 SW<  [bioset]
  443 root         0 SW<  [bioset]
  448 root         0 SW<  [bioset]
  523 root         0 SW   [irq/39-f1090000]
  524 root         0 SW   [irq/40-f1090000]
  560 root         0 SW   [ubi_bgt0d]
  561 root         0 SW<  [bioset]
  569 root         0 SW<  [kworker/1:1H]
  577 root         0 SW<  [kworker/0:1H]
  966 root       744 S    /sbin/hotplug2 --set-rules-file /etc/hotplug2.rules --persistent
  970 root       780 S    /sbin/mstpd
  977 root      1700 S    watchdog
 1000 root         0 SW<  [cfg80211]
 1014 root         0 SW   [irq/44-mmc0]
 1024 root         0 SW   [btmrvl_main_ser]
 1025 root         0 SW<  [kworker/u5:1]
 1026 root         0 SW<  [hci0]
 1027 root         0 SW<  [hci0]
 1028 root         0 SW<  [kworker/u5:2]
 1092 root         0 SW   [scsi_eh_0]
 1093 root         0 SW<  [scsi_tmf_0]
 1094 root         0 SW   [scsi_eh_1]
 1095 root         0 SW<  [scsi_tmf_1]
 1132 root         0 SW   [scsi_eh_2]
 1133 root         0 SW<  [scsi_tmf_2]
 1135 root         0 SW   [usb-storage]
 1139 root         0 SW   [scsi_eh_3]
 1141 root         0 SW<  [scsi_tmf_3]
 1142 root         0 SW   [usb-storage]
 1162 root         0 SW   [kworker/u4:1]
 1180 root         0 SW<  [bioset]
 1202 root         0 SW<  [bioset]
 1306 root         0 SW   [f2fs_flush-8:1]
 1308 root         0 SW   [f2fs_gc-8:1]
 1349 root         0 SW   [jbd2/sdb1-8]
 1350 root         0 SW<  [ext4-rsv-conver]
 1456 root      1316 S    syslogd -Z -L
 1478 root      1064 S    dropbear -b /tmp/loginprompt -r /tmp/root/.ssh/ssh_host_rsa_key -p 22
 1484 root         0 SW<  [ipv6_addrconf]
 1663 root      1972 S    ttraff
 1673 root      1372 S    resetbutton
 1910 root         0 SW   [kworker/0:0]
 1961 root       708 S    cron
 2041 root      3804 S    smartd
 2042 root      5724 S    httpd -p 80
 2056 root      4448 S    lighttpd -f /mnt/sda1/ssd/lighttpd/lighttpd.conf
 2057 root      154m S    /usr/bin/php-cgi
 2148 root      1316 S    udhcpc -i eth0 -p /var/run/udhcpc.pid -s /tmp/udhcpc -O routes -O msstaticroutes -O staticroutes -H linksys
 2165 root      3120 S    /usr/sbin/smbd -D --configfile=/tmp/smb.conf
 2173 root      155m S    /usr/bin/php-cgi
 2177 root      1852 S    dnsmasq -u root -g root --conf-file=/tmp/dnsmasq.conf
 2182 root      1372 S    upnp -D -W eth0
 2185 root      1660 S    wland
 2186 root      1700 S    process_monitor
 2215 root         0 SW<  [wg-crypt-oet1]
 2338 root      3240 S    /usr/sbin/smbd -D --configfile=/tmp/smb.conf
 2382 root      2348 S    /usr/sbin/smbd -D --configfile=/tmp/smb.conf
 2384 root      2160 S    /usr/sbin/nmbd -D --configfile=/tmp/smb.conf
 2402 root      9624 S    transmissiond --config-dir /mnt/sda1/ssd/transmission_config
 2700 root         0 SW   [kworker/u4:0]
 2710 root         0 SW   [kworker/0:2]
 2738 root         0 SW   [kworker/1:1]
 2984 root      1124 S    dropbear -b /tmp/loginprompt -r /tmp/root/.ssh/ssh_host_rsa_key -p 22
 2985 root      1316 S    -sh
 3024 root      1316 R    ps
10742 root         0 SW   [kworker/1:3]
32480 root      3272 S    /usr/sbin/smbd -D --configfile=/tmp/smb.conf

root@linksys:~# free -m
              total        used        free      shared  buff/cache   available
Mem:         511860       63724      376692        2524       71444      314576
Swap:             0           0           0
alexsmartens commented 5 years ago

@inteliboy is right. I can confirm I see the same behavior. I run OpenWrt 18.06.4, r7808-ef686b7292 and removing kmod-mwlwifi drops down the ram usage from 180-170 MB to 30-20 MB.

Check out my lsmod and ps logs below

alexsmartens commented 5 years ago

with kmod-mwlwifi

> lsmod

bluetooth             249856 11 rfcomm,hidp,hci_uart,btusb,btmrvl_sdio,btmrvl,btintel,bnep
bnep                   16384  0 
btintel                12288  1 btusb
btmrvl                 16384  1 btmrvl_sdio
btmrvl_sdio            16384  0 
btusb                  28672  0 
cfg80211              204800  3 mwifiex,mwlwifi,mac80211
cmac                   12288  0 
compat                 12288  4 mwifiex_sdio,mwifiex,mac80211,cfg80211
crc_ccitt              12288  1 ppp_async
ecb                    12288  0 
ecdh_generic           24576  1 bluetooth
evdev                  20480  0 
gpio_button_hotplug    12288  0 
hci_uart               20480  0 
hid                    86016  1 hidp
hidp                   20480  0 
input_core             28672  3 hidp,hid,evdev
ip_tables              20480  4 iptable_nat,iptable_mangle,iptable_filter
ip6_tables             20480 24 ip6table_mangle,ip6table_filter
ip6t_REJECT            12288  2 
ip6table_filter        12288  1 
ip6table_mangle        12288  1 
ipt_MASQUERADE         12288  1 
ipt_REJECT             12288  2 
iptable_filter         12288  1 
iptable_mangle         12288  1 
iptable_nat            12288  1 
kpp                    12288  2 bluetooth,ecdh_generic
mac80211              385024  1 mwlwifi
mwifiex               212992  1 mwifiex_sdio
mwifiex_sdio           28672  0 
mwlwifi               147456  0 
nf_conntrack           65536 13 nf_conntrack_ipv6,ipt_MASQUERADE,xt_state,xt_nat,xt_conntrack,xt_REDIRECT,xt_CT,nf_nat_masquerade_ipv4,nf_conntrack_ipv4,nf_nat_ipv4,nf_nat,nf_flow_table,nf_conntrack_rtcache
nf_conntrack_ipv4      12288 11 
nf_conntrack_ipv6      12288  5 
nf_conntrack_rtcache   12288  0 
nf_defrag_ipv4         12288  1 nf_conntrack_ipv4
nf_defrag_ipv6         12288  1 nf_conntrack_ipv6
nf_flow_table          20480  2 xt_FLOWOFFLOAD,nf_flow_table_hw
nf_flow_table_hw       12288  1 
nf_log_common          12288  2 nf_log_ipv4,nf_log_ipv6
nf_log_ipv4            12288  0 
nf_log_ipv6            12288  0 
nf_nat                 20480  4 xt_nat,nf_nat_redirect,nf_nat_masquerade_ipv4,nf_nat_ipv4
nf_nat_ipv4            12288  1 iptable_nat
nf_nat_masquerade_ipv4   12288  1 ipt_MASQUERADE
nf_nat_redirect        12288  1 xt_REDIRECT
nf_reject_ipv4         12288  1 ipt_REJECT
nf_reject_ipv6         12288  1 ip6t_REJECT
ppp_async              16384  0 
ppp_generic            28672  3 pppoe,ppp_async,pppox
pppoe                  16384  0 
pppox                  12288  1 pppoe
rfcomm                 32768  0 
slhc                   12288  1 ppp_generic
x_tables               16384 24 ipt_REJECT,ipt_MASQUERADE,xt_time,xt_tcpudp,xt_state,xt_nat,xt_multiport,xt_mark,xt_mac,xt_limit,xt_conntrack,xt_comment,xt_TCPMSS,xt_REDIRECT,xt_LOG,xt_FLOWOFFLOAD,xt_CT,iptable_mangle,iptable_filter,ip_tables,ip6t_REJECT,ip6table_mangle,ip6table_filter,ip6_tables
xt_CT                  12288  0 
xt_FLOWOFFLOAD         12288  0 
xt_LOG                 12288  0 
xt_REDIRECT            12288  0 
xt_TCPMSS              12288  2 
xt_comment             12288125 
xt_conntrack           12288 14 
xt_limit               12288 20 
xt_mac                 12288  0 
xt_mark                12288  0 
xt_multiport           12288  0 
xt_nat                 12288  0 
xt_state               12288  0 
xt_tcpudp              12288 10 
xt_time                12288  0 
> ps

  PID USER       VSZ STAT COMMAND
    1 root      1328 S    /sbin/procd
    2 root         0 SW   [kthreadd]
    3 root         0 IW   [kworker/0:0]
    4 root         0 IW<  [kworker/0:0H]
    6 root         0 IW<  [mm_percpu_wq]
    7 root         0 SW   [ksoftirqd/0]
    8 root         0 IW   [rcu_sched]
    9 root         0 IW   [rcu_bh]
   10 root         0 SW   [migration/0]
   11 root         0 SW   [cpuhp/0]
   12 root         0 SW   [cpuhp/1]
   13 root         0 SW   [migration/1]
   14 root         0 SW   [ksoftirqd/1]
   15 root         0 IW   [kworker/1:0]
   16 root         0 IW<  [kworker/1:0H]
   17 root         0 IW   [kworker/u4:1]
  209 root         0 SW   [oom_reaper]
  210 root         0 IW<  [writeback]
  211 root         0 SW   [kcompactd0]
  213 root         0 IW<  [crypto]
  214 root         0 IW<  [kblockd]
  216 root         0 IW<  [ata_sff]
  220 root         0 RW   [kworker/u4:3]
  248 root         0 IW<  [watchdogd]
  282 root         0 SW   [kswapd0]
  352 root         0 IW<  [pencrypt]
  354 root         0 IW<  [pdecrypt]
  452 root         0 SW   [scsi_eh_0]
  453 root         0 IW<  [scsi_tmf_0]
  456 root         0 SW   [scsi_eh_1]
  457 root         0 IW<  [scsi_tmf_1]
  580 root         0 IW   [kworker/1:1]
  620 root         0 SW   [irq/43-mmc0]
  653 root         0 SW   [irq/39-f1090000]
  654 root         0 SW   [irq/40-f1090000]
  675 root         0 IW<  [ipv6_addrconf]
  677 root         0 IW<  [dsa_ordered]
  678 root         0 IW   [kworker/0:2]
  711 root         0 SW   [ubi_bgt0d]
  721 root         0 IW<  [kworker/1:1H]
  722 root         0 IW<  [kworker/0:1H]
  726 root         0 SW   [irq/47-gpio-key]
  728 root         0 SW   [irq/48-gpio-key]
  823 root         0 SW   [ubifs_bgt0_1]
  831 root         0 SW   [ubi_bgt1d]
  837 root         0 SW   [ubifs_bgt1_0]
  936 root       984 S    /sbin/ubusd
  937 root       676 S    /sbin/askfirst /usr/libexec/login.sh
  976 root         0 IW<  [cfg80211]
 1296 root         0 SW   [btmrvl_main_ser]
 1297 root         0 IW<  [kworker/u5:0]
 1303 root         0 IW<  [kworker/u5:1]
 1313 root         0 IW<  [MWIFIEX_WORK_QU]
 1314 root         0 IW<  [MWIFIEX_RX_WORK]
 1333 root         0 SW<  [krfcommd]
 1366 root         0 IW<  [MWIFIEX_DFS_CAC]
 1367 root         0 IW<  [MWIFIEX_DFS_CHS]
 1585 root      1004 S    /sbin/logd -S 64
 1608 root      1316 S    /sbin/rpcd -s /var/run/ubus.sock -t 30
 1693 root       816 S    /usr/sbin/dropbear -F -P /var/run/dropbear.1.pid -p
 1750 root      1516 S    /sbin/netifd
 1780 root      1216 S    /usr/sbin/odhcpd
 1846 root      1096 S    /usr/sbin/uhttpd -f -h /www -r OpenWrt -x /cgi-bin -
 2066 root      1056 S    udhcpc -p /var/run/udhcpc-eth1.2.pid -s /lib/netifd/
 2067 root       808 S    odhcp6c -s /lib/netifd/dhcpv6.script -P0 -t120 eth1.
 2302 root      1060 S<   /usr/sbin/ntpd -n -N -S /usr/sbin/ntpd-hotplug -p 0.
 2613 dnsmasq   1144 S    /usr/sbin/dnsmasq -C /var/etc/dnsmasq.conf.cfg01411c
 2795 root       880 R    /usr/sbin/dropbear -F -P /var/run/dropbear.1.pid -p
 2827 root      1056 S    -ash
 4221 root         0 IW   [kworker/u4:0]
 4292 root         0 IW   [kworker/1:2]
 4368 dnsmasq   1212 S    /usr/sbin/dnsmasq -C /var/etc/dnsmasq.conf.cfg01411c
 4838 root      1056 R    ps
alexsmartens commented 5 years ago

- kmod-mwlwifi removed

> lsmod

bluetooth             249856 11 rfcomm,hidp,hci_uart,btusb,btmrvl_sdio,btmrvl,btintel,bnep
bnep                   16384  0 
btintel                12288  1 btusb
btmrvl                 16384  1 btmrvl_sdio
btmrvl_sdio            16384  0 
btusb                  28672  0 
cfg80211              204800  1 mwifiex
cmac                   12288  0 
compat                 12288  3 mwifiex_sdio,mwifiex,cfg80211
crc_ccitt              12288  1 ppp_async
ecb                    12288  0 
ecdh_generic           24576  1 bluetooth
evdev                  20480  0 
gpio_button_hotplug    12288  0 
hci_uart               20480  0 
hid                    86016  1 hidp
hidp                   20480  0 
input_core             28672  3 hidp,hid,evdev
ip_tables              20480  4 iptable_nat,iptable_mangle,iptable_filter
ip6_tables             20480 24 ip6table_mangle,ip6table_filter
ip6t_REJECT            12288  2 
ip6table_filter        12288  1 
ip6table_mangle        12288  1 
ipt_MASQUERADE         12288  1 
ipt_REJECT             12288  2 
iptable_filter         12288  1 
iptable_mangle         12288  1 
iptable_nat            12288  1 
kpp                    12288  2 bluetooth,ecdh_generic
mwifiex               212992  1 mwifiex_sdio
mwifiex_sdio           28672  0 
nf_conntrack           65536 13 nf_conntrack_ipv6,ipt_MASQUERADE,xt_state,xt_nat,xt_conntrack,xt_REDIRECT,xt_CT,nf_nat_masquerade_ipv4,nf_conntrack_ipv4,nf_nat_ipv4,nf_nat,nf_flow_table,nf_conntrack_rtcache
nf_conntrack_ipv4      12288 11 
nf_conntrack_ipv6      12288  5 
nf_conntrack_rtcache   12288  0 
nf_defrag_ipv4         12288  1 nf_conntrack_ipv4
nf_defrag_ipv6         12288  1 nf_conntrack_ipv6
nf_flow_table          20480  2 xt_FLOWOFFLOAD,nf_flow_table_hw
nf_flow_table_hw       12288  1 
nf_log_common          12288  2 nf_log_ipv4,nf_log_ipv6
nf_log_ipv4            12288  0 
nf_log_ipv6            12288  0 
nf_nat                 20480  4 xt_nat,nf_nat_redirect,nf_nat_masquerade_ipv4,nf_nat_ipv4
nf_nat_ipv4            12288  1 iptable_nat
nf_nat_masquerade_ipv4   12288  1 ipt_MASQUERADE
nf_nat_redirect        12288  1 xt_REDIRECT
nf_reject_ipv4         12288  1 ipt_REJECT
nf_reject_ipv6         12288  1 ip6t_REJECT
ppp_async              16384  0 
ppp_generic            28672  3 pppoe,ppp_async,pppox
pppoe                  16384  0 
pppox                  12288  1 pppoe
rfcomm                 32768  0 
slhc                   12288  1 ppp_generic
x_tables               16384 24 ipt_REJECT,ipt_MASQUERADE,xt_time,xt_tcpudp,xt_state,xt_nat,xt_multiport,xt_mark,xt_mac,xt_limit,xt_conntrack,xt_comment,xt_TCPMSS,xt_REDIRECT,xt_LOG,xt_FLOWOFFLOAD,xt_CT,iptable_mangle,iptable_filter,ip_tables,ip6t_REJECT,ip6table_mangle,ip6table_filter,ip6_tables
xt_CT                  12288  0 
xt_FLOWOFFLOAD         12288  0 
xt_LOG                 12288  0 
xt_REDIRECT            12288  0 
xt_TCPMSS              12288  2 
xt_comment             12288125 
xt_conntrack           12288 14 
xt_limit               12288 20 
xt_mac                 12288  0 
xt_mark                12288  0 
xt_multiport           12288  0 
xt_nat                 12288  0 
xt_state               12288  0 
xt_tcpudp              12288 10 
xt_time                12288  0 
> ps

  PID USER       VSZ STAT COMMAND
    1 root      1328 S    /sbin/procd
    2 root         0 SW   [kthreadd]
    3 root         0 IW   [kworker/0:0]
    4 root         0 IW<  [kworker/0:0H]
    5 root         0 IW   [kworker/u4:0]
    6 root         0 IW<  [mm_percpu_wq]
    7 root         0 SW   [ksoftirqd/0]
    8 root         0 IW   [rcu_sched]
    9 root         0 IW   [rcu_bh]
   10 root         0 SW   [migration/0]
   11 root         0 SW   [cpuhp/0]
   12 root         0 SW   [cpuhp/1]
   13 root         0 SW   [migration/1]
   14 root         0 SW   [ksoftirqd/1]
   15 root         0 IW   [kworker/1:0]
   16 root         0 IW<  [kworker/1:0H]
   17 root         0 IW   [kworker/u4:1]
   20 root         0 IW   [kworker/u4:2]
   38 root         0 IW   [kworker/0:1]
   39 root         0 SW   [oom_reaper]
  210 root         0 IW   [kworker/u4:3]
  211 root         0 IW<  [writeback]
  212 root         0 SW   [kcompactd0]
  214 root         0 IW<  [crypto]
  215 root         0 IW<  [kblockd]
  217 root         0 IW<  [ata_sff]
  225 root         0 IW<  [watchdogd]
  273 root         0 SW   [kswapd0]
  352 root         0 IW<  [pencrypt]
  353 root         0 IW<  [pdecrypt]
  452 root         0 SW   [scsi_eh_0]
  453 root         0 IW<  [scsi_tmf_0]
  456 root         0 SW   [scsi_eh_1]
  457 root         0 IW<  [scsi_tmf_1]
  580 root         0 IW   [kworker/1:1]
  620 root         0 SW   [irq/43-mmc0]
  653 root         0 SW   [irq/39-f1090000]
  654 root         0 SW   [irq/40-f1090000]
  675 root         0 IW<  [ipv6_addrconf]
  677 root         0 IW<  [dsa_ordered]
  678 root         0 IW   [kworker/0:2]
  714 root         0 SW   [ubi_bgt0d]
  721 root         0 IW<  [kworker/0:1H]
  722 root         0 IW<  [kworker/1:1H]
  724 root         0 IW   [kworker/1:2]
  726 root         0 SW   [irq/47-gpio-key]
  727 root         0 SW   [irq/48-gpio-key]
  733 root         0 IW   [kworker/1:3]
  823 root         0 SW   [ubifs_bgt0_1]
  833 root         0 SW   [ubi_bgt1d]
  837 root         0 SW   [ubifs_bgt1_0]
  936 root       984 S    /sbin/ubusd
  937 root       676 S    /sbin/askfirst /usr/libexec/login.sh
  984 root         0 IW   [kworker/0:3]
  985 root         0 SW   [btmrvl_main_ser]
  986 root         0 IW<  [kworker/u5:0]
  992 root         0 IW<  [kworker/u5:1]
 1000 root         0 IW<  [kworker/u5:2]
 1017 root         0 SW<  [krfcommd]
 1038 root         0 IW<  [cfg80211]
 1044 root         0 IW<  [MWIFIEX_WORK_QU]
 1045 root         0 IW<  [MWIFIEX_RX_WORK]
 1087 root         0 IW<  [MWIFIEX_DFS_CAC]
 1091 root         0 IW<  [MWIFIEX_DFS_CHS]
 1200 root      1004 S    /sbin/logd -S 64
 1256 root      1316 S    /sbin/rpcd -s /var/run/ubus.sock -t 30
 1358 root       816 S    /usr/sbin/dropbear -F -P /var/run/dropbear.1.pid -p
 1415 root      1516 S    /sbin/netifd
 1451 root      1216 S    /usr/sbin/odhcpd
 1511 root      1096 S    /usr/sbin/uhttpd -f -h /www -r OpenWrt -x /cgi-bin -
 1706 root       808 S    odhcp6c -s /lib/netifd/dhcpv6.script -P0 -t120 eth1.
 1719 root      1056 S    udhcpc -p /var/run/udhcpc-eth1.2.pid -s /lib/netifd/
 1869 root      1060 S<   /usr/sbin/ntpd -n -N -S /usr/sbin/ntpd-hotplug -p 0.
 2206 dnsmasq   1144 S    /usr/sbin/dnsmasq -C /var/etc/dnsmasq.conf.cfg01411c
 2397 root       880 R    /usr/sbin/dropbear -F -P /var/run/dropbear.1.pid -p
 2530 root      1056 S    -ash
 2942 root      1056 R    ps
eduperez commented 5 years ago

Everything seems identical, except the obvious "mwlwifi" module (but it does not seem to be occupying so much memory) and the memory usage. Looks like the module is allocating the memory. Perhaps the contents of "/proc/meminfo" will give us more info.

alexsmartens commented 5 years ago

with kmod-mwlwifi

> cat /proc/meminfo

MemTotal:         511960 kB
MemFree:          326836 kB
MemAvailable:     309348 kB
Buffers:            2896 kB
Cached:             9108 kB
SwapCached:            0 kB
Active:            11708 kB
Inactive:           2020 kB
Active(anon):       2096 kB
Inactive(anon):       60 kB
Active(file):       9612 kB
Inactive(file):     1960 kB
Unevictable:           0 kB
Mlocked:               0 kB
HighTotal:             0 kB
HighFree:              0 kB
LowTotal:         511960 kB
LowFree:          326836 kB
SwapTotal:             0 kB
SwapFree:              0 kB
Dirty:                 0 kB
Writeback:             0 kB
AnonPages:          1740 kB
Mapped:             2204 kB
Shmem:               432 kB
Slab:             146484 kB
SReclaimable:       2600 kB
SUnreclaim:       143884 kB
KernelStack:         656 kB
PageTables:          312 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:      255980 kB
Committed_AS:       4700 kB
VmallocTotal:     507904 kB
VmallocUsed:           0 kB
VmallocChunk:          0 kB
alexsmartens commented 5 years ago

@eduperez, what do you think? Can I help with something else?

alexsmartens commented 5 years ago

@yuhhaurlin, @kaloz, @BrainSlayer any thoughts?

c--- commented 2 years ago

I'm seeing some similar to this on the latest builds 22.03 from git but the RAM usage doesn't seem to grow unbounded. Two nearly identical routers but they use slightly different WiFi firmware versions, WRT1900ACS and WRT3200ACM.

The 1900 uses a normal amount of RAM but the 3200 is ridiculous. Removing the mwlwifi driver module releases a ton of RAM.

Such as the life of proprietary firmware, eh? :(

inteliboy commented 2 years ago

This driver is unfortunately dead and it is what it is.

I personally sold my WRT3200ACM and bought Netgear R7800.

Best regards

wt., 9 sie 2022, 14:38 użytkownik Chris Osgood @.***> napisał:

I'm seeing this on the latest builds 22.03 from git. Two nearly identical routers but they use slightly different WiFi firmware versions, WRT1900ACS and WRT3200ACM.

The 1900 uses a normal amount of RAM but the 3200 is ridiculous. Removing the mwlwifi driver module releases a ton of RAM.

Such as the life of proprietary firmware, eh? :(

— Reply to this email directly, view it on GitHub https://github.com/kaloz/mwlwifi/issues/152#issuecomment-1209328029, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAA32BMMX5D2BB43IZVHOKDVYJGMNANCNFSM4DJRSVKQ . You are receiving this because you were mentioned.Message ID: @.***>

eduperez commented 2 years ago

@eduperez, what do you think? Can I help with something else?

Development has been dead for years now, there is no hope of any improvement.