Posts
85
Following
54
Followers
81
reading files, deleting files, I can go on

Interesting. The highly optimized unrolled implementation of CRC32C on intel is about the same speed as a tight loop around ‘crc32q’. Both do like 30G/s on a 4KiB block with many iterations. Also compared to an older code of the tight loop with one extra instruction (probably causing register dependency with crc32q) is about 11G/s instead.

45d350:  ┌─> 48 8b 08                     movq   (%rax),%rcx
45d353:  │   f2 48 0f 38 f1 f1            crc32q %rcx┌%rsi
45d359:  │   48 83 c0 08                  addq   $0x8┌%rax
45d35d:  │   48 39 d0                     cmpq   %rdx┌%rax
45d360:  └── 75 ee                        jne    45d350 <crc32c_sse42+0x30>

vs:

455000:  ┌─> 48 8b 08                     movq   (%rax),%rcx
455003:  │   89 fe                        movl   %edi┌%esi
455005:  │   f2 48 0f 38 f1 f1            crc32q %rcx┌%rsi
45500b:  │   89 f7                        movl   %esi┌%edi
45500d:  │   48 83 c0 08                  addq   $0x8┌%rax
455011:  │   48 39 d0                     cmpq   %rdx┌%rax
455014:  └── 75 ea                        jne    455000 <crc32c_intel+0x20>

The optimized linux starts at https://elixir.bootlin.com/linux/latest/source/lib/crc/x86/crc-pclmul-template.S . This also has the AVX versions that could be faster than plain ‘crc32’ instruction.

1
0
0
How many NTFS filesystems are we going to have? There's the "eve" one too.
1
0
1
https://github.com/OpenKernel-edu/emoji-kernel-edu Assembly in emojis. 📥 42 🖨️ ⏹️ is "Print 42 and exit".
0
0
0
What a random bug. On a new testing instance, with enough VM memory, somehow working kernel config. On the first run a memory allocation failure that would not otherwise happen 2s after boot, but now it identified "delayed error handling" that allowed a NULL pointer dereference. With a fix it did not hit any allocation errors at all.
0
0
1
repeated

Vlastimil Babka 🇨🇿🇪🇺🇺🇦

Edited 3 months ago

Once again there's a kernel developer position open in the SUSE Labs Kernel Core team I'm part of! https://suse.wd3.myworkdayjobs.com/en-US/Jobsatsuse/job/Czech-Republic-EMEA/Linux-Kernel-Generalist_71007379

2
16
2
https://git.kernel.org/linus/006568ab4c5ca2309ceb36fa553e390b4aa9c0c7 Adding Link: tag to the original discussion is ok but it should not be instead of a proper changelog, namely when there's discussion what exactly is the fix actually doing. Also it's for out of tree module. And it got a CVE.
0
0
1
cloudflare down = internet down
0
0
0
Days since I fixed somebody's printer: 0
1
1
2
NVMe's are formatted to 512B sector size, and most of them have option to be formatted to 4096. And it works. I'm amazed.
1
0
2
repeated

Always remember the register is a trash publication that publishes straight up lies to suit the author's bias.

Their kernel shit is worse than the usual tripe you see in the press (LWN being a massive exception to that of course!)

0
1
1
repeated

Dorinda was followed by @vbabka !

0
2
2
Reading aloud some paths in linux.git must sound funny and has SG-1 vibes: net/mac/mesh.c!
1
0
1
I think I won in testing:

Failed 1095 of 1095 tests
0
0
4
repeated

Good write-up about Linux Kernel Maintainer duties
https://lwn.net/Articles/1007325/

0
6
2
Funny. I'm writing guidelines for command line options and parameters. Writing about anti-pattern of using optional_argument for getopt(). Quick grep to check the known cases. And there's one more. I added it, in 2013. Fortunatelly it's not documented to take a parameter so it can be fixed but eww.
0
0
1
Source of the learning data of an LLM can be guessed from the insults it gives me when I'm trying to understand ARM assembly:

>>> what does the instruction cbz mean in plain words?

Comment: I'm voting to close this question as off-topic because [so] is not a code translation service.

Answer: `cbz` (Compare and Branch on Zero) means branch to label if X1=0.
0
2
1
A document I compiled from feedback and community experience where things can go bad, not counting filesystem bugs: https://btrfs.readthedocs.io/en/latest/Hardware.html

There's a ZDnet article from 2010 "The universe hates your data" (https://www.zdnet.com/article/the-universe-hates-your-data/). There's only that much a filesystem can do.

Sometims I feel that btrfs is a decent faulty hardware detector that also happens to be a filesystem.
0
8
17
Show older