lkml.org 
[lkml]   [2012]   [Feb]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH UPDATED 11/11] blkcg: unify blkg's for blkcg policies
On Fri, Feb 03, 2012 at 12:59:10PM -0800, Tejun Heo wrote:
>
> > [..]
> > > @@ -776,43 +786,49 @@ blkiocg_reset_stats(struct cgroup *cgrou
> > > #endif
> > >
> > > blkcg = cgroup_to_blkio_cgroup(cgroup);
> > > + spin_lock(&blkio_list_lock);
> > > spin_lock_irq(&blkcg->lock);
> >
> > Isn't blkcg lock enough to protect against policy registration/deregistration.
> > A policy can not add/delete a group to cgroup list without blkcg list.
>
> But pol list can change regardless of that, no?

Ok, looks like now it is needed because blkcg lock will just gurantee that
blkg is around but blkg->pd[plid] can disappear if you are not holding
blkio_list lock (update_root_blkgs).

I am wondering if we should take blkcg->lock if blkg is on blkcg list and
is being modified in place. That way, once we are switching elevator,
we should be able to shoot down the policy data without taking blkio_list
lock.

Thanks
Vivek


\
 
 \ /
  Last update: 2012-02-03 22:47    [W:0.266 / U:0.456 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site