Posts
3556
Following
214
Followers
361
Linux kernel maintainer. Compilers and virtualization at Parity Technologies.

Jarkko Sakkinen

I ended up ordering 9990X based machine, which I will later upgrade during its life-cycle to 9990X3D. Should be enough power for my needs in kernel and Rust...

First machine I bought "as a company" as I'm working as a contractor and first machine with water cooling ;-)

It's a custom build from local computer shop with 24 month full service for replacing parts etc. (so I don't have to do that).
0
1
1

Jarkko Sakkinen

Edited 27 days ago
BItwig Studio 5.3 will have the feature I've wanted to any DAW for ages: accented notes in the piano roll. So that you can use two logical velocities and then just put them into good values. A HUGE time saver...

From all the features listed, accented notes is my favorite. Wanted it for so long...

https://downloads.bitwig.com/5.3%20Beta%201/Release-Notes-5.3-Beta-1.html

#bitwig #musicproduction
1
0
0

Jarkko Sakkinen

Edited 27 days ago
Writing down this for myself for the most part to get idea what to write to the cover letter later on.

My RFC driver model for v4l2-loopback will be centered around /dev/video_loop. It has only single ioctl (OOT driver has three), which has N input parameters (describing metadata for the video device) and exactly two output parameters:

1. capture_fd: communications end point for the virtual capture device. Created using anonymous inode.
2. output_nr: /dev/video{output_nr} is the V4L2 device for the output.

There is no query ioctl because any sane program should at minimum know what resources it creates and should not have privilege in the first place to peak others resources.

There is no remove ioctl because close(capture_fd) destroys /dev/video{output_nr}

Neither overlay nor dma-buf support in the initial version (should be reviewed from basis that these can be extended later on).

#linux #kernel #video4linux #v4l2loopback
0
1
0

Jarkko Sakkinen

Getting camera when using Google Meet is a great motivator:

$ git -P log --oneline master..
4443634cf761 (HEAD -> v4l2-loopback-dev, origin/v4l2-loopback-dev) media: v4l2-loopback: Open code "max_buffers"
2675a7f243a9 media: v4l2-loopback: Reorganize constants
c2b256ea51a0 media: Remove V4L2L_OVERLAY code path
2518279c3788 media: Remove !V4L2LOOPBACK_WITH_STD code path
0d8d5155c6ab media: Open code v4l2l_pix_format_has_valid_sizeimage()
c5e199b864fe media: v4l2-loopback: Replace dprintk() with pr_debug()
75cc3a15ccf0 media: v4l2-loopback: Remove the parameter "debug"
36ae93bcb2d7 media: v4l2-loopback: Remove v4l2l_mod64()
0cf1e2192918 media: v4l2-loopback: Remove sysfs shenanigans
520e4971b347 media: v4l2-loopback: Remove dprintkrw()
1670e49b1d28 media: v4l2-loopback: Remove MARK()
8c6389ba1e2b media: v4l2-loopback: Remove MODULE_VERSION()
1a50af7267ae media: v4l2-loopback: Remove SNAPSHOT_VERSION code path
3d21bcb22993 media: v4l2-loopback: Remove MODULE_AUTHOR()
986380446e78 media: v4l2-loopback: Remove LINUX_VERSION_CODE checks
2929a5908be8 media: v4l2-loopback: Remove !HAVE_TIMER_SETUP code path
c7a76fbfd8f3 media: v4l2-loopback: Remove !SPLIT_DEVICES code path
778aa6da1fd9 media: v4l2-loopback: Allocate the device number dynamically
8bc12e106311 media: v4l2-loopback: Do not any create devices in *init_module()
073bd4bf72f7 media: v4l2-loopback: Import the driver

By continuing this trend I'll have a driver in few weeks :-)

#linux #kernel #video4linux
1
1
1

Jarkko Sakkinen

I have a dev-tree: https://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd.git/log/?h=v4l2-loopback-dev

1. Suck inner guts out of the OOT driver.
2. Wrap it up tpm_vtpm_proxy

So generally looking for advice on:

1. #Pipewire interaction
2. #Gstreamer interaction

Focus on what instead of how. I.e. if this existed how would uapi play for those upstream projects?

#linux #kernel #video4linux #webcam
1
2
2

This is like something out of medieval king’s court converted into a tweet.

2
1
1

Jarkko Sakkinen

Edited 1 month ago
Well, I heard someone working in game industry that the figures I get with Rust when compiling and linking are in par with C++ projects :-) Like compiling Unreal Engine for instance.

