Re: git: 76887e84be97 - main - cpuset: increase userland maximum size to 1024
- In reply to: Corvin Köhne : "Re: git: 76887e84be97 - main - cpuset: increase userland maximum size to 1024"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 10 May 2023 17:29:53 UTC
On 5/9/23 2:40 AM, Corvin Köhne wrote: > On Tue, 2023-05-09 at 09:43 +0200, Corvin Köhne wrote: >> On Tue, 2023-05-09 at 08:59 +0200, Corvin Köhne wrote: >>> On Mon, 2023-05-08 at 18:26 +0000, Ed Maste wrote: >>>> The branch main has been updated by emaste: >>>> >>>> URL: >>>> https://cgit.FreeBSD.org/src/commit/?id=76887e84be975698b14699d7d0dfb157d73e9990 >>>> >>>> commit 76887e84be975698b14699d7d0dfb157d73e9990 >>>> Author:    Ed Maste <emaste@FreeBSD.org> >>>> AuthorDate: 2023-05-02 20:57:12 +0000 >>>> Commit:    Ed Maste <emaste@FreeBSD.org> >>>> CommitDate: 2023-05-08 18:25:15 +0000 >>>> >>>>    cpuset: increase userland maximum size to 1024 >>>> >>>>    Hardware with more than 256 CPU cores is now available and >>>> will >>>> become >>>>    increasingly common. Bump CPU_MAXSIZE (used for userland >>>> cpuset_t >>>>    sizing) to 1024 to define the ABI for FreeBSD 14. >>>> >>>>    PR:            269572, 271213 [exp-run] >>>>    Reviewed by:   mjg, jhb >>>>    Relnotes:      yes >>>>    Sponsored by:  The FreeBSD Foundation >>>>    Differential Revision: https://reviews.freebsd.org/D39941 >>>> --- >>>>  sys/sys/_cpuset.h | 2 +- >>>>  1 file changed, 1 insertion(+), 1 deletion(-) >>>> >>>> diff --git a/sys/sys/_cpuset.h b/sys/sys/_cpuset.h >>>> index b75ee595da3c..676f9855f384 100644 >>>> --- a/sys/sys/_cpuset.h >>>> +++ b/sys/sys/_cpuset.h >>>> @@ -40,7 +40,7 @@ >>>>  #define        CPU_SETSIZE     MAXCPU >>>>  #endif >>>> >>>> -#define        CPU_MAXSIZE     256 >>>> +#define        CPU_MAXSIZE     1024 >>>> >>>>  #ifndef        CPU_SETSIZE >>>>  #define        CPU_SETSIZE     CPU_MAXSIZE >>> >>> Hi Ed, >>> >>> this somehow breaks bhyve on my system. It immediately exits with >>> "vm_run error -1" on startup. >>> >>> >> >> Setting MAXCPU [1] to 1024 as well, solves the issue. Not sure if >> it's >> a regression of your commit or a bhyve bug. >> >> [1] >> https://github.com/freebsd/freebsd-src/blob/20d8d9809a8c0a3ddd1d0156e77ec53a1ed95747/sys/amd64/include/param.h#L68 >> >> > > vmm kernel module and bhyve userland are sharing a cpuset_t. So, this > commit introduces a mismatch in the ioctl signature of VM_RUN. Any > advice how to fix this properly, would be appreciated. The ioctl needs to change to follow the pattern all the syscalls that use cpuset_t do: take a pointer to the cpuset_t and a size instead of embedding the cpuset_t in the ioctl structure. We will have to define a COMPAT_FREEBSD13 structure and ioctl with the current structure with a hardcoded cpuset_t size (probably just inline cpuset_t member as an anonymous struct with the same members as cpuset_t but a constant for the array count) as well. -- John Baldwin