fixed and applied, thanks! Damien Zammit, le dim. 11 févr. 2024 12:00:29 +0000, a ecrit: > This is only enabled when NCPUS > 1. > Enables some older code paths that allows userspace > to manage cpu resources via processor set RPCs. > > Size of struct task is preserved while making 4 bitfields > addressable as 4 single byte fields. > > --- > configfrag.ac | 8 ++++++-- > kern/task.h | 10 +++++----- > 2 files changed, 11 insertions(+), 7 deletions(-) > > diff --git a/configfrag.ac b/configfrag.ac > index f9285c9d..b8b41261 100644 > --- a/configfrag.ac > +++ b/configfrag.ac > @@ -70,8 +70,12 @@ AC_DEFINE([MACH_DEBUG], [1], [MACH_DEBUG]) > # Fixed priority threads. > AC_DEFINE([MACH_FIXPRI], [1], [MACH_FIXPRI]) > > -# Mach host (resource alloc.). > -AC_DEFINE([MACH_HOST], [0], [MACH_HOST]) > +# Mach host (cpu resource alloc.). > +[if [ $mach_ncpus -gt 1 ]; then] > + AC_DEFINE([MACH_HOST], [1], [MACH_HOST]) > +[else] > + AC_DEFINE([MACH_HOST], [0], [MACH_HOST]) > +[fi] > > # IPC debugging calls. > AC_DEFINE([MACH_IPC_DEBUG], [1], [MACH_IPC_DEBUG]) > diff --git a/kern/task.h b/kern/task.h > index dec3a530..27970620 100644 > --- a/kern/task.h > +++ b/kern/task.h > @@ -61,11 +61,11 @@ struct task { > decl_simple_lock_data(,lock) /* Task's lock */ > int ref_count; /* Number of references to me */ > > - /* Flags */ > - unsigned int active:1, /* Task has not been terminated */ > - /* boolean_t */ may_assign:1, /* can assigned pset be changed? */ > - assign_active:1, /* waiting for may_assign */ > - essential:1; /* Is this task essential for the > system? */ > + /* Addressable flags */ > + unsigned char active; /* Task has not been terminated */ > + unsigned char may_assign; /* can assigned pset be changed? */ > + unsigned char assign_active; /* waiting for may_assign */ > + unsigned char essential; /* Is this task essential for the > system? */ > > /* Miscellaneous */ > vm_map_t map; /* Address space description */ > -- > 2.43.0 > > >
-- Samuel --- Pour une évaluation indépendante, transparente et rigoureuse ! Je soutiens la Commission d'Évaluation de l'Inria.