[PATCH] Add MAXCPU as a kernel config option and quality discussion on this

Peter Wemm peter at wemm.org
Fri Jul 8 18:14:38 UTC 2011


On Fri, Jul 8, 2011 at 10:56 AM, Peter Wemm <peter at wemm.org> wrote:
> On Fri, Jul 8, 2011 at 10:14 AM, John Baldwin <jhb at freebsd.org> wrote:
>> On Friday, July 08, 2011 12:48:44 pm Kostik Belousov wrote:
>>> On Fri, Jul 08, 2011 at 05:37:17PM +0200, Attilio Rao wrote:
>>> > I've made this patch for making MAXCPU a kernel config option:
>>> > http://www.freebsd.org/~attilio/maxcpu_kernel_opt.diff
>>> >
>>> > Besides if this is a good idea or not (which I think it is) I want to
>>> > discuss this implementation and similar related problems.
>>> > In this case I've been forced to include opt_maxcpu.h in all the MD
>>> > param.h implementations. A similar case, KSTACK_PAGES, includes the
>>> > opt_kstack_pages.h only in the consumers. While this is possible for
>>> > KSTACK_PAGES, because there are very little consumers, it would be
>>> > impratical for MAXCPU. Besides, this is a very dangerous practice
>>> > IMHO: if a consumer fails to add opt_kstack_pages it may end up with a
>>> > faulty value, introducing a breakage that would go unnoticed.
>>> >
>>> > In my case, I think that including opt_maxcpu is a viable panacea, but
>>> > in general, after discussing with peter@, probabilly the better idea
>>> > would be having a centralized script that does pre-processing before
>>> > to start compiling and set with the right values all those constants
>>> > (something like genassym.c, but of course with a different purpose).
>>> >
>>> > What are your ideas on that? Do you think that including opt_maxcpu.h
>>> > would be acceptable for the time being?
>>>
>>> I vote for putting MAXCPU in opt_global.h.
>>> Why did you choosed separate opt header ?
>>
>> I agree this should just go into opt_global.h.
>
> I disagree. That makes it even harder to track down KLD's that depend
> on the correct value of MAXCPU.

Ahh crap. I forgot about this:
#ifdef _KERNEL
#define CPU_SETSIZE     MAXCPU
#endif

MAXCPU does have to be in opt_global.h and potentially affects kernel modules.

-- 
Peter Wemm - peter at wemm.org; peter at FreeBSD.org; peter at yahoo-inc.com; KI6FJV
"All of this is for nothing if we don't go to the stars" - JMS/B5
"If Java had true garbage collection, most programs would delete
themselves upon execution." -- Robert Sewell


More information about the freebsd-arch mailing list