dtaht / deBloat

Scripts for doing better and fairer network, traffic control, optimization and shaping
85 stars 22 forks source link

Some debloat.lua comments #9

Open Astara opened 10 years ago

Astara commented 10 years ago

I was wanting to try ingress queueing, primarily. Ran into a few snags and thought you might want to know about them to fix them 'whenever'... ;-)....

1) format of INGRESS env var doesn't seem to be defined in the script nor easily decipherable.

2) didn't like running w/o some non-existent kernel modules that it also didn't use. Specifically: FATAL: Module sch_efq_codel not found. FATAL: Module sch_ns2_codel not found.

FATAL: Module sch_nfq_codel not found.

Simply commenting these out seemed to indicate that they were not really essential.

Nothing I did seemed to generate any ingress queues. Not entirely sure why (egress was generated, but no feedback telling me that it was successful or that it did anything.

I think part of the problem on the ingress filter is that you use "lsmod" to look at loaded modules. This is bad as doesn't catch modules that are built-in. It should be safer to usually look in /sys/module -- that seems to usually (say that now, cuz...) show the modules that are built-in as well as loaded.

BUT it is not showing 'sch_ingress', but my kernel kernel: zcat /proc/config.gz |grep -i ingress CONFIG_NET_SCH_INGRESS=y

Claims to have it built-in. but [cuz...from above continues here...] I see no 'sch_ingres' in the module dir. That's a first. Now question is where would it be listed and why isn't it there.

FWI, here's my module dir contents: 8250/ efivars/ kvm_intel/ rcupdate/ 8250_core/ ehci_hcd/ libata/ rcutree/ acpi/ firewire_ohci/ lockdep/ sch_codel/ acpi_cpufreq/ firmware_class/ loop/ sch_fq_codel/ block/ fscache/ mdio/ sch_htb/ bnx2/ gpio_ich/ megaraid_sas/ sch_qfq/ bonding/ hid/ mousedev/ sch_red/ brd/ i2c_i801/ mpt2sas/ sch_sfq/ cifs/ i7300_idle/ mptbase/ scsi_mod/ cls_flow/ i7core_edac/ mptsas/ scsi_transport_iscsi/ cls_fw/ i8042/ mptscsih/ sg/ cls_u32/ iTCO_wdt/ nbd/ spurious/ coretemp/ ifb/ netconsole/ sr_mod/ cpuidle/ intel_idle/ netpoll/ sysrq/ dca/ ioatdma/ nf_conntrack/ tcp_htcp/ dcdbas/ ipmi_msghandler/ nf_conntrack_ipv4/ uhci_hcd/ debug_core/ ipmi_poweroff/ nf_defrag_ipv4/ uinput/ dell_rbu/ ipmi_si/ nf_nat/ usbcore/ dm_bufio/ iptable_filter/ nf_nat_ipv4/ usbhid/ dm_mod/ iptable_nat/ pci_slot/ vt/ dm_snapshot/ ixgbe/ pcie_aspm/ wmi/ dm_thin_pool/ kdb_main/ pnp/ workqueue/ dns_resolver/ kernel/ printk/ zswap/ e1000e/ keyboard/ processor/ edac_core/ kgdboc/ psmouse/ efi_pstore/ kvm/ pstore/

lsmod: cls_fw 4973 0 sch_htb 16759 0 sch_red 6333 0 sch_sfq 11348 0 cls_flow 8663 0 cls_u32 7829 0 sch_fq_codel 8433 1 sch_codel 5331 0 sch_qfq 12587 0 ifb 4328 0 iptable_nat 3506 0 nf_conntrack_ipv4 9521 1 nf_defrag_ipv4 1886 1 nf_conntrack_ipv4 nf_nat_ipv4 4727 1 iptable_nat nf_nat 17712 2 iptable_nat,nf_nat_ipv4 nf_conntrack 94395 4 iptable_nat,nf_conntrack_ipv4,nf_nat_ipv4,nf_nat iptable_filter 1906 1 mousedev 12440 0 psmouse 20130 0 wmi 10673 0 ixgbe 229318 0 mdio 4417 1 ixgbe

bnx2 84687 0

BTW - you mentioned devices needing a BQL feature. I don't recall seeing it mentioned in the feature list of the Intel X540-AT2 10Gb ethernet cards I got last year (not that they are the ones I'd be using for ingress control) -- nothing I have can usefully peg 1 channel of those, let alone the linked pair I had envisioned using (PC-workstation running windows 7-64 connecting to linux server that serves all network and admin functions to the PC) -- it tops out on a samba transfer at about 520MB/s read and 370MB/s write. (vs. 1Gb got 125MB writes and 119MB reads -- i.e. topped out).

Limiting factor is CPU (usually on the server), as SMB doesn't easily support multiple connections to a server by the same person. Rather annoying.

Anyway... wanted to ingress shaping on a 25/7Mb cable modem... I have tried wondershaper (or a modified version to suit my needs), but gave up using it when I realized that it couldn't really keep up with incoming traffic (needed insanely large burst limits... but this was with policing and hoping newer queuing might address that. (since 1 dropped packet really hurts in throughput).

Anyway.. I may need a new network card for my external net to do this.. but also got to find where the bleep sch_ingress is... theoretically it is loaded.. ;-)

Thanks for the script. Lua, eh? well, at least it's not python... ;-)

(bash & perl for scripting mostly here...

reply if you want... or whatever, I'm won't hold my breath... ;-) (Just wanted to let you know the probs I ran into in trying to run it...)..

Thanks again..

A*a..

dtaht commented 9 years ago

this is very old code long ago subsumed (mostly) by the sqm-scripts, which do do ingress queuing correctly. debloat only has two features it doesnt - one lowering the ath9k queues to saner levels, and two - manually assigning fq_codel parameters to wifi.