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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox