IRC channel logs

2024-02-22.log

back to list of logs

<azert>I understood that migrating threads were mostly a resource accounting tool. But yes, I understand that this optimization might not be implemented but it seems important since if not there will be lots of dispatching and cache faults for no gain
<youpi>migrating threads are useful to account expenses, yes
<youpi>but that's also useful for locality in the end
<azert>Ah, the migrating thread data structures was probably where this information could be passed along the layers
<solid_black>good morning
<damo22>good evening
<solid_black>:)
<solid_black>so does ext2fs run w/ smp now?
<damo22>i havent tried
<damo22>i mean, it runs in cpu0
<damo22>and works with slave_pset sending requests to it
<solid_black>yeah, but let's try to run it on full smp?
<solid_black>and debug any issues that come up
<youpi>better run a second ext2fs in the pset, not the / ext2fs ;)
<solid_black>that'd be a good start, yeah
<solid_black>a second ./smp /hurd/ext2fs, and run a -j8 build on that
<damo22>can it work as a translator entry?
<youpi>and fsck it after doing so
<youpi>to check that it really didn't get wrong :)
<youpi>damo22: I was thinking about it, I believe so
<youpi>since execve keeps all ports etc. intact
<solid_black>yes
<solid_black>at least rpctrace does work
<youpi>if ext2fs works really badly, perhaps try a simpler translator for
<youpi>such as fatfs or such
<damo22>do i need to create a smp storeio?
<youpi>testing storio is a separate question :)
<solid_black>indeed
<youpi>note anyway that storeio is just a proxy for the information
<youpi>ext2fs then doesn't use it
<youpi>see the bypass in libstoreio
<youpi>that gets the storage information from storeio, then directly access the underlying data
<damo22>i dont know how to mount with settrans
<youpi>settrans /mnt/mnt /hurd/ext2fs /my/disk/image.img
<youpi>if you want an active mount, add -a
<solid_black>settrans -ac, rather
<youpi>settrans -a /mnt/mnt /hurd/ext2fs /my/disk/image.img
<youpi>-c if /mnt/mnt doesn't exist yet, yes
<youpi>is there a limit on the number of processors? (because of e.g. cpumask or such)
<youpi>there are machines here in the lab with 64 hyperthreaded cores, so I can stress this "a bit" :)
<solid_black> https://xkcd.com/619/
<youpi>heh :D
<damo22>root@zamhurd:~# e2fsck -y /dev/wd0s3
<damo22>e2fsck 1.46.6 (1-Feb-2023)
<damo22>/dev/wd0s3: clean, 616200/3276800 files, 6413347/13107200 blocks
<solid_black>-f
<damo22>that was after a -j8 build
<youpi>use -f, yes
<solid_black>but the build succeeded?
<damo22>yes
<youpi>so is fsck fine with -f ?
<damo22>and ext2fs used 125% cpu at one point
<youpi>I was wondering whether top was displaying such stats correctly, so it does?
<youpi>does the per-cpu stats work too?
<youpi>(when typing 1)
<damo22>no
<damo22>the per cpu stats dont work
<damo22>but it displays % correctly
<youpi>ok, that'd be useful to fix :)
<solid_black>does top read /proc, or does it use something Hurd-spcific?
<youpi>it's probably not hard
<youpi>it uses /proc
<youpi>so it's procfs to be fixed
<damo22>-fy completed with no errors
<solid_black>🎉️
<youpi>yay
<damo22>i mounted the disk with settrans -a /part3 /home/demo/bin/smp /hurd/ext2fs /dev/wd0s3
<solid_black>time to try root / with smp then :D
<youpi>there's also the "last cpu used" columns which would be interesting to fix
<youpi>I don't remember what top uses to get that though
<damo22>how do i build a debian package with -j8
<solid_black>doesn't it do that by default?
<damo22>i want to try building rumpkernel
<damo22>the problem with ./smp is that it needs root
<youpi>DEB_BUILD_OPTIONS=parallel=8
<youpi>export that
<solid_black>./smp sudo --user=me make?
<youpi>normally it uses nproc
<solid_black>and nproc is 8
<damo22>ok
<youpi>but at worse you can force with that
<damo22>i end up doing
<damo22># ./smp /bin/bash
<damo22># su demo
<damo22>$ make -j8
<damo22>it would be nice to be able to drop privileges to another user in one command
<youpi>you can combine it all
<youpi>sudo ./smp su demo make -j 8
<youpi>module some options
<youpi>to tell su that it's make -j 8 you want to run
<solid_black>(yay unix)
<damo22>heh
<solid_black>also on teh Hurd specifically, you can have root (or other) privileges without it being your euid
<damo22>sudo ./smp su demo -c make -j8
<solid_black>so e.g. any files will be created as 'demo', but you will have all the access that 'root' has (including host priv port)
<solid_black>could you also measure the time it takes?
<solid_black>i.e. time make; make clean; time make -j8
<damo22>$ sudo /home/demo/bin/smp /usr/bin/su demo -c "make -j8"
<solid_black>really, just do $ addauth --pid=$$ root
<solid_black>and drop all the sudo/su
<solid_black>actually we should only need to keep copies of the first and the last vm entry in the address range
<solid_black>so no need for alloca
<solid_black>also there's the entry->in_transition mechanism, looks like it's supposed to be used for cases like ours
<gnucode>Am I reading the logs right? Ya'll got ext2fs working vis SMP ?
<sneek>gnucode, you have 1 message!
<sneek>gnucode, nckx says: No, but I'd be happy to create one if useful.
<youpi>gnucode: yes, apparently it's all fine without any fixes inside ext2fs
<gnucode>that's pretty awesome!