Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 11 Sep 2017 21:30:18 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-bugs@FreeBSD.org
Subject:   [Bug 222242] [patch] allow masks smaller than cpuset_t, if large enough for mp_maxid
Message-ID:  <bug-222242-8@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D222242

            Bug ID: 222242
           Summary: [patch] allow masks smaller than cpuset_t, if large
                    enough for mp_maxid
           Product: Base System
           Version: 11.1-RELEASE
          Hardware: amd64
                OS: Any
            Status: New
          Keywords: patch
          Severity: Affects Some People
          Priority: ---
         Component: kern
          Assignee: freebsd-bugs@FreeBSD.org
          Reporter: freebsd@ruka.org
          Keywords: patch

Created attachment 186278
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=3D186278&action=
=3Dedit
patch to check that mask is actually too small, not just smaller than the
kernel compiled type

As mentioned in Bug 200802, increasing MAXCPUS breaks compatibility for
software setting cpu affinity compiled on earlier versions of FreeBSD.

With this patch, the calls will only fail with ERANGE if the mask size is
actually too small.

In case of running old binaries on new systems with more cpus than fit in t=
he
mask, that's still not going to work with this patch.=20

In response to a comment on that bug:
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D200802#c4

> Shouldn't cpuset users be querying the cpuset size from sysctl and using =
that as their allocation base?

Possibly, but then the calling code wouldn't be able to use cpuset_t types,=
 or
CPU_SET macros.

Some updates of documentation would be required too, as the documentation
currently says when using a too small mask, get returns an error, and set r=
uns
without error (which doesn't appear to be correct).

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-222242-8>