Re: [PATCH] Rt-tester makes freezing processes fail.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 14 Jul 2006 09:18:43 +1000
Nigel Cunningham <[email protected]> wrote:

> Compiling in the rt-tester currently makes freezing processes fail.
> I don't think there's anything wrong with it running during
> suspending, so adding PF_NOFREEZE to the flags set seems to be the
> right solution.
> 
> Signed-off-by: Nigel Cunningham <[email protected]>
> 
>  rtmutex-tester.c |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> diff -ruNp 9971-rt-tester.patch-old/kernel/rtmutex-tester.c 9971-rt-tester.patch-new/kernel/rtmutex-tester.c
> --- 9971-rt-tester.patch-old/kernel/rtmutex-tester.c	2006-07-07 10:27:46.000000000 +1000
> +++ 9971-rt-tester.patch-new/kernel/rtmutex-tester.c	2006-07-14 07:48:01.000000000 +1000
> @@ -259,7 +259,7 @@ static int test_func(void *data)
>  	struct test_thread_data *td = data;
>  	int ret;
>  
> -	current->flags |= PF_MUTEX_TESTER;
> +	current->flags |= PF_MUTEX_TESTER | PF_NOFREEZE;
>  	allow_signal(SIGHUP);
>  
>  	for(;;) {


I yesterday queued up the below patch.  Which approach is most appropriate?



From: Luca Tettamanti <[email protected]>

When CONFIG_RT_MUTEX_TESTER is enabled kernel refuses to suspend the
machine because it's unable to freeze the rt-test-* threads.

Add try_to_freeze() after schedule() so that the threads will be freezed
correctly; I've tested the patch and it lets the notebook suspends and
resumes nicely.

Signed-off-by: Luca Tettamanti <[email protected]>
Cc: Ingo Molnar <[email protected]>
Acked-by: Thomas Gleixner <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
---

 kernel/rtmutex-tester.c |    1 +
 1 files changed, 1 insertion(+)

diff -puN kernel/rtmutex-tester.c~add-try_to_freeze-to-rt-test-kthreads kernel/rtmutex-tester.c
--- a/kernel/rtmutex-tester.c~add-try_to_freeze-to-rt-test-kthreads
+++ a/kernel/rtmutex-tester.c
@@ -275,6 +275,7 @@ static int test_func(void *data)
 
 		/* Wait for the next command to be executed */
 		schedule();
+		try_to_freeze();
 
 		if (signal_pending(current))
 			flush_signals(current);
_

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

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux