Thanks Mike, this memory alignment thing on the M300 may be something that could also affect you guys running Debian.
See:
https://wiki.debian.org/ArmEabiFixes#word_accesses_must_be_aligned_to_a_multiple_of_their_size
and
https://www.kernel.org/doc/html/latest/arm/mem_alignment.html
It looks like by your output above that you are set to "0" which I believe is what my Alpine install defaulted to and was causing the problem I talked about in the mailing list thread I linked to.
"0" supposedly means "A user process performing an unaligned memory access will cause the kernel to print a message indicating process name, pid, pc, instruction, address, and the fault code." but if it was printing any messages I never saw them anywhere. The crappy part about it was that the apk command I was using (alpine's package manager) worked for some things, sort of worked for others, and didn't work at all for still others, but the command never actually caused a crash or seg fault or anything else that would be an _obvious_ problem. I'd rather have that then something that "sort of" works and leaves you wondering what else can't be trusted.
//edit, see also https://stackoverflow.com/questions/16548059/how-to-trap-unaligned-memory-access
I'd be curious to see if you did a:
echo 2 > /proc/cpu/alignment
let the system run for a while and cat the file periodically if you'd see fault numbers going up (and being corrected by the kernel) which I think would mean that at the current setting of 0, the faults were still there, just not being caught and what's worse, not being corrected.
I could be completely misunderstanding the situation and settings, I just know I ran into an issue and it looks like you are running with the same setting I was.
See:
https://wiki.debian.org/ArmEabiFixes#word_accesses_must_be_aligned_to_a_multiple_of_their_size
and
https://www.kernel.org/doc/html/latest/arm/mem_alignment.html
It looks like by your output above that you are set to "0" which I believe is what my Alpine install defaulted to and was causing the problem I talked about in the mailing list thread I linked to.
"0" supposedly means "A user process performing an unaligned memory access will cause the kernel to print a message indicating process name, pid, pc, instruction, address, and the fault code." but if it was printing any messages I never saw them anywhere. The crappy part about it was that the apk command I was using (alpine's package manager) worked for some things, sort of worked for others, and didn't work at all for still others, but the command never actually caused a crash or seg fault or anything else that would be an _obvious_ problem. I'd rather have that then something that "sort of" works and leaves you wondering what else can't be trusted.
//edit, see also https://stackoverflow.com/questions/16548059/how-to-trap-unaligned-memory-access
I'd be curious to see if you did a:
echo 2 > /proc/cpu/alignment
let the system run for a while and cat the file periodically if you'd see fault numbers going up (and being corrected by the kernel) which I think would mean that at the current setting of 0, the faults were still there, just not being caught and what's worse, not being corrected.
I could be completely misunderstanding the situation and settings, I just know I ran into an issue and it looks like you are running with the same setting I was.