https://bugs.openldap.org/show_bug.cgi?id=8977

--- Comment #13 from Quanah Gibson-Mount <[email protected]> ---
(In reply to Quanah Gibson-Mount from comment #8)
> --On Thursday, June 27, 2019 8:56 PM +0000 [email protected] wrote:
> 
> > --On Thursday, June 27, 2019 8:35 PM +0000 [email protected] wrote:
> >
> >> No, because order is irrelevant for these.
> >
> > Cool, thanks!  I'll continue on with deeper testing then. :)
> 
> Given the current implementation of OpenLDAP, this feature is impossible to 
> use w/o recompiling OpenLDAP when a change to the IDL size is made.  This 
> is because LDAP_PVT_THREAD_STACK_SIZE must be adjusted as well and that 
> requires a recompile.
> 
> The default size for LDAP_PVT_THREAD_STACK_SIZE is:
> 
> ( 1 * 1024 * 1024 * sizeof(void *) )
> 
> which works for an IDL size of 16 (2^16) which is 65536.
>
> If you change the IDL size, say to 22, then the new IDL size is: 4,194,304. 
> We then use this difference to find the offset we need to adjust 
> LDAP_PVT_THREAD_STACK_SIZE by:
> 
> 4194304/65536 = 64
> 
> So it needs to be 64 time larger:
> 
> ( 64 * 1024 * 1024 * sizeof(void *) )
> 
> 
> Generally, this feature is simply unusuable (currently) as a tunable given 
> the requirement for recompiling OpenLDAP to use it.

I believe the above explanation is incorrect, so want to update it.

1024*1024^2 = 1,048,576

This appears to work with an idlexp of 20, which is also 1,048,576

So really what is required is that the LDAP_PVT_THREAD_STACK_SIZE_VALUE total
needs to match the 2^idlexp value.

So, 2^22 is 4,194,304, so in this case, the LDAP_PVT_THREAD_STACK_SIZE_VALUE
would need to be recompiled as ( 4 * 1024 * 1024 * sizeof(void *) )

-- 
You are receiving this mail because:
You are on the CC list for the issue.

Reply via email to