#508 lock-free access to FrontendConfig structure
Closed: wontfix None Opened 11 years ago by rmeggins.

systemtap analysis shows heavy contention when accessing config_get_anon_limits_dn, config_get_dn_validate_strict, config_get_minssf_exclude_rootdse, config_get_maxthreadsperconn, config_get_max_filter_nest_level, config_get_ioblocktimeout, config_get_syntaxcheck, slapi_config_get_readonly, config_get_lastmod, config_get_schemacheck, config_get_syntaxlogging, config_get_require_secure_binds, config_get_rootdn, and other config parameters - we should investigate ways to access these values in a lock-free way - make a copy of these in the operation structure before each operation - use atomic variables for integer values - use thread local storage - use reference counting/hazard pointers


I noticed that not all of the config "get" functions, for settings that are "on|off", use CFG_ONOFF_LOCK_READ, but we use the write lock to set it. For example, config_get_accesslog_logging_enabled(). Is this by design?

Replying to [comment:5 mreynolds]:

I noticed that not all of the config "get" functions, for settings that are "on|off", use CFG_ONOFF_LOCK_READ, but we use the write lock to set it. For example, config_get_accesslog_logging_enabled(). Is this by design?

I guess so. Some get/set functions never had locking at all, so I didn't add locking where it wasn't before.

To ssh://git.fedorahosted.org/git/389/ds.git
cce46be..3d212a5 master -> master
commit 3d212a5
Author: Rich Megginson rmeggins@redhat.com
Date: Fri Nov 30 11:58:27 2012 -0700
commit a0caf59
Author: Rich Megginson rmeggins@redhat.com
Date: Fri Nov 30 08:44:09 2012 -0700

Metadata Update from @rmeggins:
- Issue assigned to rmeggins
- Issue set to the milestone: 1.3.1

7 years ago

389-ds-base is moving from Pagure to Github. This means that new issues and pull requests
will be accepted only in 389-ds-base's github repository.

This issue has been cloned to Github and is available here:
- https://github.com/389ds/389-ds-base/issues/508

If you want to receive further updates on the issue, please navigate to the github issue
and click on subscribe button.

Thank you for understanding. We apologize for all inconvenience.

Metadata Update from @spichugi:
- Issue close_status updated to: wontfix (was: Fixed)

3 years ago

Login to comment on this ticket.

Metadata