Source-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: CVS commit: src
> yamt%mwd.biglobe.ne.jp@localhost (YAMAMOTO Takashi) wrote:
> > > Sorry for late reply, let's figure out this. My points was:
> > > - Since MAXCPUS can only be increased, ABI would not be broken;
> >
> > MAXCPUS can only be increased? why?
>
> In time we would like to support more processors, not vice-versa :)
> I guess you do not want to depend on such assumption?
i don't, unless there's a good reason to depend on it.
> > anyway it depends on what do you mean by "ABI would not be broken".
> > old schedctl binaries might not crash. however they can't handle
> > the increased MAXCPUS properly.
> > <...>
>
> True, this needs to be fixed...
>
> > > - Why silent truncation is wrong in this case?
> >
> > each truncated bits can be either 0 or 1.
> > how can you know which was intended?
>
> In truncated part would be CPUs whose numbers are >= MAXCPUS. System does not
> support them, so it does not matter. Your concern is error instead silence?
of course, it matters.
- for get, it means showing a wrong bitmap.
- for set, it means saying a success while it actually (partially) failed.
i really don't understand why you don't consider them as bugs.
> > > Are you suggesting CPUSET_SIZE to not depend on MAXCPUS?
> >
> > i'm suggesting to make it dynamic at least for userland programs.
> >
> > - syscalls should not truncate bitmaps silently. they should return
> > appropriate errors.
> >
> > - userland should not assume the size of cpuset_t.
> > there should be a way for userland to query the bitmap size
> > for "get" syscalls. (probably like getsockopt)
>
> OK, we can use syscall or perhaps sysconf(_SC_CPUSET_SIZE) for schedctl(8)
> and suggest to use that in manuals. However, I want to keep the compatibility
> with Linux, they use: sched_setaffinity(pid, sizeof(cpuset_t), &set);
while you can make it compatible, is there any reason to
make our native one (_sched_setaffinity) inherit the limitations?
iirc recent linux has a set of macros to allocate dynamic-sized cpusets.
can you check?
YAMAMOTO Takashi
>
> --
> Best regards,
> Mindaugas
> www.NetBSD.org
Home |
Main Index |
Thread Index |
Old Index