Re: [PATCH -mm 3/7] Freezer: Remove PF_NOFREEZE from rcutorture thread

From: Paul E. McKenney
Date: Fri Mar 02 2007 - 16:46:36 EST


On Fri, Mar 02, 2007 at 12:27:30PM +0530, Gautham R Shenoy wrote:
> > From: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>
> >
> > Remove PF_NOFREEZE from the rcutorture thread, adding a try_to_freeze() call as
> > required.
> >
> > Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>
> > Signed-off-by: Rafael J. Wysocki <rjw@xxxxxxx>
> > Acked-by: Pavel Machek <pavel@xxxxxx>
> > ---
> > kernel/rcutorture.c | 3 ++-
> > 1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > Index: linux-2.6.20-mm2/kernel/rcutorture.c
> > ===================================================================
> > --- linux-2.6.20-mm2.orig/kernel/rcutorture.c 2007-02-25 12:07:15.000000000 +0100
> > +++ linux-2.6.20-mm2/kernel/rcutorture.c 2007-02-25 12:49:23.000000000 +0100
> > @@ -46,6 +46,7 @@
> > #include <linux/byteorder/swabb.h>
> > #include <linux/stat.h>
> > #include <linux/srcu.h>
> > +#include <linux/freezer.h>
> >
> > MODULE_LICENSE("GPL");
> > MODULE_AUTHOR("Paul E. McKenney <paulmck@xxxxxxxxxx> and "
> > @@ -585,7 +586,6 @@ rcu_torture_writer(void *arg)
> >
> > VERBOSE_PRINTK_STRING("rcu_torture_writer task started");
> > set_user_nice(current, 19);
> > - current->flags |= PF_NOFREEZE;
> >
> > do {
> > schedule_timeout_uninterruptible(1);
> > @@ -607,6 +607,7 @@ rcu_torture_writer(void *arg)
> > }
> > rcu_torture_current_version++;
> > oldbatch = cur_ops->completed();
> > + try_to_freeze();
> > } while (!kthread_should_stop() && !fullstop);
> > VERBOSE_PRINTK_STRING("rcu_torture_writer task stopping");
> > while (!kthread_should_stop())
>
> Paul,
> Any reasons for not try_to_freeze()'ing the fakewriter and the reader
> threads?? (Ok, I admit, I haven't looked into the code for the reason
> which might be obvious.)

None that I know of -- though I do like Anton's idea of burying a
try_to_freeze() in kthread_should_stop(), which would get rid of all
try_to_freeze() calls in rcutorture, and many other places as well.

Thanx, Paul
-
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/