Re: [PATCH 1/2] CPUFREQ: Remove unneeded dbs_mutexes from ondemandand conservative governors

From: Pavel Machek
Date: Sun Jul 05 2009 - 15:47:10 EST


On Fri 2009-07-03 12:10:15, Thomas Renninger wrote:
> Hi Pavel,
>
> On Tuesday 30 June 2009 08:33:39 Pavel Machek wrote:
> > On Thu 2009-06-25 16:01:24, Thomas Renninger wrote:
> > > Comment from Venkatesh:
> > > ...
> > > This mutex is just serializing the changes to those variables. I could't
> > > think of any functionality issues of not having the lock as such.
> > >
> > > -> rip it out.
> > >
> > > CC: Venkatesh Pallipadi <venkatesh.pallipadi@xxxxxxxxx>
> > > Signed-off-by: Thomas Renninger <trenn@xxxxxxx>
> >
> > > static struct dbs_tuners {
> > > @@ -236,10 +222,7 @@ static ssize_t store_sampling_down_factor(struct cpufreq_policy *unused,
> > > if (ret != 1 || input > MAX_SAMPLING_DOWN_FACTOR || input < 1)
> > > return -EINVAL;
> > >
> > > - mutex_lock(&dbs_mutex);
> > > dbs_tuners_ins.sampling_down_factor = input;
> > > - mutex_unlock(&dbs_mutex);
> > > -
> >
> > You'd need to make s_down_factor atomic_t for this to work....
> Can you provide a userspace scenario (or tell which kind of event must
> happen in between), that this would cause problems, please.


Imagine

dbs_tuners_ins.sampling_down_factor = 0xd0000;
input = 0xabcd;

..then other threads can see 0xdabcd; if they read at "bad"
moment. Not on i386, but this is generic code (right?). Just use
atomic_t.
Pavel

--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/