IRC channel logs

2024-03-10.log

back to list of logs

<gnucode>damo22: I feel like we should document your proposal for hurdsound on the hurd wiki.
<gnucode>and I need to document the guy who created a guy for how to contribute to your SMP efforts.
<biblio>gnucode: I wrote a personal note for smp - https://netuse.dynamicmalloc.com/hurd_notes.html#org9f3936d - it might be helpful as intro. But waiting for actual documents from damo22.
<gnucode>biblio: yup. That's what I was referring to. I've already copied it. :) Just haven't submitted it. But you are welcome to race me to submit it for inclusion to the wiki.
<biblio>gnucode: sure you can submit. I did not add anything new with it. Just reading some books to understand low level staffs better.
<gnucode>sounds good.
<damo22>what are you waiting on from me?
<biblio>damo22: just some documents. How to test SMP and which things are pending for SMP, etc. would be great.
<biblio>damo22: how to contribute to x86 SMP support ? Which steps are needed to extend SMP support in other platforms. (like adding rumpkernel support first). Do we ned to fix virtual memory related code for supporting SMP ? etc. Q&A.
<damo22>biblio: smp mostly works on x86, but there are some strange race bugs that cause hang when booting a full smp system
<damo22>i dont know what is needed exactly, it needs to be tested and debugged
<biblio>damo22: yap. It is it written in wiki or somewhere, others are test can try to find out.
<damo22>is there a wiki page in the official docs relating to smp?
<biblio>damo22: guucode will try to create one.
<damo22>ive sent in a patch to wiki
<damo22>there is a faq page on smp already
<biblio>damo22: nice. So far I could not create deadlock or crash with stress tool yet.
<damo22>yes, stress tool using -c is just running sqrt() in a loop
<damo22>so theres not much interesting going on there
<damo22>you can try other options of stress
<damo22>read the help page
<biblio>damo22: ok. Bug can be fixed.
<damo22>biblio: youpi already merged my wiki edit
<biblio>damo22: thanks.
<gnucode>damo22: the most "complete" SMP page is here: https://darnassus.sceen.net/~hurd-web/open_issues/smp/
<damo22>hmm most of that has been completed
<gnucode>damo22: if you want to give me some pointers, then I can try to edit that "complete page."
<gnucode>or in that case "outdated page."
<damo22>basically smp is implemented
<damo22>so anything on that page that says we need to implement.... is already pretty much done
<damo22>but its good to keep the documentation on how it was done
<gnucode>ok. I can send a patch soonish. Does an enabled SMP Hurd, have internet working?
<damo22>see my last wiki edit
<damo22>basically, yes, because it boots with only one cpu in the default processor set
<damo22>so the slave processors are temporarily disabled until they are allowed to be used
<damo22>per task
<damo22>but we cant turn on the full set at boot time due to the race bugs
<damo22>youpi: how do i deconfigure pfinet?
<damo22>to test shutdown case of netdde.static
<damo22>it doesnt seem to have an option to shut off
<youpi>possibly just ifconfig
<youpi>possibly need to use fsysopts
<damo22>i did ifdown /dev/eth0 && inetutils-ifconfig /dev/eth0 down
<damo22>and then ifup /dev/eth0 works
<youpi>in principle ifdown already does ifconfig down
<gnucode>so the ethernet drivers are from netdde. gotcha.
<youpi>but did the shutdown path get triggerred?
<damo22>not sure
<youpi>make sure ;)
<damo22>i cant shell into the vm with no networking
<damo22>how do i run gdb
<youpi>just put a mach_print
<youpi>no need for something fancy
<damo22>ok
<damo22>no it doesnt
<damo22>somehow ifdown /dev/eth0 does not shutdown the irq handler
<youpi>you probably need to fsysopts /servers/socket/2 to tell pfinet to close /dev/eth0
<youpi>so that the rumpkernel driver stops the driver
<damo22>argh ifup /dev/eth0 keeps shutting it down
<damo22>you mean netdde
<damo22>this is baffling, the shutdown flag seems to toggle on and off repeatedly if you ifdown then ifup
<damo22>or is stuck on shutdown == true and then continuously shuts it down
<damo22>youpi: mach_msg_server() does not die when you mach_deallocate() the irq->port
<damo22>how do i get it to quit
<damo22>is that a bug?
<damo22>indeed it does not check the port
<damo22>in glibc
<damo22>shouldn't the mach message server break out of the loop if the port is deallocated?
<damo22>if its too expensive to check each time, could it just check if the port is MACH_PORT_NULL ?>
<damo22>ah no because it caches the rcv_name port
<damo22>making glue code to compile ALSA isnt easy though
<damo22>especially because they used linux/device.h
<damo22>ugh