Based on Unreal Engine figures 9950X(3D) should be a decent CPU so with "matching" parts on non-ECC memory (with ThreadRipper I'd actually go with ECC memory), we are talking about 4k investment so be it.
0
0
1

Jarkko Sakkinen

This is literally my certificate of ownership for my downtown apartment in Tampere, Finland. I'd call this a proper stock :-) Especially love the tape fix in the middle.

Still I'm now looking into putting my place to digital register and hang this to my wall...
1
0
3

Jarkko Sakkinen

Edited 1 month ago
Having used Rust professionally for a while I can say that it is programming language that literally requires latest desktop CPU from AMD or Intel, or to be fully lean something like ThreadRipper. Minimum RAM is rather 64GB than 32GB.

I guess this is progress when a programming language has higher spec requirements than any of the AAA games I'm aware of ;-) No wonder they call Zed as "multi-player editor".

My work Thinkpad melts with Rust and my own M2 Mac Mini Pro (12 cores, 32 GB RAM) can just barely keep up in phase.

PS. I wonder how much compiling Rust code has an effect to the climate change annually ;-) With a Threadripper I could almost literally warm up my house just by compiling Rust.

#Rust #rustlang
6
1
6

Thorsten Leemhuis (acct. 1/4)

If you are regularly interested in "x became y percent faster" news, check out the vfs file updates from @brauner merged for 6.13:

'"Introduce a new reference counting mechanism for files. […] improvement up to 3-5% on workloads with loads of threads.

Add a fastpath for find_next_zero_bit(). […] This improves pts/blogbench-1.1.0 read by 8% and write by 4% on Intel ICX 160.

[…] improves pts/blogbench-1.1.0 read up to 13%, and write up to 5% on Intel ICX 160. […]"

0
4
0

Krzysztof Kozlowski

Edited 1 month ago
Last year, for each of six Linux kernel releases - v6.7, v6.8 ... v6.12 - I was topping the list of most active contributors. This consistency led to a more interesting stat: I am one of the most active Linux kernel contributors for this period (and I don't count Kent here as he just dropped stuff out of tree... and then developed things to his own tree without review or mailing list collaboration) with 1339 commits upstream.

I am however more proud of another impact I made: I am one of the most active reviewers of the last one year of Linux kernel development. Reviewing takes a lot of time, a lot of iterations, a lot of patience, a lot of template answers and results with only "some" of reviewed-by credit going to Linux kernel git history. Yet here I am: ~1000 reviewed-by credits for last year v6.7 - v6.12 Linux kernel.

Source, LWN.net:
https://lwn.net/SubscriberLink/997959/377cf2f076306247/
2
9
54

Jarkko Sakkinen

Great, I made it. Created my own MOK key in Fedora:

$ sudo certutil -d /etc/pki/pesign -L

Certificate Nickname                                         Trust Attributes
                                                             SSL,S/MIME,JAR/XPI

Secure Boot Signing Key                                      Pu,Pu,Pu

Steps:

openssl req -config ./MOK.cnf -new -x509 -newkey rsa:4096 -nodes \
            -days 36500 -outform DER -keyout "MOK.priv" -out "MOK.der"
sudo certutil -A -i MOK.der -n "Secure Boot Signing Key" -d /etc/pki/pesign/ -t "Pu,Pu,Pu"
sudo openssl pkcs12 -export -out MOK.p12 -inkey MOK.priv -in MOK.der
sudo pk12util -i MOK.p12 -d /etc/pki/pesign

And yeah obviously you also want to do:

sudo mokutil --import MOK.der

#fedora #linux

1
1
1

Jarkko Sakkinen

Edited 1 month ago
I think in theory it could be possible to make static eBPF, i.e. take the source tree compile eBPF as inline modifications. I.e. mimic "printk debugging" with eBPF.

When kernel testing e.g. with BuildRoot this would be more lean than actual eBPF.

"git workspace" gives a reference model for clone snapshotting.

Usually when fixing kernel bug or doing some improvement to kernel, adding a few temp printk's is still imho the king because kernel compiles in no time. Dynamic tracing tools do not support this workflow very well. They support well debugging exactly live systems, which is totally different use case.

#linux #kernel #ebpf
0
1
0

Jarkko Sakkinen

Compiling > 2100 sub-crate dependency Rust project with hot sccache (< 5 misses), I noticed that my X1 ThinkPad finishes about 30 minutes and Mac M2 Pro in 10 minutes.

It gives a rough ballpark factor for single core performance against i7-1260P
given that compilation (which distributes best) takes quite insignificant portion of the time, and most is spent in linking...
0
0
0

Jarkko Sakkinen

Edited 1 month ago
This is the only all rounds good Matrix client I'm aware of: https://iamb.chat/index.html It is terminal but is both multi-account and a separate thread view (and all E2EE crap).

From graphical ones GNOME projects Fractal is otherwise great except the lack of thread view.

#matrix
1
0
1

Jarkko Sakkinen

lol
0
0
1

Jarkko Sakkinen

Is there a kernel with CONFIG_PREEMPT on for Fedora? Like similar to https://liquorix.net/

#fedora #linux
1
1
0

What do you mean the chair is haunted?

3
3
0

Jarkko Sakkinen

After a Fedora kernel update WiFi works differently :-)

I have not dared to try out suspend (it's completely disabled) but now WiFi connection seldomly and randomly plain dies and I need to reconnect.

#fedora #linux
1
1
2
Show older