From: Ingo Molnar <mingo@elte.hu>
To: Parag Warudkar <parag.warudkar@gmail.com>
Cc: LKML <linux-kernel@vger.kernel.org>,
Linus Torvalds <torvalds@linux-foundation.org>,
"akpm@osdl.org" <akpm@osdl.org>,
Peter Zijlstra <peterz@infradead.org>,
Arjan van de Ven <arjan@infradead.org>,
Dave Jones <davej@redhat.com>, Sam Ravnborg <sam@ravnborg.org>
Subject: Re: [PATCH] default to n for GROUP_SCHED and FAIR_GROUP_SCHED
Date: Mon, 5 May 2008 19:15:01 +0200 [thread overview]
Message-ID: <20080505171501.GA22332@elte.hu> (raw)
In-Reply-To: <82e4877d0805050814j721ae522k84384df48c9f4336@mail.gmail.com>
* Parag Warudkar <parag.warudkar@gmail.com> wrote:
> sched-devel does not boot on my machine - stops right after PCI: Not
> using mmconfig.
>
> Here is my config for sched-devel - I did a echo "n" | make oldconfig
> after copying over the previous config file BTW. Should I try
> disabling things in config? What's most likely to break boot? (Seems
> likes there are a lot of significant changes in there.)
every config is supposed to work, but in general you should pick the
defaults instead of saying 'n' to all questions. As long as every
question can be answered with an 'enter', this should work:
make oldconfig < /dev/null
this non-interactive 'make oldconfig' will hang with the kconfig tool
looping infinitely if there's any numeric question that cannot be
answered via 'enter'.
This is a many years old kconfig bug that is frequently hacked around in
distro kernel packages but which has been ignored upstream - i've
attached Fedora's nonint_oldconfig patch from Dave Jones below. (maybe
Arjan wrote it originally?)
Ingo
---
scripts/kconfig/Makefile | 3 +++
scripts/kconfig/conf.c | 28 ++++++++++++++++++++++++----
2 files changed, 27 insertions(+), 4 deletions(-)
Index: linux/scripts/kconfig/Makefile
===================================================================
--- linux.orig/scripts/kconfig/Makefile
+++ linux/scripts/kconfig/Makefile
@@ -24,6 +24,9 @@ oldconfig: $(obj)/conf
silentoldconfig: $(obj)/conf
$< -s $(Kconfig)
+nonint_oldconfig: scripts/kconfig/conf
+ ./scripts/kconfig/conf -b arch/x86/Kconfig
+
# Create new linux.pot file
# Adjust charset to UTF-8 in .po file to accept UTF-8 in Kconfig files
# The symlink is used to repair a deficiency in arch/um
Index: linux/scripts/kconfig/conf.c
===================================================================
--- linux.orig/scripts/kconfig/conf.c
+++ linux/scripts/kconfig/conf.c
@@ -22,6 +22,7 @@ enum {
ask_all,
ask_new,
ask_silent,
+ dont_ask,
set_default,
set_yes,
set_mod,
@@ -46,6 +47,8 @@ static const char *get_help(struct menu
return nohelp_text;
}
+static int return_value = 0;
+
static void strip(char *str)
{
char *p = str;
@@ -112,6 +115,12 @@ static int conf_askvalue(struct symbol *
fflush(stdout);
fgets(line, 128, stdin);
return 1;
+ case dont_ask:
+ if (!sym_has_value(sym)) {
+ fprintf(stderr,"CONFIG_%s\n",sym->name);
+ return_value++;
+ }
+ return;
case set_default:
printf("%s\n", def);
return 1;
@@ -351,6 +360,10 @@ static int conf_choice(struct menu *menu
printf("?");
printf("]: ");
switch (input_mode) {
+ case dont_ask:
+ cnt = def;
+ printf("%d\n", cnt);
+ break;
case ask_new:
case ask_silent:
if (!is_new) {
@@ -486,7 +499,10 @@ static void check_conf(struct menu *menu
if (!conf_cnt++)
printf(_("*\n* Restart config...\n*\n"));
rootEntry = menu_get_parent_menu(menu);
- conf(rootEntry);
+ if (input_mode == dont_ask)
+ fprintf(stderr,"CONFIG_%s\n",sym->name);
+ else
+ conf(rootEntry);
}
}
@@ -504,11 +520,14 @@ int main(int ac, char **av)
bindtextdomain(PACKAGE, LOCALEDIR);
textdomain(PACKAGE);
- while ((opt = getopt(ac, av, "osdD:nmyrh")) != -1) {
+ while ((opt = getopt(ac, av, "obsdD:nmyrh")) != -1) {
switch (opt) {
case 'o':
input_mode = ask_new;
break;
+ case 'b':
+ input_mode = dont_ask;
+ break;
case 's':
input_mode = ask_silent;
valid_stdin = isatty(0) && isatty(1) && isatty(2);
@@ -573,6 +592,7 @@ int main(int ac, char **av)
}
case ask_all:
case ask_new:
+ case dont_ask:
conf_read(NULL);
break;
case set_no:
@@ -619,7 +639,7 @@ int main(int ac, char **av)
do {
conf_cnt = 0;
check_conf(&rootmenu);
- } while (conf_cnt);
+ } while ((conf_cnt) && (input_mode != dont_ask));
if (conf_write(NULL)) {
fprintf(stderr, _("\n*** Error during writing of the kernel configuration.\n\n"));
return 1;
@@ -630,5 +650,5 @@ skip_check:
return 1;
}
- return 0;
+ return return_value;
}
next prev parent reply other threads:[~2008-05-05 17:15 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-05-04 0:42 [PATCH] default to n for GROUP_SCHED and FAIR_GROUP_SCHED Parag Warudkar
2008-05-04 9:24 ` Ingo Molnar
2008-05-05 15:14 ` Parag Warudkar
2008-05-05 17:15 ` Ingo Molnar [this message]
2008-05-05 18:24 ` Sam Ravnborg
2008-05-05 18:36 ` Sergio Luis
2008-05-05 18:45 ` Ingo Molnar
2008-05-05 19:49 ` [PATCH] kconfig: add support for stdin (make K=- ...) Sam Ravnborg
2008-05-06 3:51 ` Oleg Verych
2008-05-05 19:05 ` [PATCH] default to n for GROUP_SCHED and FAIR_GROUP_SCHED Sam Ravnborg
2008-05-05 18:42 ` Ingo Molnar
2008-05-05 19:01 ` Sam Ravnborg
2008-05-05 19:56 ` Arjan van de Ven
2008-05-05 20:27 ` Ingo Molnar
2008-05-05 20:48 ` Linus Torvalds
2008-05-05 21:05 ` Ingo Molnar
2008-05-05 21:40 ` Parag Warudkar
2008-05-25 19:30 ` Roman Zippel
2008-05-05 17:21 ` Ingo Molnar
2008-05-05 17:33 ` Jesse Barnes
2008-05-05 18:36 ` Ingo Molnar
2008-05-05 21:36 ` Parag Warudkar
2008-05-05 21:49 ` Ingo Molnar
2008-05-06 0:38 ` Ingo Molnar
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=20080505171501.GA22332@elte.hu \
--to=mingo@elte.hu \
--cc=akpm@osdl.org \
--cc=arjan@infradead.org \
--cc=davej@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=parag.warudkar@gmail.com \
--cc=peterz@infradead.org \
--cc=sam@ravnborg.org \
--cc=torvalds@linux-foundation.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