<minimal>
dwfreed: there are some mkfs.f2fs option you can tweak. I tried using f2fs in the past (not for OpenWRT) but ended up giving it up as a bad idea
Tapper has quit [Ping timeout: 480 seconds]
<dwfreed>
minimal: if everybody has to tweak it, those should be the defaults
<minimal>
does OpenWRT do a fsck BEFORE the fs is mounted? As Alpine's initramfs' init mounts rootfs before the fsck that was the main issue I hit with f2fs - ext2/3/4 don't mind being run on a read-only mounted fs, F2FS's fsck had to be forced to do anything in such a situation which meant it did a full fsck on every boot rather than just look to see if it can been clean/unclean unmounted previously
<minimal>
dwfreed: why would "everybody" have to tweak the mkfs.f2fs options?
<dwfreed>
because the amount of wasted space is ridiculous?
<dwfreed>
see slh's example above
<dwfreed>
165 KB of files, 144 MB used in the fs
<slh>
on a 900 MB partition
<slh>
which is insane
tersono has quit [Quit: tersono]
<minimal>
I'm not disagreeing. In general I wasn't impressed with F2Fs and stopped using it
<Mangix>
it's not tested on 32-bit platforms. probably
<djfe>
That felt wrong, so I did some digging: F2FS was developed by Samsung for 32bit Android ARM and was published in 2012. 64bit Android released at the end of 2014
<djfe>
regardless I lost data using f2fs with Lineage OS some years back. I let the battery run dry and the device probably ran out of power in the wrong moment due to trying to save energy. Booted into a corrupted /data partition the next day :/
<djfe>
I'm not sure how well fsck.f2fs even worked back in the day. These days it's supposed to be way better and Google switched to f2fs eventually with the Pixel 3 in 2018
<ynezz>
fwiw, I'm using f2fs on i.mx6 emmc (32-bit ARM) backed system in production for 5+ years, some projects are running on the cars, so dozens of daily sudden power loses, but f2fs copes well with that
goliath has quit [Quit: SIGSEGV]
<djfe>
Znevna: morning :)
<djfe>
ynezz: that's actually pretty dope.
<Znevna>
:)
<stintel>
at some point master had f2fs corruption, seen by different users and on multiple archs, I suspect introduced in a stable kernel bump and fixed in another stable kernel bump later
<stintel>
seen it on qoriq and bcm27xx, and I believe karlp saw it on sunxi
<neggles>
f2fs created on some kernel versions will cause a kernel panic if you try to mount it on a newer one :/
<neggles>
as a bonus it corrupts the fs too!
<neggles>
everybody loses!
<djfe>
From Bugzilla: Currently the filesystem doesn't have a way to disable mounting of filesystems created with newer kernels, containing on-disk incompatible changes. I have talked with one of the maintainers and they recognize this fact but so far no one is working on this. This is a pretty major since newer images could potentially crash older kernels not being able to properly parse them.
<djfe>
I think you reversed what they meant: older Kernels will try to mount f2fs partitions created by newer Kernels and fail and cause corruption
<djfe>
f2fs is backwards compatible but not forwards compatible
<neggles>
and i'm not sure there are really any major benefits over just using ubifs or ext4? ext4 doesn't have compression, but
goliath has joined #openwrt-devel
<djfe>
I feel like EROFS is the much hipper filesystem these days for replacing ext4 for read-only partitions, but in the end stability and size constraints are more important here
<djfe>
*actually I have no idea how stable EROFS is. I mentioned stability because of the f2fs debate
<mrkiko>
what's the advantages of erofs vs squashfs?
<goliath>
read speed vs size
<mrkiko>
goliath: thanks
<goliath>
erofs packs data into fixed size blocks and makes sure they are aligned. It's more efficient in terms of disk access (and faster) than squashfs but sacrifices size
<rmilecki>
nbd: with threaded rps I still get varying iperf speeds depending on iperf session (i guess it's still a matter of assigning net traffic to CPU core)
<rmilecki>
nbd: I can get iperf + flamegraph but those will most likely differ a bit depending on which CPU core handles what load (task)
<rmilecki>
nbd: so I'm not sure for which CPU load / iperf speed you would be interested to see perf + graph for?
<nbd>
i find it odd that cpu load is not properly distributed across cores with threaded rps
<rmilecki>
its iperf -P4 with BCM47094 (2 cores)
<nbd>
i wonder if there is something wrong with flow dissection + dsa
<nbd>
that would lead to all flows being assigned to the same hash
gladiac has quit [Quit: k thx bye]
danitool has joined #openwrt-devel
bluew has quit [Ping timeout: 480 seconds]
<EqUaTe>
rmilecki: i dunno if it's improved in the last few years, but iperf always used to be appallingly bad multithreaded.. do you see different values running multiple single-threaded instances at once?
<nbd>
dhewg: bridger should help in any setup where packets are bridged from one port to another
<dhewg>
ok, but what I'm still not sure about if "port" only means wired-only or if bridger can help wifi+wired bridges too
<nbd>
any netdev, so wired, wifi, whatever...
<dhewg>
alright, will try it out then
[florian] has quit [Remote host closed the connection]
<dhewg>
stintel: LGTM, the toolchain line includes "and common tools which will be used to build the firmware image" though, which is wrong, that's all in tools/
<stintel>
dhewg: thanks
<stintel>
if noone else objects I'll add it later today probably
Znevna has left #openwrt-devel [#openwrt-devel]
Znevna has joined #openwrt-devel
<Znevna>
I've pushed something again didn't I
<dhewg>
rmilecki: daemon.notice procd: /etc/rc.d/S25packet_steering: sh: write error: No such file or directory
GNUmoon has quit [Remote host closed the connection]