> Date: Sat, 27 Nov 2021 20:28:39 +0000
> From: Stuart Henderson <[email protected]>
>
> I have some amd64 machines which are doing 600+ gettimeofday/second
> at quiet times and way more when they're busy and I'd quite like to
> get them onto userland tsc, however they're dual socket and the skew
> between cores on the different sockets is too great. There's no way to
> disable a socket in BIOS settings, and physically removing a cpu would
> be very inconvenient.
I don't think ~1000 system calls per second is something you really
need to be worried about.
>
> Where would I need to make changes (as a local patch obviously) to skip
> a cpu? Can I just avoid doing the cpu_intr_init/cpu_start_secondary/
> sched_init_cpu/ncpus++/etc from amd64/cpu.c 638-645 ? i.e. these bits
Best way is probably to skip attaching the CPUs in dev/acpi/acpimadt.c
> 631 case CPU_ROLE_AP:
> 632 /*
> 633 * report on an AP
> 634 */
> 635 printf("apid %d (application processor)\n",
> caa->cpu_apicid);
> 636
> 637 #if defined(MULTIPROCESSOR)
> 638 cpu_intr_init(ci);
> 639 cpu_start_secondary(ci);
> 640 sched_init_cpu(ci);
> 641 ncpus++;
> 642 if (ci->ci_flags & CPUF_PRESENT) {
> 643 ci->ci_next = cpu_info_list->ci_next;
> 644 cpu_info_list->ci_next = ci;
> 645 }
> 646 #else
> 647 printf("%s: not started\n", sc->sc_dev.dv_xname);
> 648 #endif
>
>