Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Reverting basic optimizations for ODROID N2
Since 1a04b50 triggered comments like 'stupid, lazy, technical criticism, dick, you vs. us' most probably it's the best to focus on Armbian's current mantra 'quantity first, quality second' (trying to provide OS images for as much SBC as possible so it's ensured none of these things can be supported properly).

Within the last 2 years nobody gave a shit about low-level optimizations except @paolosabatino when adding support for RK322X. Macchiatobin, La Frite, RockPi S, Odroid C4 and N2 are all plagued by an artificial bottleneck on `cpu0`. Other boards that were added since 2018 inherited already present optimizations more or less by accident. So let's try to be consistent and destroy N2 performance to be in sync with almost all other Armbian additions of the past few years. Shit like this https://forum.armbian.com/topic/14469-odroid-n2-single-cpu-handling-all-the-interrupts/ is Armbian's future.
  • Loading branch information
Thomas Kaiser committed Jul 15, 2020
1 parent 9733382 commit 5030cef
Showing 1 changed file with 0 additions and 10 deletions.
10 changes: 0 additions & 10 deletions packages/bsp/common/usr/lib/armbian/armbian-hardware-optimization
Expand Up @@ -98,16 +98,6 @@ prepare_board() {
echo 8 >/proc/irq/$(awk -F":" "/ethernet/ {print \$1}" </proc/interrupts | sed 's/\ //g' | head -1)/smp_affinity 2>/dev/null
echo 7 >/sys/class/net/eth0/queues/rx-0/rps_cpus
;;
meson-g12b) # S922X/A311D: ODROID N2, possibly VIM3, cpu0/cpu1 are the little ones
# MMC on cpu1, USB3 on cpu2, Ethernet on cpu3, rdma on cpu4, vsync on cpu5
for i in $(awk -F':' '/mmc/{print $1}' </proc/interrupts | sed 's/\ //g'); do
echo 1 >/proc/irq/$i/smp_affinity_list
done
echo 2 >/proc/irq/$(awk -F":" "/xhci-hcd/ {print \$1}" </proc/interrupts | sed 's/\ //g')/smp_affinity_list
echo 3 >/proc/irq/$(awk -F":" "/eth0/ {print \$1}" </proc/interrupts | sed 's/\ //g')/smp_affinity_list
echo 4 >/proc/irq/$(awk -F":" "/rdma/ {print \$1}" </proc/interrupts | sed 's/\ //g')/smp_affinity_list
echo 5 >/proc/irq/$(awk -F":" "/ osd-vsync/ {print \$1}" </proc/interrupts | sed 's/\ //g')/smp_affinity_list
;;
mvebu*) # Clearfog/Turris/Helios4/Espressobin: Send network IRQs to cpu1 on both kernels
for i in $(awk -F':' '/mwlwifi|mvneta|eth0/{print $1}' /proc/interrupts | sed 's/\ //g'); do
echo 2 >/proc/irq/$i/smp_affinity
Expand Down

2 comments on commit 5030cef

@lanefu
Copy link
Member

@lanefu lanefu commented on 5030cef Jul 16, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ThomasKaiser for what it’s worth sorry I called you a dick and flew off the handle

@igorpecovnik
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ThomasKaiser Everyone is working in its own corner which one chose / like / knows best and if others doesn't master that corner, they are not stupid. You know very well that we never tolerated pressure on developers and especially not on more rare group - maintainers. From any direction. If you want that someone serve your ideas, you don't treat them like trash. Its people and attitude first. If that doesn't match, if relations become toxic, forcefully made improvements are pointless ...

Please sign in to comment.