Showing error 1597

User: Jiri Slaby
Error type: Leaving function in locked state
Error type description: Some lock is not unlocked on all paths of a function, so it is leaked
File location: kernel/sched.c
Line in file: 3611
Project: Linux Kernel
Project version: 2.6.28
Tools: Stanse (1.2)
Entered: 2012-05-29 20:11:37 UTC


Source:

3581                 */
3582                if (sd->balance_interval < sd->max_interval)
3583                        sd->balance_interval *= 2;
3584        }
3585
3586        if (!ld_moved && !sd_idle && sd->flags & SD_SHARE_CPUPOWER &&
3587            !test_sd_parent(sd, SD_POWERSAVINGS_BALANCE))
3588                ld_moved = -1;
3589
3590        goto out;
3591
3592out_balanced:
3593        schedstat_inc(sd, lb_balanced[idle]);
3594
3595        sd->nr_balance_failed = 0;
3596
3597out_one_pinned:
3598        /* tune up the balancing interval */
3599        if ((all_pinned && sd->balance_interval < MAX_PINNED_INTERVAL) ||
3600                        (sd->balance_interval < sd->max_interval))
3601                sd->balance_interval *= 2;
3602
3603        if (!sd_idle && sd->flags & SD_SHARE_CPUPOWER &&
3604            !test_sd_parent(sd, SD_POWERSAVINGS_BALANCE))
3605                ld_moved = -1;
3606        else
3607                ld_moved = 0;
3608out:
3609        if (ld_moved)
3610                update_shares(sd);
3611        return ld_moved;
3612}
3613
3614/*
3615 * Check this_cpu to ensure it is balanced within domain. Attempt to move
3616 * tasks if there is an imbalance.
3617 *
3618 * Called from schedule when this_rq is about to become idle (CPU_NEWLY_IDLE).
3619 * this_rq is locked.
3620 */
3621static int
Show full sources