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>check*
<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.
<damo22>biblio: thats interesting
<damo22>i havent seen that before
<biblio>damo22: let me paste the logs
<damo22>which hash are you on
<biblio>damo22: with smp 8 failure - https://paste.debian.net/1309381/ with smp 1 success - https://paste.debian.net/1309382/ i am using nographic with console=com0. I am using your fix-smp with git reset HEAD~1 = be00985ada8ea0f7ed1dd0b2ed222b6f8c5ceefc
<biblio>damo22: in success case BSP: Completed SMP init but in failure case "BSPL: ComplAeted SMPP iInCi ttim" garbage value added (other parallel output)
<damo22>let me test same thing
<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>no one is a pointer
<biblio>damo22: then fine.
<damo22>did you compile with --enable-ncpus=8 ?
<biblio>damo22: yet as far I remember.
<damo22>can you check build/config.log
<damo22>for exactly the compile flags
<biblio>damo22: --enable-ncpus=4
<damo22>yes that will crash with -smp 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
<damo22>that probably makes more sense
<damo22>well it should be doing that
<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>if it doesnt do that, its a bug
<anatoly>yep
<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
<damo22>maybe there is another race
<biblio>damo22: ok i will check and update you.
<damo22>biblio: what is the host cpu?
<damo22>im curious if its faster or slower than mine
<biblio>damo22: Intel(R) Xeon(R) E-2176M CPU @ 2.70GHz
<damo22>ok
<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>no its fine, you found a bug
<damo22>but we need to debug it
<biblio>damo22: ok
<damo22>i cant seem to reproduce it though
<damo22>mine boots to shell
<damo22>(with pinning from that branch)
<biblio>damo22: i will debug and check.
<damo22>biblio: make sure you run autoreconf -fi in the top level before configure
<biblio>damo22: noted
<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"
<damo22>you need to use wd0
<biblio>damo22: ok thanks