Re: git: 160b4b922b60 - main - Add real sched.h
Date: Thu, 11 Nov 2021 08:06:34 UTC
On Thu, Nov 11, 2021 at 07:29:19AM +0000, Antoine Brodin wrote:
> On Wed, Nov 10, 2021 at 7:34 PM Konstantin Belousov <kib@freebsd.org> wrote:
> >
> > The branch main has been updated by kib:
> >
> > URL: https://cgit.FreeBSD.org/src/commit/?id=160b4b922b6021848b6b48afc894d16b879b7af2
> >
> > commit 160b4b922b6021848b6b48afc894d16b879b7af2
> > Author: Konstantin Belousov <kib@FreeBSD.org>
> > AuthorDate: 2021-10-22 15:17:21 +0000
> > Commit: Konstantin Belousov <kib@FreeBSD.org>
> > CommitDate: 2021-11-10 19:18:53 +0000
> >
> > Add real sched.h
> >
> > It is required by IEEE Std 1003.1-2008 AKA POSIX.
> >
> > Put some Linux compatibility stuff under BSD_VISIBLE namespace, in
> > particular, sys/cpuset.h definitions. Also, if user really want
> > Linux compatibility, she can request cpu_set_t typedef with
> > _WITH_CPU_SET_T define.
> >
> > Reviewed by: jhb
> > Sponsored by: The FreeBSD Foundation
> > MFC after: 1 week
> > Differential revision: https://reviews.freebsd.org/D32901
> > ---
> > include/Makefile | 5 +++--
> > include/sched.h | 46 ++++++++++++++++++++++++++++++++++++++++++++++
> > 2 files changed, 49 insertions(+), 2 deletions(-)
>
> Hi,
>
> It seems that this broke some ports:
> http://gohan03.nyi.freebsd.org/data/main-amd64-default-baseline/p913ccecf2a92_s448bcd01dc/logs/errors/ninja-1.10.2,2.log
> http://gohan03.nyi.freebsd.org/data/main-amd64-default-baseline/p913ccecf2a92_s448bcd01dc/logs/errors/ghc-8.10.7.log
> http://gohan03.nyi.freebsd.org/data/main-amd64-default-baseline/p913ccecf2a92_s448bcd01dc/logs/errors/openpgm-5.2.122_6.log
> http://gohan03.nyi.freebsd.org/data/main-amd64-default-baseline/p913ccecf2a92_s448bcd01dc/logs/errors/guile2-2.2.7_1.log
> http://gohan03.nyi.freebsd.org/data/main-amd64-default-baseline/p913ccecf2a92_s448bcd01dc/logs/errors/liburcu-0.12.1.log
> http://gohan03.nyi.freebsd.org/data/main-amd64-default-baseline/p913ccecf2a92_s448bcd01dc/logs/errors/guile-3.0.7.log
> http://gohan03.nyi.freebsd.org/data/main-amd64-default-baseline/p913ccecf2a92_s448bcd01dc/logs/errors/squid-4.15.log
> ...
Could you please try this? My intent was that cpu_set_t would be requested
as needed by consumers with _WITH_CPU_SET_T.
commit b6bb08f09dc7cf2796c35015f5aee93dedf33018
Author: Konstantin Belousov <kib@FreeBSD.org>
Date: Thu Nov 11 10:01:54 2021 +0200
sched.h: Make cpu_set_t compat typedef visible unconditionally
or rather, visible if BSD namespace is enabled, instead of requiring
_WITH_CPU_SET_T define to expose it. It seems a lot of code assumes
that presence of sched_getaffinity() implies existence of cpu_set_t.
Reported by: portmgr (antoine)
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
diff --git a/include/sched.h b/include/sched.h
index 1c41cda79046..2d4f301c9718 100644
--- a/include/sched.h
+++ b/include/sched.h
@@ -34,13 +34,8 @@
#include <sys/sched.h>
#if __BSD_VISIBLE
#include <sys/cpuset.h>
-#endif /* __BSD_VISIBLE */
-
-#if __BSD_VISIBLE
-#ifdef _WITH_CPU_SET_T
struct _cpuset;
typedef struct _cpuset cpu_set_t;
-#endif /* _WITH_CPU_SET_T */
#endif /* __BSD_VISIBLE */
__BEGIN_DECLS