OpenSolaris

Printable Version Enter a New Search
Bug ID 6466380
Synopsis Project resource set callbacks are needlessly called on every fork()
State 6-Fix Understood (Fix is known)
Category:Subcategory kernel:rctl
Keywords caps | project | resource
Responsible Engineer Menno Lageman
Reported Against
Duplicate Of
Introduced In solaris_9
Commit to Fix
Fixed In
Release Fixed
Related Bugs 6327235 , 6464123 , 6464127 , 6464161 , 6516818
Submit Date 1-September-2006
Last Update Date 28-July-2009
Description
The fork() calls task_attach to attach a process to a task.
The task_attach() does the following:

        /*
         * Now that the linkage from process to task and project is
         * complete, do the required callbacks for the task and project
         * rctl sets.
         */
        e.rcep_p.proj = tk->tk_proj;
        e.rcep_t = RCENTITY_PROJECT;
        (void) rctl_set_dup(NULL, NULL, p, &e, tk->tk_proj->kpj_rctls, NULL,
            RCD_CALLBACK);

        e.rcep_p.task = tk;
        e.rcep_t = RCENTITY_TASK;
        (void) rctl_set_dup(NULL, NULL, p, &e, tk->tk_rctls, NULL,
            RCD_CALLBACK);

It calls all project and task set callbacks for the project. This is not actually needed.
Project callbacks are called when a project is created and no callbacks care about a new
process joining the project.
Work Around
N/A
Comments
N/A