IRC channel logs
2024-03-04.log
back to list of logs
<youpi>damo22: I don't understand: you mentioned "the problem is, if you create a new translator entry with xattr, and go back to old option, it wont detect it" <youpi>but your patch doesn't change that? <youpi>actually it looks like it will detect it, and your patch only adds the check for the compat feature? <youpi>(which should have been documented in the changelog, that would have saved me the time to understand what you were doing) <youpi>that's also why better not collapse commits that do differnt things <youpi>it always makes reviewing more time-consuming <damo22>yes sorry, i realised the code does do that but was missing the compat feature <damo22>i should have put that in the commit message <biblio>damo22: I was trying to debug your smp code. As far I understood, when you enable lapic_enable() after starting other APs, it is generating an interrupt and "panic {cpu0} ../vm/vm_kern.c:876: kmem_submap: kmem_submap". Is there anything I missed. <biblio>damo22: in success case BSP: Completed SMP init but in failure case "BSPL: ComplAeted SMPP iInCi ttim" garbage value added (other parallel output) <biblio>damo22: pset_add_processor(&default_pset, processor); but in other case pset_add_processor(slave_pset, processor); - I am not sure if it should be &slave_pset - I didn't check in detail yet. <damo22>did you compile with --enable-ncpus=8 ? <biblio>damo22: ok I will check with --enable-ncpus=8 <damo22>we probably need to make it complain <anatoly>why does it crash with -smp 8 if compiled with --enable-ncpus=4 ? <damo22>because nobody bounds checked the NCPUS <damo22>and some loops use NCPUS while others loop over how many were detected <damo22>so if the number detected exceeds NCPUS it should refuse to boot <damo22> because some arrays are statically allocated if i recall <damo22>it could just initialise 4 cpus if it was compiled with max of 4 and running on a system with 8 <anatoly>yep, I saw statically allocated array with NCPUS values as a size <anatoly>yep, I'd expect it work if NCPUS <= number of cpus in the system <anatoly>kinda generalised case of (NCPUS = 1) <= number of cpus in the system :-) <anatoly>I guess it's harder in the opposite case because it will require dynamically allocate all of those arrays <damo22>no, it should work if number of cpus in the system <= NCPUS <damo22>ie, if there are more cpus than NCPUS it will break something <damo22>but anyway, the code looks like its already set up to ignore cpus that are more than NCPUS <damo22>biblio: the log you showed with -smp 8 failure, that was compiled with --enable-ncpus >= 8 <damo22>it would not have tried to initialise 8 cpus if it was compiled with 4 <damo22>so if you compiled with --enable-ncpus=8 i cant reproduce your fault <biblio>damo22: ok i will check and update you. <damo22>im curious if its faster or slower than mine <biblio>damo22: Intel(R) Xeon(R) E-2176M CPU @ 2.70GHz <damo22>mine is Intel(R) Core(TM) i7-2760QM CPU @ 2.40GHz <biblio>damo22: i have one i5 machine. I can also check on that one. <damo22>i cant seem to reproduce it though <damo22>biblio: make sure you run autoreconf -fi in the top level before configure <damo22>biblio: ../configure --enable-apic --enable-kdb --enable-ncpus=8 --disable-linux-groups <biblio>damo22: yes I used this config param. But one thing I did not get, after building if I boot with smp 1. I am getting "ext2fs: part:2:device:hd0: No such device or address". Did you also change you grub.conf ? <biblio>damo22: i am using the command you suggested to boot "qemu-system-i386 -M q35,accel=kvm -smp 8 -m 4096 -net user,hostfwd=tcp::8888-:22 -net nic -display curses -hda /path/to/disk/or/image"