bind-9.5.0b1 problem on ppc64 : rbtdb.c:1532: REQUIRE(prev > 0) failed
Fajar A. Nugraha
fajar at fajar.net
Tue Feb 5 03:42:53 UTC 2008
JINMEI Tatuya / ç¥æéå wrote:
> At Tue, 05 Feb 2008 09:44:49 +0700,
> "Fajar A. Nugraha" <fajar at fajar.net> wrote:
>
>
>>>> First I build 32 bit rpm (ppc), which works fine on older ppc machine
>>>> (power4, CPU, 1GHz). This machine doesn't have the processing power
>>>> required for our needs. To give an idea of the workload, "rndc status"
>>>>
>>> What other stuff is it doing? if it is only a DNS server, CPU means very
>>> little, its memory that counts, however having said that,
>>>
>> It's a caching DNS server. In this case CPU matters a lot, as the old
>> box tops at 100% CPU usage most of the time, and the new box is between
>> 30% - 60% (when it's working).
>>
>
> One possible workaround is to rebuild BIND9 by hand without threads.
> I guess you'll be just satisfied without the help of threads based on
> the above numbers. Alternatively, you can build it with threads but
> without atomic operations:
>
> ./configure --enable-threads --disable-atomic
>
> I'd expect this with 2 threads still outperforms a non-threaded
> instance of named. But make sure you specify a small number of worker
> threads (I'd recommend 2) by the -n command line option, because the
> lock overhead among many threads without atomic operations can easily
> outweigh the performance gain of concurrency.
>
>
Hi Jinmei,
Thank you for your response.
So let me get this straight. For my 8-way system, the (currently)
recommended setting to achieve max performance is :
- recompile bind, enable threads, disable atomic
- start bind with "-n 2" argument
Meaning that (again, currently) 6 of the 8 CPU will be unused by bind,
right?
And that another option would be to disable threads altogether, and then
I can use all my 8 CPUs?
>> The new box has 8G memory. However, named seeems to use only a little
>> over 2G (this without any cache or datasize limit). Is there a way to
>> make bind use, say 4-6G memory? When I tried setting max-cache-size to
>> 4G, named refuses to start :-P
>>
>
> In this case you should be fine with the current setting (i.e.,
> "unlimited", which actually means 2^32-1 bytes).
>
Is this limit the same for 32 and 64 bit arch?
If I set (for example) :
- max-cache-size unlimited
- max-acache-size unlimited
- datasize 16G
does that mean bind can use up to 2*(2^32-1) bytes for caching?
> p.s. the ideal solution is to write atomic operations in
> ppc64-friendly assembly, of course, but right now we don't have that
> machine environment.
>
>
Would it help if we provide a development environment for that purpose
:-D ?
Regards,
Fajar
More information about the bind-users
mailing list