From: Jeff Garzik <jeff@garzik.org>
To: Arjan van de Ven <arjan@infradead.org>
Cc: LKML <linux-kernel@vger.kernel.org>,
Andrew Morton <akpm@linux-foundation.org>
Subject: [PATCH] Re: How to completely disable async fastboot?
Date: Wed, 15 Apr 2009 21:48:19 -0400 [thread overview]
Message-ID: <49E68E63.6080202@garzik.org> (raw)
In-Reply-To: <20090415183137.4d19a7c8@infradead.org>
[-- Attachment #1: Type: text/plain, Size: 1355 bytes --]
Arjan van de Ven wrote:
> On Wed, 15 Apr 2009 20:20:32 -0400
> Jeff Garzik <jeff@garzik.org> wrote:
>
>> The following commit
>>
>>> commit 9710794383ee5008d67f1a6613a4717bf6de47bc
>>> Author: Arjan van de Ven <arjan@linux.intel.com>
>>> Date: Sun Mar 15 11:11:44 2009 -0700
>>>
>>> async: remove the temporary (2.6.29) "async is off by default"
>>> code
>> not only changes a default, it completely removes the ability to turn
>> off async AFAICS.
>
> this is on the request of Andrew and others who want to be able to use
> these API's (soon) in an "forced offload" scenario.
>
>> At present, I need to turn this off to debug boot-time operation.
>
> can you give some details? Maybe I can help suggest things...
Too much shit is occurring in parallel, which completely obscures the
operation of the driver I am currently debugging. A new and unwelcome
behavior, as it is directly impacting workflow.
Commit 9710794383ee5008d67f1a6613a4717bf6de47bc was fine for the normal
case, but please have pity on developers! Just like many multi-threaded
userland programs have an option to run single-threaded (usually for
debug purposes), the kernel should have this too.
I need a slowboot option, like the attached patch.
The patch is basically the reverse of your
9710794383ee5008d67f1a6613a4717bf6de47bc in a different way.
Jeff
[-- Attachment #2: patch --]
[-- Type: text/plain, Size: 796 bytes --]
diff --git a/kernel/async.c b/kernel/async.c
index 968ef94..8c553ce 100644
--- a/kernel/async.c
+++ b/kernel/async.c
@@ -68,6 +68,7 @@ static LIST_HEAD(async_running);
static DEFINE_SPINLOCK(async_lock);
static int async_enabled = 0;
+static int async_disabled;
struct async_entry {
struct list_head list;
@@ -388,6 +389,11 @@ static int async_manager_thread(void *unused)
static int __init async_init(void)
{
+ if (async_disabled) {
+ async_enabled = 0;
+ return 0;
+ }
+
async_enabled =
!IS_ERR(kthread_run(async_manager_thread, NULL, "async/mgr"));
@@ -395,4 +401,12 @@ static int __init async_init(void)
return 0;
}
+static int __init setup_async(char *str)
+{
+ async_disabled = 1;
+ return 1;
+}
+
+__setup("slowboot", setup_async);
+
core_initcall(async_init);
next prev parent reply other threads:[~2009-04-16 1:48 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-04-16 0:20 How to completely disable async fastboot? Jeff Garzik
2009-04-16 1:31 ` Arjan van de Ven
2009-04-16 1:48 ` Jeff Garzik [this message]
2009-04-17 18:45 ` Stefan Richter
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=49E68E63.6080202@garzik.org \
--to=jeff@garzik.org \
--cc=akpm@linux-foundation.org \
--cc=arjan@infradead.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.