On 2015/2/2 12:09, Viresh Kumar wrote:
On 2 February 2015 at 09:36, ethan zhao <ethan.z...@oracle.com> wrote:
  Is that an idea it supposed to be or fact ?

if (!cpufreq_suspended)
             cpufreq_policy_free(policy);

  static void cpufreq_policy_free(struct cpufreq_policy *policy)
{
     free_cpumask_var(policy->related_cpus);
     free_cpumask_var(policy->cpus);
     kfree(policy);
}

  It seems
  you just think about it ideally in mind.
 We am talking about the policy allocation and de-allocation. right ?
 I showed you the cpufreq_policy_free(policy) doesn't check kobject
 refcount  as above.

 Hmmm, you are still sleeping in the kobject, wake up and don't mix
 water anymore.

Thanks,
Ethan


if (!cpufreq_suspended)
         cpufreq_policy_put_kobj(policy);

static void cpufreq_policy_put_kobj(struct cpufreq_policy *policy)
{
         ...

         kobject_put(kobj);

         /*
         * We need to make sure that the underlying kobj is
         * actually not referenced anymore by anybody before we
         * proceed with unloading.
         */
         pr_debug("waiting for dropping of refcount\n");
         wait_for_completion(cmp);
}

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to