Exploiting Dual Core's with Py_NewInterpreter's separated GIL ?
Andrew MacIntyre
andymac at bullseye.apana.org.au
Fri Nov 10 19:42:28 EST 2006
Robin Becker wrote:
> Robin Becker wrote:
>> Andrew MacIntyre wrote:
>>> Robin Becker wrote:
>>>
>>>> I think it uses sysv semaphores and although freeBSD 6 has them
>>>> perhaps there's something I need to do to allow them to work.
>>> IIRC, you need to explicitly configure loading the kernel module, or
>>> compile the kernel with the necessary option in the config file.
>>>
>> I tried loading the module, but it seems already to be in the kernel.
>> Probably some sysctl stuff to do.
>>
> In fact the semaphore modules are built in now. I did some debugging and the
> error happens in the code at SemSet.c line 25
>
>
> for (i = 0; i < sets; i++) {
> int id = semget(IPC_PRIVATE, MAX_SYSV_SET_SIZE, IPC_CREAT
> | S_IREAD | S_IWRITE); //SEM_R | SEM_A);
> if (id == -1) {
>
> the first semget(i=0) succeeds and the second fails with an errno ENOSPC which
> from the man page implies a resource issue of some kind.
>
> [ENOSPC] Insufficiently many semaphores are available.
> [ENOSPC] The kernel could not allocate a struct semid_ds.
>
>
> I guess the freebsd limits must be different to the original development
> environment.
The number of semaphores is certainly tunable - the SYSV IPC KERNEL
PARAMETERS section in the file /usr/src/sys/conf/NOTES lists the SYSV
semaphore parameters that can be set in the kernel config.
--
-------------------------------------------------------------------------
Andrew I MacIntyre "These thoughts are mine alone..."
E-mail: andymac at bullseye.apana.org.au (pref) | Snail: PO Box 370
andymac at pcug.org.au (alt) | Belconnen ACT 2616
Web: http://www.andymac.org/ | Australia
More information about the Python-list
mailing list