lkml.org 
[lkml]   [2002]   [Jun]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: suspend.c: This is broken, fixme
On Mon, Jun 03 2002, Pavel Machek wrote:
> Hi!
>
> I found this in 2.5.20...
>
> --- a/kernel/suspend.c Sun Jun 2 18:44:56 2002
> +++ b/kernel/suspend.c Sun Jun 2 18:44:56 2002
> @@ -64,6 +64,7 @@
> #include <asm/mmu_context.h>
> #include <asm/pgtable.h>
> #include <asm/io.h>
> +#include <linux/swapops.h>
>
> unsigned char software_suspend_enabled = 0;
>
> @@ -300,7 +301,8 @@
> static void do_suspend_sync(void)
> {
> while (1) {
> - run_task_queue(&tq_disk);
> + blk_run_queues();
> +#error this is broken, FIXME
> if (!TQ_ACTIVE(tq_disk))
> break;
>
> . Why is it broken?

Hey, I even cc'ed you on the patch when it went to Linus... Lets look at
what happened before: run tq_disk, then check if it is active. What
prevents tq_disk from being active right after you issue the TQ_ACTIVE
check? Nothing. And I'm not sure exactly what semantics you think
running tq_disk has. I suspect you are looking for a 'start any pending
i/o and return when it has completed', which is far from what happens.
Running tq_disk will _try_ to start _some_ I/O, and eventually, in time,
the currently pending requests will have completed. In the mean time,
more I/O could have been added though.

--
Jens Axboe

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

\
 
 \ /
  Last update: 2005-03-22 13:26    [W:0.094 / U:0.292 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site