* 2.5.64-mm2
@ 2003-03-08 2:51 Andrew Morton
2003-03-08 3:44 ` [patch] updated scheduler-tunables for 2.5.64-mm2 Robert Love
2003-03-08 3:49 ` 2.5.64-mm2 Shawn
0 siblings, 2 replies; 13+ messages in thread
From: Andrew Morton @ 2003-03-08 2:51 UTC (permalink / raw)
To: linux-kernel, linux-mm
http://www.kernel.org/pub/linux/kernel/people/akpm/patches/2.5/2.5.64/2.5.64-mm2/
Just lots of little stuff here. Mainly a resync with various people.
Note: there is a change to the console handling code in Linus's tree which
means that if you have both VT console and serial console enabled in kernel
config, the serial console now wins. Nothing comes out on the screen during
bootup. It used to be the case that the VT console was initialised first.
If this happens you will need to specify the console device on the boot
command line.
We appear to have at least three use-after-free bugs. One is fixed here, and
there are extra debugging goodies which may help us find the others. Please
enable memory debugging and keep an eye open.
Changes since 2.5.64-mm1:
linus.patch
Latest -bk
-balance_irq-cleanup.patch
-balance_irq-fix.patch
-rpc_rmdir-fix.patch
-aic-makefile-fix.patch
-flock-fix.patch
-rtc-locking-fix.patch
-sk98-build-fix.patch
-cciss-pci-hotplug-fix.patch
-export-pfn_to_nid.patch
-move-CONFIG_SWAP.patch
-random-stack-use.patch
-inode-pruning-fix.patch
-remove-__pgd_offset.patch
-remove-__pmd_offset.patch
-remove-__pte_offset.patch
-htree-lock_kernel-fix.patch
-pci-1.patch
-pci-2.patch
-pci-3.patch
-pci-4.patch
-pci-5.patch
-elf_core_dump-stack-size-reduction.patch
-uninline-binfmt_elf.patch
Merged
+register_blkdev-cleanups.patch
Toward 32-bit dev-t.
-shared-irq-warning.patch
Dropped. Need to do something different here.
+as-state-tracking-and-debug.patch
+as-state-tracking-fix.patch
+as-nr_dispatched-atomic-fix.patch
Anticipatory scheduler work.
-sched-b3.patch
Sort-of merged.
+vm_area-use-after-free-fix.patch
Fix the use-after-free in the vma slab cache.
+slab-caller-tracking.patch
Record the calling function inside slab objects, and report that on
use-after-free erfors.
+slab-caller-tracking-symbolic.patch
Teach the above about kallsyms.
+CONFIG_SWAP-fix.patch
Fix up CONFIG_SWAP menus
+hugh-nonlinear-fixes.patch
Try to make nonlinear VMAs and objrmap play better together.
+readdir-usercopy-check.patch
Add some missing copy_to_user() checks.
+gcc3-inline-fix.patch
Apply a club to gcc-3.x's head.
+pirq_enable_irq-warning-fix.patch
Fix a compiler warning
+hugetlb-unmap_vmas-fix.patch
Fix an oops with hugetlb pages, CONFIG_SMP && CONFIG_PREEMPT
+ext2-double-free-bug.patch
Fix an error-path double-free.
+load_elf_binary-memleak-fix.patch
Fix an error-path memory leak
+xattr-bug-fixes.patch
Extended Attribute fixes
+noirqbalance-fix.patch
Make the noirqalance boot option work
+show_interrupts-locking-fix.patch
Put some locking into the /proc/interrupts handler code.
+eepro100-lockup-fix.patch
Fix an eepro100 deadlock
+task_prio-fix.patch
Scheduler fix for SCHED_RR tasks
+remove-kernel_flag.patch
Eliminate lock_kernel()
All 79 patches:
linus.patch
Latest from Linus
register_blkdev-cleanups.patch
register_blkdev cleanups
mm.patch
add -mmN to EXTRAVERSION
ppc64-reloc_hide.patch
ppc64-pci-patch.patch
Subject: pci patch
ppc64-aio-32bit-emulation.patch
32/64bit emulation for aio
ppc64-64-bit-exec-fix.patch
Subject: 64bit exec
ppc64-scruffiness.patch
Fix some PPC64 compile warnings
sym-do-160.patch
make the SYM driver do 160 MB/sec
kgdb.patch
nfsd-disable-softirq.patch
Fix race in svcsock.c in 2.5.61
report-lost-ticks.patch
make lost-tick detection more informative
ptrace-flush.patch
cache flushing in the ptrace code
buffer-debug.patch
buffer.c debugging
warn-null-wakeup.patch
ext3-truncate-ordered-pages.patch
ext3: explicitly free truncated pages
limit-write-latency.patch
fix possible latency in balance_dirty_pages()
reiserfs_file_write-5.patch
tcp-wakeups.patch
Use fast wakeups in TCP/IPV4
lockd-lockup-fix-2.patch
Subject: Re: Fw: Re: 2.4.20 NFS server lock-up (SMP)
rcu-stats.patch
RCU statistics reporting
ext3-journalled-data-assertion-fix.patch
Remove incorrect assertion from ext3
nfs-speedup.patch
nfs-oom-fix.patch
nfs oom fix
sk-allocation.patch
Subject: Re: nfs oom
nfs-more-oom-fix.patch
nfs-sendfile.patch
Implement sendfile() for NFS
rpciod-atomic-allocations.patch
Make rcpiod use atomic allocations
linux-isp.patch
isp-update-1.patch
remove-unused-congestion-stuff.patch
Subject: [PATCH] remove unused congestion stuff
atm_dev_sem.patch
convert atm_dev_lock from spinlock to semaphore
as-iosched.patch
anticipatory I/O scheduler
as-random-fixes.patch
Subject: [PATCH] important fixes
as-comment-fix.patch
AS: comment fix
as-naming-comments-BUG.patch
AS: fix up naming, comments, add more BUGs
as-unnecessary-test.patch
as-atomicity-fix.patch
as-state-tracking-and-debug.patch
AS: state tracking fix and debug additions
as-state-tracking-fix.patch
AS: state tracking fix
as-nr_dispatched-atomic-fix.patch
readahead-shrink-to-zero.patch
Allow VFS readahead to fall to zero
cfq-2.patch
CFQ scheduler, #2
smalldevfs.patch
smalldevfs
objrmap-2.5.62-5.patch
object-based rmap
objrmap-X-fix.patch
objrmap fix for X
objrmap-nr_mapped-fix.patch
objrmap: fix /proc/meminfo:Mapped
objrmap-mapped-mem-fix-2.patch
fix objrmap mapped mem accounting again
objrmap-atomic_t-fix.patch
Make objrmap mapcount non-atomic
per-cpu-disk-stats.patch
Make diskstats per-cpu using kmalloc_percpu
scheduler-tunables.patch
scheduler tunables
show_task-free-stack-fix.patch
show_task() fix and cleanup
vm_area-use-after-free-fix.patch
Fix vm_area_struct slab corruption
use-after-free-check.patch
slab use-after-free detector
slab-caller-tracking.patch
slab debug: track caller program counter
slab-caller-tracking-symbolic.patch
slab debug: symbolic output in caller tracking
reiserfs-fix-memleaks.patch
ReiserFS: fix memleaks on journal opening failures
copy_page_range-invalid-page-fix.patch
Fix copy_page_range()'s handling of invalid pages
yellowfin-set_bit-fix.patch
yellowfin driver set_bit fix
CONFIG_SWAP-fix.patch
move CONFIG_SWAP around
remap-file-pages-2.5.63-a1.patch
Subject: [patch] remap-file-pages-2.5.63-A1
pte_file-always.patch
enable file-offset-in-pte's for all mappings
hugh-nonlinear-fixes.patch
Fix nonlinear oddities
htree-nfs-fix.patch
Fix ext3 htree / NFS compatibility problems
bonding-zerodiv-fix.patch
Subject: [PATCH][bonding] division by zero bug
update_atime-ng.patch
inode a/c/mtime modification speedup
one-sec-times.patch
Implement a/c/time speedup in ext2 & ext3
readdir-usercopy-check.patch
usercopy checks in old_readdir()
gcc3-inline-fix.patch
work around gcc-3.x inlining bugs
pirq_enable_irq-warning-fix.patch
fix return value in arch/i386/pci/irq.c
hugetlb-unmap_vmas-fix.patch
hugetlb unmap_vmas() SMP && PREEMPT fix
ext2-double-free-bug.patch
ext2: fix error-path double-free
load_elf_binary-memleak-fix.patch
fix memory leak in load_elf_binary()
xattr-bug-fixes.patch
Extended attribute sharing and debug macro typo fixes
noirqbalance-fix.patch
Fix noirqbalance
show_interrupts-locking-fix.patch
protect 'action' in show_interrupts
eepro100-lockup-fix.patch
fix SMP lockup in eepro100 with ethtool on unused interface
task_prio-fix.patch
simple task_prio() fix
remove-kernel_flag.patch
no need for kernel_flag on UP
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"aart@kvack.org">aart@kvack.org</a>
^ permalink raw reply [flat|nested] 13+ messages in thread
* [patch] updated scheduler-tunables for 2.5.64-mm2
2003-03-08 2:51 2.5.64-mm2 Andrew Morton
@ 2003-03-08 3:44 ` Robert Love
2003-03-08 3:50 ` Robert Love
2003-03-08 18:25 ` Martin J. Bligh
2003-03-08 3:49 ` 2.5.64-mm2 Shawn
1 sibling, 2 replies; 13+ messages in thread
From: Robert Love @ 2003-03-08 3:44 UTC (permalink / raw)
To: Andrew Morton; +Cc: linux-kernel, linux-mm
On Fri, 2003-03-07 at 21:51, Andrew Morton wrote:
> Just lots of little stuff here. Mainly a resync with various people.
Whoops. Someone edited the scheduler-tunables.patch so it applied on
top of the interactivity changes, but then did not carry over those
changes to the tunable parameters in the patch ;)
So we end up with the usual values, and not the tuned parameters from
mainline. Which is a shame, you know?
Attached patch is a complete replacement for the old patch. It defaults
the tunable parameters to the new values in 2.5-bk. I also added a
tuning knob for the NUMA node threshold stuff.
So we end up with:
[22:42:31]rml@phantasy:~$ pef /proc/sys/sched
child_penalty=50
exit_weight=3
interactive_delta=2
max_sleep_avg=10000
max_timeslice=200
min_timeslice=10
node_threshold=125
parent_penalty=100
prio_bonus_ratio=25
starvation_limit=10000
Which looks good to me.
Andrew, please replace this for that stinky old one. Thanks.
Robert Love
Documentation/filesystems/proc.txt | 87 +++++++++++++++++++++++++++++++++++++
include/linux/sysctl.h | 16 ++++++
kernel/sched.c | 34 ++++++++++----
kernel/sysctl.c | 48 +++++++++++++++++++-
4 files changed, 173 insertions(+), 12 deletions(-)
diff -urN linux-2.5.64-mm2/Documentation/filesystems/proc.txt linux/Documentation/filesystems/proc.txt
--- linux-2.5.64-mm2/Documentation/filesystems/proc.txt 2003-03-07 22:40:27.885874664 -0500
+++ linux/Documentation/filesystems/proc.txt 2003-03-07 22:02:58.000000000 -0500
@@ -37,6 +37,7 @@
2.8 /proc/sys/net/ipv4 - IPV4 settings
2.9 Appletalk
2.10 IPX
+ 2.11 /proc/sys/sched - scheduler tunables
------------------------------------------------------------------------------
Preface
@@ -1667,6 +1668,92 @@
gives the destination network, the router node (or Directly) and the network
address of the router (or Connected) for internal networks.
+2.11 /proc/sys/sched - scheduler tunables
+-----------------------------------------
+
+Useful knobs for tuning the scheduler live in /proc/sys/sched.
+
+child_penalty
+-------------
+
+Percentage of the parent's sleep_avg that children inherit. sleep_avg is
+a running average of the time a process spends sleeping. Tasks with high
+sleep_avg values are considered interactive and given a higher dynamic
+priority and a larger timeslice. You typically want this some value just
+under 100.
+
+exit_weight
+-----------
+
+When a CPU hog task exits, its parent's sleep_avg is reduced by a factor of
+exit_weight against the exiting task's sleep_avg.
+
+interactive_delta
+-----------------
+
+If a task is "interactive" it is reinserted into the active array after it
+has expired its timeslice, instead of being inserted into the expired array.
+How "interactive" a task must be in order to be deemed interactive is a
+function of its nice value. This interactive limit is scaled linearly by nice
+value and is offset by the interactive_delta.
+
+max_sleep_avg
+-------------
+
+max_sleep_avg is the largest value (in ms) stored for a task's running sleep
+average. The larger this value, the longer a task needs to sleep to be
+considered interactive (maximum interactive bonus is a function of
+max_sleep_avg).
+
+max_timeslice
+-------------
+
+Maximum timeslice, in milliseconds. This is the value given to tasks of the
+highest dynamic priority.
+
+min_timeslice
+-------------
+
+Minimum timeslice, in milliseconds. This is the value given to tasks of the
+lowest dynamic priority. Every task gets at least this slice of the processor
+per array switch.
+
+parent_penalty
+--------------
+
+Percentage of the parent's sleep_avg that it retains across a fork().
+sleep_avg is a running average of the time a process spends sleeping. Tasks
+with high sleep_avg values are considered interactive and given a higher
+dynamic priority and a larger timeslice. Normally, this value is 100 and thus
+task's retain their sleep_avg on fork. If you want to punish interactive
+tasks for forking, set this below 100.
+
+prio_bonus_ratio
+----------------
+
+Middle percentage of the priority range that tasks can receive as a dynamic
+priority. The default value of 25% ensures that nice values at the
+extremes are still enforced. For example, nice +19 interactive tasks will
+never be able to preempt a nice 0 CPU hog. Setting this higher will increase
+the size of the priority range the tasks can receive as a bonus. Setting
+this lower will decrease this range, making the interactivity bonus less
+apparent and user nice values more applicable.
+
+starvation_limit
+----------------
+
+Sufficiently interactive tasks are reinserted into the active array when they
+run out of timeslice. Normally, tasks are inserted into the expired array.
+Reinserting interactive tasks into the active array allows them to remain
+runnable, which is important to interactive performance. This could starve
+expired tasks, however, since the interactive task could prevent the array
+switch. To prevent starving the tasks on the expired array for too long. the
+starvation_limit is the longest (in ms) we will let the expired array starve
+at the expense of reinserting interactive tasks back into active. Higher
+values here give more preferance to running interactive tasks, at the expense
+of expired tasks. Lower values provide more fair scheduling behavior, at the
+expense of interactivity. The units are in milliseconds.
+
------------------------------------------------------------------------------
Summary
------------------------------------------------------------------------------
diff -urN linux-2.5.64-mm2/include/linux/sysctl.h linux/include/linux/sysctl.h
--- linux-2.5.64-mm2/include/linux/sysctl.h 2003-03-07 22:40:27.000000000 -0500
+++ linux/include/linux/sysctl.h 2003-03-07 22:08:19.000000000 -0500
@@ -66,7 +66,8 @@
CTL_DEV=7, /* Devices */
CTL_BUS=8, /* Busses */
CTL_ABI=9, /* Binary emulation */
- CTL_CPU=10 /* CPU stuff (speed scaling, etc) */
+ CTL_CPU=10, /* CPU stuff (speed scaling, etc) */
+ CTL_SCHED=11, /* scheduler tunables */
};
/* CTL_BUS names: */
@@ -157,6 +158,19 @@
VM_LOWER_ZONE_PROTECTION=20,/* Amount of protection of lower zones */
};
+/* Tunable scheduler parameters in /proc/sys/sched/ */
+enum {
+ SCHED_MIN_TIMESLICE=1, /* minimum process timeslice */
+ SCHED_MAX_TIMESLICE=2, /* maximum process timeslice */
+ SCHED_CHILD_PENALTY=3, /* penalty on fork to child */
+ SCHED_PARENT_PENALTY=4, /* penalty on fork to parent */
+ SCHED_EXIT_WEIGHT=5, /* penalty to parent of CPU hog child */
+ SCHED_PRIO_BONUS_RATIO=6, /* percent of max prio given as bonus */
+ SCHED_INTERACTIVE_DELTA=7, /* delta used to scale interactivity */
+ SCHED_MAX_SLEEP_AVG=8, /* maximum sleep avg attainable */
+ SCHED_STARVATION_LIMIT=9, /* no re-active if expired is starved */
+ SCHED_NODE_THRESHOLD=10, /* NUMA node rebalance threshold */
+};
/* CTL_NET names: */
enum
diff -urN linux-2.5.64-mm2/kernel/sched.c linux/kernel/sched.c
--- linux-2.5.64-mm2/kernel/sched.c 2003-03-07 22:40:27.000000000 -0500
+++ linux/kernel/sched.c 2003-03-07 22:10:00.000000000 -0500
@@ -57,17 +57,31 @@
* Minimum timeslice is 10 msecs, default timeslice is 100 msecs,
* maximum timeslice is 200 msecs. Timeslices get refilled after
* they expire.
+ *
+ * They are configurable via /proc/sys/sched
*/
-#define MIN_TIMESLICE ( 10 * HZ / 1000)
-#define MAX_TIMESLICE (200 * HZ / 1000)
-#define CHILD_PENALTY 50
-#define PARENT_PENALTY 100
-#define EXIT_WEIGHT 3
-#define PRIO_BONUS_RATIO 25
-#define INTERACTIVE_DELTA 2
-#define MAX_SLEEP_AVG (10*HZ)
-#define STARVATION_LIMIT (10*HZ)
-#define NODE_THRESHOLD 125
+
+int min_timeslice = (10 * HZ) / 1000;
+int max_timeslice = (200 * HZ) / 1000;
+int child_penalty = 50;
+int parent_penalty = 100;
+int exit_weight = 3;
+int prio_bonus_ratio = 25;
+int interactive_delta = 2;
+int max_sleep_avg = 10 * HZ;
+int starvation_limit = 10 * HZ;
+int node_threshold = 125;
+
+#define MIN_TIMESLICE (min_timeslice)
+#define MAX_TIMESLICE (max_timeslice)
+#define CHILD_PENALTY (child_penalty)
+#define PARENT_PENALTY (parent_penalty)
+#define EXIT_WEIGHT (exit_weight)
+#define PRIO_BONUS_RATIO (prio_bonus_ratio)
+#define INTERACTIVE_DELTA (interactive_delta)
+#define MAX_SLEEP_AVG (max_sleep_avg)
+#define STARVATION_LIMIT (starvation_limit)
+#define NODE_THRESHOLD (node_threshold)
/*
* If a task is 'interactive' then we reinsert it in the active
diff -urN linux-2.5.64-mm2/kernel/sysctl.c linux/kernel/sysctl.c
--- linux-2.5.64-mm2/kernel/sysctl.c 2003-03-07 22:40:27.000000000 -0500
+++ linux/kernel/sysctl.c 2003-03-07 22:09:19.000000000 -0500
@@ -55,6 +55,16 @@
extern int cad_pid;
extern int pid_max;
extern int sysctl_lower_zone_protection;
+extern int min_timeslice;
+extern int max_timeslice;
+extern int child_penalty;
+extern int parent_penalty;
+extern int exit_weight;
+extern int prio_bonus_ratio;
+extern int interactive_delta;
+extern int max_sleep_avg;
+extern int starvation_limit;
+extern int node_threshold;
/* this is needed for the proc_dointvec_minmax for [fs_]overflow UID and GID */
static int maxolduid = 65535;
@@ -112,6 +122,7 @@
static ctl_table kern_table[];
static ctl_table vm_table[];
+static ctl_table sched_table[];
#ifdef CONFIG_NET
extern ctl_table net_table[];
#endif
@@ -156,6 +167,7 @@
{CTL_FS, "fs", NULL, 0, 0555, fs_table},
{CTL_DEBUG, "debug", NULL, 0, 0555, debug_table},
{CTL_DEV, "dev", NULL, 0, 0555, dev_table},
+ {CTL_SCHED, "sched", NULL, 0, 0555, sched_table},
{0}
};
@@ -358,7 +370,41 @@
static ctl_table dev_table[] = {
{0}
-};
+};
+
+static ctl_table sched_table[] = {
+ {SCHED_MAX_TIMESLICE, "max_timeslice", &max_timeslice,
+ sizeof(int), 0644, NULL, &proc_dointvec_minmax,
+ &sysctl_intvec, NULL, &one, NULL},
+ {SCHED_MIN_TIMESLICE, "min_timeslice", &min_timeslice,
+ sizeof(int), 0644, NULL, &proc_dointvec_minmax,
+ &sysctl_intvec, NULL, &one, NULL},
+ {SCHED_CHILD_PENALTY, "child_penalty", &child_penalty,
+ sizeof(int), 0644, NULL, &proc_dointvec_minmax,
+ &sysctl_intvec, NULL, &zero, NULL},
+ {SCHED_PARENT_PENALTY, "parent_penalty", &parent_penalty,
+ sizeof(int), 0644, NULL, &proc_dointvec_minmax,
+ &sysctl_intvec, NULL, &zero, NULL},
+ {SCHED_EXIT_WEIGHT, "exit_weight", &exit_weight,
+ sizeof(int), 0644, NULL, &proc_dointvec_minmax,
+ &sysctl_intvec, NULL, &zero, NULL},
+ {SCHED_PRIO_BONUS_RATIO, "prio_bonus_ratio", &prio_bonus_ratio,
+ sizeof(int), 0644, NULL, &proc_dointvec_minmax,
+ &sysctl_intvec, NULL, &zero, NULL},
+ {SCHED_INTERACTIVE_DELTA, "interactive_delta", &interactive_delta,
+ sizeof(int), 0644, NULL, &proc_dointvec_minmax,
+ &sysctl_intvec, NULL, &zero, NULL},
+ {SCHED_MAX_SLEEP_AVG, "max_sleep_avg", &max_sleep_avg,
+ sizeof(int), 0644, NULL, &proc_dointvec_minmax,
+ &sysctl_intvec, NULL, &one, NULL},
+ {SCHED_STARVATION_LIMIT, "starvation_limit", &starvation_limit,
+ sizeof(int), 0644, NULL, &proc_dointvec_minmax,
+ &sysctl_intvec, NULL, &zero, NULL},
+ {SCHED_NODE_THRESHOLD, "node_threshold", &node_threshold,
+ sizeof(int), 0644, NULL, &proc_dointvec_minmax,
+ &sysctl_intvec, NULL, &one, NULL},
+ {0}
+};
extern void init_irq_proc (void);
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"aart@kvack.org">aart@kvack.org</a>
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: 2.5.64-mm2
2003-03-08 2:51 2.5.64-mm2 Andrew Morton
2003-03-08 3:44 ` [patch] updated scheduler-tunables for 2.5.64-mm2 Robert Love
@ 2003-03-08 3:49 ` Shawn
2003-03-08 4:05 ` 2.5.64-mm2 Robert Love
1 sibling, 1 reply; 13+ messages in thread
From: Shawn @ 2003-03-08 3:49 UTC (permalink / raw)
To: Andrew Morton; +Cc: linux-kernel, linux-mm
This mean anything to you?
make -f scripts/Makefile.build obj=arch/i386/lib
GEN include/linux/compile.h (updated)
gcc2953 -Wp,-MD,init/.version.o.d -D__KERNEL__ -Iinclude -Wall
-Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common
-pipe -mpreferred-stack-boundary=2 -march=i686 -malign-functions=4
-Iinclude/asm-i386/mach-default -fomit-frame-pointer -nostdinc
-iwithprefix include -DKBUILD_BASENAME=version
-DKBUILD_MODNAME=version -c -o init/.tmp_version.o init/version.c
ld -m elf_i386 -r -o init/built-in.o init/main.o init/version.o
init/mounts.o init/initramfs.o
kernel/built-in.o(__ksymtab+0xd00): undefined reference to `kernel_flag'
make: *** [.tmp_vmlinux1] Error 1
On Fri, 2003-03-07 at 20:51, Andrew Morton wrote:
> http://www.kernel.org/pub/linux/kernel/people/akpm/patches/2.5/2.5.64/2.5.64-mm2/
>
> Just lots of little stuff here. Mainly a resync with various people.
>
> Note: there is a change to the console handling code in Linus's tree which
> means that if you have both VT console and serial console enabled in kernel
> config, the serial console now wins. Nothing comes out on the screen during
> bootup. It used to be the case that the VT console was initialised first.
>
> If this happens you will need to specify the console device on the boot
> command line.
>
> We appear to have at least three use-after-free bugs. One is fixed here, and
> there are extra debugging goodies which may help us find the others. Please
> enable memory debugging and keep an eye open.
>
>
>
> Changes since 2.5.64-mm1:
>
>
> linus.patch
>
> Latest -bk
>
> -balance_irq-cleanup.patch
> -balance_irq-fix.patch
> -rpc_rmdir-fix.patch
> -aic-makefile-fix.patch
> -flock-fix.patch
> -rtc-locking-fix.patch
> -sk98-build-fix.patch
> -cciss-pci-hotplug-fix.patch
> -export-pfn_to_nid.patch
> -move-CONFIG_SWAP.patch
> -random-stack-use.patch
> -inode-pruning-fix.patch
> -remove-__pgd_offset.patch
> -remove-__pmd_offset.patch
> -remove-__pte_offset.patch
> -htree-lock_kernel-fix.patch
> -pci-1.patch
> -pci-2.patch
> -pci-3.patch
> -pci-4.patch
> -pci-5.patch
> -elf_core_dump-stack-size-reduction.patch
> -uninline-binfmt_elf.patch
>
> Merged
>
> +register_blkdev-cleanups.patch
>
> Toward 32-bit dev-t.
>
> -shared-irq-warning.patch
>
> Dropped. Need to do something different here.
>
> +as-state-tracking-and-debug.patch
> +as-state-tracking-fix.patch
> +as-nr_dispatched-atomic-fix.patch
>
> Anticipatory scheduler work.
>
> -sched-b3.patch
>
> Sort-of merged.
>
> +vm_area-use-after-free-fix.patch
>
> Fix the use-after-free in the vma slab cache.
>
> +slab-caller-tracking.patch
>
> Record the calling function inside slab objects, and report that on
> use-after-free erfors.
>
> +slab-caller-tracking-symbolic.patch
>
> Teach the above about kallsyms.
>
> +CONFIG_SWAP-fix.patch
>
> Fix up CONFIG_SWAP menus
>
> +hugh-nonlinear-fixes.patch
>
> Try to make nonlinear VMAs and objrmap play better together.
>
> +readdir-usercopy-check.patch
>
> Add some missing copy_to_user() checks.
>
> +gcc3-inline-fix.patch
>
> Apply a club to gcc-3.x's head.
>
> +pirq_enable_irq-warning-fix.patch
>
> Fix a compiler warning
>
> +hugetlb-unmap_vmas-fix.patch
>
> Fix an oops with hugetlb pages, CONFIG_SMP && CONFIG_PREEMPT
>
> +ext2-double-free-bug.patch
>
> Fix an error-path double-free.
>
> +load_elf_binary-memleak-fix.patch
>
> Fix an error-path memory leak
>
> +xattr-bug-fixes.patch
>
> Extended Attribute fixes
>
> +noirqbalance-fix.patch
>
> Make the noirqalance boot option work
>
> +show_interrupts-locking-fix.patch
>
> Put some locking into the /proc/interrupts handler code.
>
> +eepro100-lockup-fix.patch
>
> Fix an eepro100 deadlock
>
> +task_prio-fix.patch
>
> Scheduler fix for SCHED_RR tasks
>
> +remove-kernel_flag.patch
>
> Eliminate lock_kernel()
>
>
>
> All 79 patches:
>
> linus.patch
> Latest from Linus
>
> register_blkdev-cleanups.patch
> register_blkdev cleanups
>
> mm.patch
> add -mmN to EXTRAVERSION
>
> ppc64-reloc_hide.patch
>
> ppc64-pci-patch.patch
> Subject: pci patch
>
> ppc64-aio-32bit-emulation.patch
> 32/64bit emulation for aio
>
> ppc64-64-bit-exec-fix.patch
> Subject: 64bit exec
>
> ppc64-scruffiness.patch
> Fix some PPC64 compile warnings
>
> sym-do-160.patch
> make the SYM driver do 160 MB/sec
>
> kgdb.patch
>
> nfsd-disable-softirq.patch
> Fix race in svcsock.c in 2.5.61
>
> report-lost-ticks.patch
> make lost-tick detection more informative
>
> ptrace-flush.patch
> cache flushing in the ptrace code
>
> buffer-debug.patch
> buffer.c debugging
>
> warn-null-wakeup.patch
>
> ext3-truncate-ordered-pages.patch
> ext3: explicitly free truncated pages
>
> limit-write-latency.patch
> fix possible latency in balance_dirty_pages()
>
> reiserfs_file_write-5.patch
>
> tcp-wakeups.patch
> Use fast wakeups in TCP/IPV4
>
> lockd-lockup-fix-2.patch
> Subject: Re: Fw: Re: 2.4.20 NFS server lock-up (SMP)
>
> rcu-stats.patch
> RCU statistics reporting
>
> ext3-journalled-data-assertion-fix.patch
> Remove incorrect assertion from ext3
>
> nfs-speedup.patch
>
> nfs-oom-fix.patch
> nfs oom fix
>
> sk-allocation.patch
> Subject: Re: nfs oom
>
> nfs-more-oom-fix.patch
>
> nfs-sendfile.patch
> Implement sendfile() for NFS
>
> rpciod-atomic-allocations.patch
> Make rcpiod use atomic allocations
>
> linux-isp.patch
>
> isp-update-1.patch
>
> remove-unused-congestion-stuff.patch
> Subject: [PATCH] remove unused congestion stuff
>
> atm_dev_sem.patch
> convert atm_dev_lock from spinlock to semaphore
>
> as-iosched.patch
> anticipatory I/O scheduler
>
> as-random-fixes.patch
> Subject: [PATCH] important fixes
>
> as-comment-fix.patch
> AS: comment fix
>
> as-naming-comments-BUG.patch
> AS: fix up naming, comments, add more BUGs
>
> as-unnecessary-test.patch
>
> as-atomicity-fix.patch
>
> as-state-tracking-and-debug.patch
> AS: state tracking fix and debug additions
>
> as-state-tracking-fix.patch
> AS: state tracking fix
>
> as-nr_dispatched-atomic-fix.patch
>
> readahead-shrink-to-zero.patch
> Allow VFS readahead to fall to zero
>
> cfq-2.patch
> CFQ scheduler, #2
>
> smalldevfs.patch
> smalldevfs
>
> objrmap-2.5.62-5.patch
> object-based rmap
>
> objrmap-X-fix.patch
> objrmap fix for X
>
> objrmap-nr_mapped-fix.patch
> objrmap: fix /proc/meminfo:Mapped
>
> objrmap-mapped-mem-fix-2.patch
> fix objrmap mapped mem accounting again
>
> objrmap-atomic_t-fix.patch
> Make objrmap mapcount non-atomic
>
> per-cpu-disk-stats.patch
> Make diskstats per-cpu using kmalloc_percpu
>
> scheduler-tunables.patch
> scheduler tunables
>
> show_task-free-stack-fix.patch
> show_task() fix and cleanup
>
> vm_area-use-after-free-fix.patch
> Fix vm_area_struct slab corruption
>
> use-after-free-check.patch
> slab use-after-free detector
>
> slab-caller-tracking.patch
> slab debug: track caller program counter
>
> slab-caller-tracking-symbolic.patch
> slab debug: symbolic output in caller tracking
>
> reiserfs-fix-memleaks.patch
> ReiserFS: fix memleaks on journal opening failures
>
> copy_page_range-invalid-page-fix.patch
> Fix copy_page_range()'s handling of invalid pages
>
> yellowfin-set_bit-fix.patch
> yellowfin driver set_bit fix
>
> CONFIG_SWAP-fix.patch
> move CONFIG_SWAP around
>
> remap-file-pages-2.5.63-a1.patch
> Subject: [patch] remap-file-pages-2.5.63-A1
>
> pte_file-always.patch
> enable file-offset-in-pte's for all mappings
>
> hugh-nonlinear-fixes.patch
> Fix nonlinear oddities
>
> htree-nfs-fix.patch
> Fix ext3 htree / NFS compatibility problems
>
> bonding-zerodiv-fix.patch
> Subject: [PATCH][bonding] division by zero bug
>
> update_atime-ng.patch
> inode a/c/mtime modification speedup
>
> one-sec-times.patch
> Implement a/c/time speedup in ext2 & ext3
>
> readdir-usercopy-check.patch
> usercopy checks in old_readdir()
>
> gcc3-inline-fix.patch
> work around gcc-3.x inlining bugs
>
> pirq_enable_irq-warning-fix.patch
> fix return value in arch/i386/pci/irq.c
>
> hugetlb-unmap_vmas-fix.patch
> hugetlb unmap_vmas() SMP && PREEMPT fix
>
> ext2-double-free-bug.patch
> ext2: fix error-path double-free
>
> load_elf_binary-memleak-fix.patch
> fix memory leak in load_elf_binary()
>
> xattr-bug-fixes.patch
> Extended attribute sharing and debug macro typo fixes
>
> noirqbalance-fix.patch
> Fix noirqbalance
>
> show_interrupts-locking-fix.patch
> protect 'action' in show_interrupts
>
> eepro100-lockup-fix.patch
> fix SMP lockup in eepro100 with ethtool on unused interface
>
> task_prio-fix.patch
> simple task_prio() fix
>
> remove-kernel_flag.patch
> no need for kernel_flag on UP
>
>
>
> -
> 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/
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"aart@kvack.org">aart@kvack.org</a>
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [patch] updated scheduler-tunables for 2.5.64-mm2
2003-03-08 3:44 ` [patch] updated scheduler-tunables for 2.5.64-mm2 Robert Love
@ 2003-03-08 3:50 ` Robert Love
2003-03-08 18:25 ` Martin J. Bligh
1 sibling, 0 replies; 13+ messages in thread
From: Robert Love @ 2003-03-08 3:50 UTC (permalink / raw)
To: Andrew Morton; +Cc: linux-kernel, linux-mm
On Fri, 2003-03-07 at 22:44, Robert Love wrote:
> Attached patch is a complete replacement for the old patch. It defaults
> the tunable parameters to the new values in 2.5-bk. I also added a
> tuning knob for the NUMA node threshold stuff.
I am in an accommodating mood... while the first patch was most likely
easiest for Andrew to use (swap out the old for the new), an incremental
diff is probably easier for the users to just apply on top of
2.5.64-mm2.
So here is an incremental diff, which has the following changes over
what is in 2.5-mm now:
- update the tunable parameters to have the new defaults
Linus applied to 2.5-bk. These defaults are similar to
the values in the sched-rml-updates.patch Andrew had
in here for awhile, and I like them.
- add tuning for the node_threshold parameter for NUMA
folks
I encourage users to apply this, since we are getting close to sniffing
out the last of the interactivity woes and these updated parameters are
a large part of the solution.
Enjoy,
Robert Love
include/linux/sysctl.h | 1 +
kernel/sched.c | 11 ++++++-----
kernel/sysctl.c | 4 ++++
3 files changed, 11 insertions(+), 5 deletions(-)
diff -urN linux-2.5.64-mm2/include/linux/sysctl.h linux/include/linux/sysctl.h
--- linux-2.5.64-mm2/include/linux/sysctl.h 2003-03-07 22:08:04.000000000 -0500
+++ linux/include/linux/sysctl.h 2003-03-07 22:08:19.000000000 -0500
@@ -169,6 +169,7 @@
SCHED_INTERACTIVE_DELTA=7, /* delta used to scale interactivity */
SCHED_MAX_SLEEP_AVG=8, /* maximum sleep avg attainable */
SCHED_STARVATION_LIMIT=9, /* no re-active if expired is starved */
+ SCHED_NODE_THRESHOLD=10, /* NUMA node rebalance threshold */
};
/* CTL_NET names: */
diff -urN linux-2.5.64-mm2/kernel/sched.c linux/kernel/sched.c
--- linux-2.5.64-mm2/kernel/sched.c 2003-03-07 22:08:04.000000000 -0500
+++ linux/kernel/sched.c 2003-03-07 22:10:00.000000000 -0500
@@ -62,14 +62,15 @@
*/
int min_timeslice = (10 * HZ) / 1000;
-int max_timeslice = (300 * HZ) / 1000;
-int child_penalty = 95;
+int max_timeslice = (200 * HZ) / 1000;
+int child_penalty = 50;
int parent_penalty = 100;
int exit_weight = 3;
int prio_bonus_ratio = 25;
int interactive_delta = 2;
-int max_sleep_avg = 2 * HZ;
-int starvation_limit = 2 * HZ;
+int max_sleep_avg = 10 * HZ;
+int starvation_limit = 10 * HZ;
+int node_threshold = 125;
#define MIN_TIMESLICE (min_timeslice)
#define MAX_TIMESLICE (max_timeslice)
@@ -80,7 +81,7 @@
#define INTERACTIVE_DELTA (interactive_delta)
#define MAX_SLEEP_AVG (max_sleep_avg)
#define STARVATION_LIMIT (starvation_limit)
-#define NODE_THRESHOLD 125
+#define NODE_THRESHOLD (node_threshold)
/*
* If a task is 'interactive' then we reinsert it in the active
diff -urN linux-2.5.64-mm2/kernel/sysctl.c linux/kernel/sysctl.c
--- linux-2.5.64-mm2/kernel/sysctl.c 2003-03-07 22:08:04.000000000 -0500
+++ linux/kernel/sysctl.c 2003-03-07 22:09:19.000000000 -0500
@@ -64,6 +64,7 @@
extern int interactive_delta;
extern int max_sleep_avg;
extern int starvation_limit;
+extern int node_threshold;
/* this is needed for the proc_dointvec_minmax for [fs_]overflow UID and GID */
static int maxolduid = 65535;
@@ -399,6 +400,9 @@
{SCHED_STARVATION_LIMIT, "starvation_limit", &starvation_limit,
sizeof(int), 0644, NULL, &proc_dointvec_minmax,
&sysctl_intvec, NULL, &zero, NULL},
+ {SCHED_NODE_THRESHOLD, "node_threshold", &node_threshold,
+ sizeof(int), 0644, NULL, &proc_dointvec_minmax,
+ &sysctl_intvec, NULL, &one, NULL},
{0}
};
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"aart@kvack.org">aart@kvack.org</a>
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: 2.5.64-mm2
2003-03-08 4:05 ` 2.5.64-mm2 Robert Love
@ 2003-03-08 4:01 ` Shawn
2003-03-08 4:22 ` 2.5.64-mm2 Robert Love
0 siblings, 1 reply; 13+ messages in thread
From: Shawn @ 2003-03-08 4:01 UTC (permalink / raw)
To: Robert Love; +Cc: Andrew Morton, linux-kernel, linux-mm
[-- Attachment #1: Type: text/plain, Size: 1293 bytes --]
Here's my .config. I am not SMP.
I suspected the distclean thing, but I made "Mr. Proper" too just in
case.
Check it out. I also just tryed redhat's gcc 2.96, same results.
On Fri, 2003-03-07 at 22:05, Robert Love wrote:
> On Fri, 2003-03-07 at 22:49, Shawn wrote:
>
> > make -f scripts/Makefile.build obj=arch/i386/lib
> > GEN include/linux/compile.h (updated)
> > gcc2953 -Wp,-MD,init/.version.o.d -D__KERNEL__ -Iinclude -Wall
> > -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common
> > -pipe -mpreferred-stack-boundary=2 -march=i686 -malign-functions=4
> > -Iinclude/asm-i386/mach-default -fomit-frame-pointer -nostdinc
> > -iwithprefix include -DKBUILD_BASENAME=version
> > -DKBUILD_MODNAME=version -c -o init/.tmp_version.o init/version.c
> > ld -m elf_i386 -r -o init/built-in.o init/main.o init/version.o
> > init/mounts.o init/initramfs.o
> > kernel/built-in.o(__ksymtab+0xd00): undefined reference to `kernel_flag'
> > make: *** [.tmp_vmlinux1] Error 1
>
> Did you do a `make distclean' before building? If not, can you?
>
> And what combination of SMP + PREEMPT are you? I assume you are
> UP+PREEMPT, since that was what we changed. It should not matter,
> though... I think you just need to clean.
>
> Let me know.
>
> Robert Love
>
[-- Attachment #2: .config --]
[-- Type: text/plain, Size: 24373 bytes --]
#
# Automatically generated make config: don't edit
#
CONFIG_X86=y
CONFIG_MMU=y
CONFIG_UID16=y
CONFIG_GENERIC_ISA_DMA=y
#
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y
#
# General setup
#
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_SYSCTL=y
CONFIG_LOG_BUF_SHIFT=15
#
# Loadable module support
#
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
CONFIG_OBSOLETE_MODPARM=y
CONFIG_MODVERSIONS=y
CONFIG_KMOD=y
#
# Processor type and features
#
CONFIG_X86_PC=y
# CONFIG_X86_VOYAGER is not set
# CONFIG_X86_NUMAQ is not set
# CONFIG_X86_SUMMIT is not set
# CONFIG_X86_BIGSMP is not set
# CONFIG_X86_VISWS is not set
# CONFIG_M386 is not set
# CONFIG_M486 is not set
# CONFIG_M586 is not set
# CONFIG_M586TSC is not set
# CONFIG_M586MMX is not set
# CONFIG_M686 is not set
# CONFIG_MPENTIUMII is not set
# CONFIG_MPENTIUMIII is not set
# CONFIG_MPENTIUM4 is not set
# CONFIG_MK6 is not set
CONFIG_MK7=y
# CONFIG_MK8 is not set
# CONFIG_MELAN is not set
# CONFIG_MCRUSOE is not set
# CONFIG_MWINCHIPC6 is not set
# CONFIG_MWINCHIP2 is not set
# CONFIG_MWINCHIP3D is not set
# CONFIG_MCYRIXIII is not set
# CONFIG_MVIAC3_2 is not set
CONFIG_X86_CMPXCHG=y
CONFIG_X86_XADD=y
CONFIG_X86_L1_CACHE_SHIFT=6
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_INVLPG=y
CONFIG_X86_BSWAP=y
CONFIG_X86_POPAD_OK=y
CONFIG_X86_GOOD_APIC=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_X86_USE_3DNOW=y
# CONFIG_HUGETLB_PAGE is not set
# CONFIG_SMP is not set
CONFIG_PREEMPT=y
CONFIG_X86_UP_APIC=y
CONFIG_X86_UP_IOAPIC=y
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
CONFIG_X86_TSC=y
CONFIG_X86_MCE=y
CONFIG_X86_MCE_NONFATAL=y
# CONFIG_X86_MCE_P4THERMAL is not set
# CONFIG_TOSHIBA is not set
# CONFIG_I8K is not set
# CONFIG_MICROCODE is not set
CONFIG_X86_MSR=m
CONFIG_X86_CPUID=m
CONFIG_EDD=y
# CONFIG_NOHIGHMEM is not set
CONFIG_HIGHMEM4G=y
# CONFIG_HIGHMEM64G is not set
CONFIG_HIGHMEM=y
CONFIG_HIGHPTE=y
# CONFIG_MATH_EMULATION is not set
CONFIG_MTRR=y
CONFIG_HAVE_DEC_LOCK=y
#
# Power management options (ACPI, APM)
#
CONFIG_PM=y
# CONFIG_SOFTWARE_SUSPEND is not set
#
# ACPI Support
#
CONFIG_ACPI=y
# CONFIG_ACPI_HT_ONLY is not set
CONFIG_ACPI_BOOT=y
CONFIG_ACPI_AC=y
CONFIG_ACPI_BATTERY=y
CONFIG_ACPI_BUTTON=y
CONFIG_ACPI_FAN=y
CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_THERMAL=y
# CONFIG_ACPI_TOSHIBA is not set
# CONFIG_ACPI_DEBUG is not set
CONFIG_ACPI_BUS=y
CONFIG_ACPI_INTERPRETER=y
CONFIG_ACPI_EC=y
CONFIG_ACPI_POWER=y
CONFIG_ACPI_PCI=y
CONFIG_ACPI_SYSTEM=y
# CONFIG_APM is not set
#
# CPU Frequency scaling
#
# CONFIG_CPU_FREQ is not set
#
# Bus options (PCI, PCMCIA, EISA, MCA, ISA)
#
CONFIG_PCI=y
# CONFIG_PCI_GOBIOS is not set
# CONFIG_PCI_GODIRECT is not set
CONFIG_PCI_GOANY=y
CONFIG_PCI_BIOS=y
CONFIG_PCI_DIRECT=y
# CONFIG_SCx200 is not set
# CONFIG_PCI_LEGACY_PROC is not set
CONFIG_PCI_NAMES=y
# CONFIG_ISA is not set
# CONFIG_MCA is not set
# CONFIG_HOTPLUG is not set
#
# Executable file formats
#
CONFIG_KCORE_ELF=y
# CONFIG_KCORE_AOUT is not set
CONFIG_BINFMT_AOUT=m
CONFIG_BINFMT_ELF=y
CONFIG_BINFMT_MISC=m
#
# Memory Technology Devices (MTD)
#
# CONFIG_MTD is not set
#
# Parallel port support
#
CONFIG_PARPORT=m
CONFIG_PARPORT_PC=m
CONFIG_PARPORT_PC_CML1=m
# CONFIG_PARPORT_SERIAL is not set
# CONFIG_PARPORT_PC_FIFO is not set
# CONFIG_PARPORT_PC_SUPERIO is not set
# CONFIG_PARPORT_OTHER is not set
CONFIG_PARPORT_1284=y
#
# Plug and Play support
#
CONFIG_PNP=y
CONFIG_PNP_NAMES=y
CONFIG_PNP_CARD=y
CONFIG_PNP_DEBUG=y
#
# Protocols
#
CONFIG_ISAPNP=y
CONFIG_PNPBIOS=y
#
# Block devices
#
# CONFIG_BLK_DEV_FD is not set
# CONFIG_PARIDE is not set
# CONFIG_BLK_CPQ_DA is not set
# CONFIG_BLK_CPQ_CISS_DA is not set
# CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set
CONFIG_BLK_DEV_LOOP=m
# CONFIG_BLK_DEV_NBD is not set
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_SIZE=4096
CONFIG_BLK_DEV_INITRD=y
# CONFIG_LBD is not set
#
# ATA/ATAPI/MFM/RLL device support
#
CONFIG_IDE=y
#
# IDE, ATA and ATAPI Block devices
#
CONFIG_BLK_DEV_IDE=y
#
# Please see Documentation/ide.txt for help/info on IDE drives
#
# CONFIG_BLK_DEV_HD_IDE is not set
# CONFIG_BLK_DEV_HD is not set
CONFIG_BLK_DEV_IDEDISK=y
# CONFIG_IDEDISK_MULTI_MODE is not set
# CONFIG_IDEDISK_STROKE is not set
CONFIG_BLK_DEV_IDECD=m
CONFIG_BLK_DEV_IDEFLOPPY=m
CONFIG_IDE_TASK_IOCTL=y
#
# IDE chipset support/bugfixes
#
CONFIG_BLK_DEV_CMD640=y
CONFIG_BLK_DEV_CMD640_ENHANCED=y
# CONFIG_BLK_DEV_IDEPNP is not set
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_BLK_DEV_GENERIC=y
CONFIG_IDEPCI_SHARE_IRQ=y
CONFIG_BLK_DEV_IDEDMA_PCI=y
CONFIG_BLK_DEV_IDE_TCQ=y
CONFIG_BLK_DEV_IDE_TCQ_DEFAULT=y
CONFIG_BLK_DEV_IDE_TCQ_DEPTH=8
CONFIG_BLK_DEV_OFFBOARD=y
# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
CONFIG_IDEDMA_PCI_AUTO=y
# CONFIG_IDEDMA_ONLYDISK is not set
CONFIG_BLK_DEV_IDEDMA=y
# CONFIG_IDEDMA_PCI_WIP is not set
CONFIG_BLK_DEV_ADMA=y
# CONFIG_BLK_DEV_AEC62XX is not set
# CONFIG_BLK_DEV_ALI15X3 is not set
# CONFIG_BLK_DEV_AMD74XX is not set
CONFIG_BLK_DEV_CMD64X=y
# CONFIG_BLK_DEV_TRIFLEX is not set
# CONFIG_BLK_DEV_CY82C693 is not set
# CONFIG_BLK_DEV_CS5520 is not set
# CONFIG_BLK_DEV_HPT34X is not set
# CONFIG_BLK_DEV_HPT366 is not set
# CONFIG_BLK_DEV_SC1200 is not set
# CONFIG_BLK_DEV_PIIX is not set
# CONFIG_BLK_DEV_NS87415 is not set
# CONFIG_BLK_DEV_OPTI621 is not set
# CONFIG_BLK_DEV_PDC202XX_OLD is not set
# CONFIG_BLK_DEV_PDC202XX_NEW is not set
# CONFIG_BLK_DEV_RZ1000 is not set
# CONFIG_BLK_DEV_SVWKS is not set
# CONFIG_BLK_DEV_SIIMAGE is not set
# CONFIG_BLK_DEV_SIS5513 is not set
# CONFIG_BLK_DEV_SLC90E66 is not set
# CONFIG_BLK_DEV_TRM290 is not set
CONFIG_BLK_DEV_VIA82CXXX=y
CONFIG_IDEDMA_AUTO=y
# CONFIG_IDEDMA_IVB is not set
CONFIG_BLK_DEV_IDE_MODES=y
#
# SCSI device support
#
# CONFIG_SCSI is not set
#
# Multi-device support (RAID and LVM)
#
CONFIG_MD=y
CONFIG_BLK_DEV_MD=m
CONFIG_MD_LINEAR=m
CONFIG_MD_RAID0=m
CONFIG_MD_RAID1=m
CONFIG_MD_RAID5=m
CONFIG_MD_MULTIPATH=m
CONFIG_BLK_DEV_DM=m
#
# Fusion MPT device support
#
#
# IEEE 1394 (FireWire) support (EXPERIMENTAL)
#
CONFIG_IEEE1394=m
#
# Subsystem Options
#
# CONFIG_IEEE1394_VERBOSEDEBUG is not set
CONFIG_IEEE1394_OUI_DB=y
#
# Device Drivers
#
# CONFIG_IEEE1394_PCILYNX is not set
CONFIG_IEEE1394_OHCI1394=m
#
# Protocol Drivers
#
CONFIG_IEEE1394_VIDEO1394=m
CONFIG_IEEE1394_ETH1394=m
CONFIG_IEEE1394_DV1394=m
CONFIG_IEEE1394_RAWIO=m
CONFIG_IEEE1394_CMP=m
CONFIG_IEEE1394_AMDTP=m
#
# I2O device support
#
CONFIG_I2O=m
CONFIG_I2O_PCI=m
CONFIG_I2O_BLOCK=m
CONFIG_I2O_PROC=m
#
# Networking support
#
CONFIG_NET=y
#
# Networking options
#
CONFIG_PACKET=m
CONFIG_PACKET_MMAP=y
# CONFIG_NETLINK_DEV is not set
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set
CONFIG_FILTER=y
CONFIG_UNIX=y
CONFIG_NET_KEY=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_ROUTE_FWMARK=y
CONFIG_IP_ROUTE_NAT=y
CONFIG_IP_ROUTE_MULTIPATH=y
CONFIG_IP_ROUTE_TOS=y
CONFIG_IP_ROUTE_VERBOSE=y
CONFIG_IP_ROUTE_LARGE_TABLES=y
# CONFIG_IP_PNP is not set
CONFIG_NET_IPIP=m
# CONFIG_NET_IPGRE is not set
CONFIG_IP_MROUTE=y
CONFIG_IP_PIMSM_V1=y
CONFIG_IP_PIMSM_V2=y
# CONFIG_ARPD is not set
CONFIG_INET_ECN=y
# CONFIG_SYN_COOKIES is not set
# CONFIG_INET_AH is not set
# CONFIG_INET_ESP is not set
CONFIG_XFRM_USER=m
#
# IP: Netfilter Configuration
#
CONFIG_IP_NF_CONNTRACK=m
CONFIG_IP_NF_FTP=m
CONFIG_IP_NF_IRC=m
CONFIG_IP_NF_QUEUE=m
CONFIG_IP_NF_IPTABLES=m
CONFIG_IP_NF_MATCH_LIMIT=m
CONFIG_IP_NF_MATCH_MAC=m
CONFIG_IP_NF_MATCH_PKTTYPE=m
CONFIG_IP_NF_MATCH_MARK=m
CONFIG_IP_NF_MATCH_MULTIPORT=m
CONFIG_IP_NF_MATCH_TOS=m
CONFIG_IP_NF_MATCH_ECN=m
CONFIG_IP_NF_MATCH_DSCP=m
CONFIG_IP_NF_MATCH_AH_ESP=m
CONFIG_IP_NF_MATCH_LENGTH=m
CONFIG_IP_NF_MATCH_TTL=m
CONFIG_IP_NF_MATCH_TCPMSS=m
CONFIG_IP_NF_MATCH_HELPER=m
CONFIG_IP_NF_MATCH_STATE=m
CONFIG_IP_NF_MATCH_CONNTRACK=m
CONFIG_IP_NF_MATCH_UNCLEAN=m
CONFIG_IP_NF_MATCH_OWNER=m
CONFIG_IP_NF_FILTER=m
CONFIG_IP_NF_TARGET_REJECT=m
CONFIG_IP_NF_TARGET_MIRROR=m
CONFIG_IP_NF_NAT=m
CONFIG_IP_NF_NAT_NEEDED=y
CONFIG_IP_NF_TARGET_MASQUERADE=m
CONFIG_IP_NF_TARGET_REDIRECT=m
# CONFIG_IP_NF_NAT_LOCAL is not set
CONFIG_IP_NF_NAT_SNMP_BASIC=m
CONFIG_IP_NF_NAT_IRC=m
CONFIG_IP_NF_NAT_FTP=m
CONFIG_IP_NF_MANGLE=m
CONFIG_IP_NF_TARGET_TOS=m
CONFIG_IP_NF_TARGET_ECN=m
CONFIG_IP_NF_TARGET_DSCP=m
CONFIG_IP_NF_TARGET_MARK=m
CONFIG_IP_NF_TARGET_LOG=m
CONFIG_IP_NF_TARGET_ULOG=m
CONFIG_IP_NF_TARGET_TCPMSS=m
CONFIG_IP_NF_ARPTABLES=m
CONFIG_IP_NF_ARPFILTER=m
CONFIG_IP_NF_COMPAT_IPCHAINS=m
CONFIG_IP_NF_COMPAT_IPFWADM=m
# CONFIG_IPV6 is not set
#
# SCTP Configuration (EXPERIMENTAL)
#
CONFIG_IPV6_SCTP__=y
# CONFIG_IP_SCTP is not set
# CONFIG_ATM is not set
CONFIG_VLAN_8021Q=m
CONFIG_LLC=m
CONFIG_LLC_UI=y
CONFIG_IPX=m
CONFIG_IPX_INTERN=y
CONFIG_ATALK=m
CONFIG_DEV_APPLETALK=y
CONFIG_IPDDP=m
CONFIG_IPDDP_ENCAP=y
CONFIG_IPDDP_DECAP=y
# CONFIG_DECNET is not set
# CONFIG_BRIDGE is not set
# CONFIG_X25 is not set
CONFIG_LAPB=m
# CONFIG_NET_DIVERT is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
# CONFIG_NET_FASTROUTE is not set
CONFIG_NET_HW_FLOWCONTROL=y
#
# QoS and/or fair queueing
#
CONFIG_NET_SCHED=y
CONFIG_NET_SCH_CBQ=m
CONFIG_NET_SCH_HTB=m
CONFIG_NET_SCH_CSZ=m
CONFIG_NET_SCH_PRIO=m
CONFIG_NET_SCH_RED=m
CONFIG_NET_SCH_SFQ=m
CONFIG_NET_SCH_TEQL=m
CONFIG_NET_SCH_TBF=m
CONFIG_NET_SCH_GRED=m
CONFIG_NET_SCH_DSMARK=m
CONFIG_NET_SCH_INGRESS=m
CONFIG_NET_QOS=y
CONFIG_NET_ESTIMATOR=y
CONFIG_NET_CLS=y
CONFIG_NET_CLS_TCINDEX=m
CONFIG_NET_CLS_ROUTE4=m
CONFIG_NET_CLS_ROUTE=y
CONFIG_NET_CLS_FW=m
CONFIG_NET_CLS_U32=m
CONFIG_NET_CLS_RSVP=m
CONFIG_NET_CLS_RSVP6=m
# CONFIG_NET_CLS_POLICE is not set
#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
CONFIG_NETDEVICES=y
#
# ARCnet devices
#
# CONFIG_ARCNET is not set
CONFIG_DUMMY=m
# CONFIG_BONDING is not set
CONFIG_EQUALIZER=m
CONFIG_TUN=m
# CONFIG_ETHERTAP is not set
# CONFIG_NET_SB1000 is not set
#
# Ethernet (10 or 100Mbit)
#
CONFIG_NET_ETHERNET=y
# CONFIG_MII is not set
# CONFIG_HAPPYMEAL is not set
# CONFIG_SUNGEM is not set
CONFIG_NET_VENDOR_3COM=y
CONFIG_VORTEX=m
# CONFIG_TYPHOON is not set
#
# Tulip family network device support
#
# CONFIG_NET_TULIP is not set
# CONFIG_HP100 is not set
CONFIG_NET_PCI=y
# CONFIG_PCNET32 is not set
# CONFIG_AMD8111_ETH is not set
# CONFIG_ADAPTEC_STARFIRE is not set
# CONFIG_B44 is not set
# CONFIG_DGRS is not set
# CONFIG_EEPRO100 is not set
# CONFIG_E100 is not set
# CONFIG_FEALNX is not set
# CONFIG_NATSEMI is not set
# CONFIG_NE2K_PCI is not set
CONFIG_8139CP=m
CONFIG_8139TOO=m
# CONFIG_8139TOO_PIO is not set
CONFIG_8139TOO_TUNE_TWISTER=y
CONFIG_8139TOO_8129=y
# CONFIG_8139_OLD_RX_RESET is not set
# CONFIG_SIS900 is not set
# CONFIG_EPIC100 is not set
# CONFIG_SUNDANCE is not set
# CONFIG_TLAN is not set
CONFIG_VIA_RHINE=m
# CONFIG_VIA_RHINE_MMIO is not set
#
# Ethernet (1000 Mbit)
#
# CONFIG_ACENIC is not set
# CONFIG_DL2K is not set
# CONFIG_E1000 is not set
# CONFIG_NS83820 is not set
# CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set
# CONFIG_R8169 is not set
# CONFIG_SK98LIN is not set
# CONFIG_TIGON3 is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
CONFIG_PLIP=m
CONFIG_PPP=m
CONFIG_PPP_MULTILINK=y
CONFIG_PPP_FILTER=y
CONFIG_PPP_ASYNC=m
CONFIG_PPP_SYNC_TTY=m
CONFIG_PPP_DEFLATE=m
CONFIG_PPP_BSDCOMP=m
CONFIG_PPPOE=m
# CONFIG_SLIP is not set
#
# Wireless LAN (non-hamradio)
#
# CONFIG_NET_RADIO is not set
#
# Token Ring devices (depends on LLC=y)
#
# CONFIG_RCPCI is not set
# CONFIG_SHAPER is not set
#
# Wan interfaces
#
# CONFIG_WAN is not set
#
# Amateur Radio support
#
# CONFIG_HAMRADIO is not set
#
# IrDA (infrared) support
#
# CONFIG_IRDA is not set
#
# ISDN subsystem
#
# CONFIG_ISDN_BOOL is not set
#
# Telephony Support
#
# CONFIG_PHONE is not set
#
# Input device support
#
CONFIG_INPUT=y
#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
CONFIG_INPUT_JOYDEV=m
CONFIG_INPUT_TSDEV=m
CONFIG_INPUT_TSDEV_SCREEN_X=240
CONFIG_INPUT_TSDEV_SCREEN_Y=320
CONFIG_INPUT_EVDEV=y
# CONFIG_INPUT_EVBUG is not set
#
# Input I/O drivers
#
# CONFIG_GAMEPORT is not set
CONFIG_SOUND_GAMEPORT=y
CONFIG_SERIO=y
CONFIG_SERIO_I8042=y
CONFIG_SERIO_SERPORT=y
CONFIG_SERIO_CT82C710=y
CONFIG_SERIO_PARKBD=m
#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_XTKBD is not set
# CONFIG_KEYBOARD_NEWTON is not set
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=y
# CONFIG_MOUSE_SERIAL is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
CONFIG_INPUT_MISC=y
CONFIG_INPUT_PCSPKR=m
CONFIG_INPUT_UINPUT=m
#
# Character devices
#
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
# CONFIG_SERIAL_NONSTANDARD is not set
#
# Serial drivers
#
CONFIG_SERIAL_8250=y
# CONFIG_SERIAL_8250_CONSOLE is not set
# CONFIG_SERIAL_8250_EXTENDED is not set
#
# Non-8250 serial port support
#
CONFIG_SERIAL_CORE=y
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256
CONFIG_PRINTER=m
# CONFIG_LP_CONSOLE is not set
# CONFIG_PPDEV is not set
# CONFIG_TIPAR is not set
#
# I2C support
#
CONFIG_I2C=m
CONFIG_I2C_ALGOBIT=m
CONFIG_I2C_PHILIPSPAR=m
CONFIG_I2C_ELV=m
CONFIG_I2C_VELLEMAN=m
CONFIG_SCx200_ACB=m
CONFIG_I2C_ALGOPCF=m
CONFIG_I2C_ELEKTOR=m
CONFIG_I2C_CHARDEV=m
CONFIG_I2C_PROC=m
#
# I2C Hardware Sensors Mainboard support
#
CONFIG_I2C_AMD756=m
CONFIG_I2C_AMD8111=m
#
# I2C Hardware Sensors Chip support
#
CONFIG_SENSORS_ADM1021=m
CONFIG_SENSORS_LM75=m
#
# Mice
#
CONFIG_BUSMOUSE=m
# CONFIG_QIC02_TAPE is not set
#
# IPMI
#
CONFIG_IPMI_HANDLER=m
# CONFIG_IPMI_PANIC_EVENT is not set
CONFIG_IPMI_DEVICE_INTERFACE=m
CONFIG_IPMI_KCS=m
CONFIG_IPMI_WATCHDOG=m
#
# Watchdog Cards
#
CONFIG_WATCHDOG=y
# CONFIG_WATCHDOG_NOWAYOUT is not set
CONFIG_SOFT_WATCHDOG=m
CONFIG_WDT=m
CONFIG_WDTPCI=m
# CONFIG_WDT_501 is not set
# CONFIG_PCWATCHDOG is not set
# CONFIG_ACQUIRE_WDT is not set
# CONFIG_ADVANTECH_WDT is not set
# CONFIG_EUROTECH_WDT is not set
# CONFIG_IB700_WDT is not set
# CONFIG_I810_TCO is not set
# CONFIG_MIXCOMWD is not set
# CONFIG_SCx200_WDT is not set
# CONFIG_60XX_WDT is not set
# CONFIG_W83877F_WDT is not set
# CONFIG_MACHZ_WDT is not set
# CONFIG_SC520_WDT is not set
# CONFIG_AMD7XX_TCO is not set
# CONFIG_ALIM7101_WDT is not set
# CONFIG_SC1200_WDT is not set
# CONFIG_WAFER_WDT is not set
# CONFIG_CPU5_WDT is not set
CONFIG_INTEL_RNG=m
CONFIG_AMD_RNG=m
CONFIG_NVRAM=m
CONFIG_RTC=y
# CONFIG_DTLK is not set
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set
# CONFIG_SONYPI is not set
#
# Ftape, the floppy tape device driver
#
# CONFIG_FTAPE is not set
CONFIG_AGP=m
CONFIG_AGP3=y
CONFIG_AGP_INTEL=m
CONFIG_AGP_VIA=m
CONFIG_AGP_AMD=m
CONFIG_AGP_SIS=m
CONFIG_AGP_ALI=m
CONFIG_AGP_SWORKS=m
CONFIG_AGP_AMD_8151=m
CONFIG_AGP_I7505=m
CONFIG_DRM=y
CONFIG_DRM_TDFX=m
CONFIG_DRM_R128=m
CONFIG_DRM_RADEON=m
CONFIG_DRM_I810=m
CONFIG_DRM_I830=m
CONFIG_DRM_MGA=m
# CONFIG_MWAVE is not set
CONFIG_RAW_DRIVER=y
CONFIG_HANGCHECK_TIMER=y
#
# Multimedia devices
#
# CONFIG_VIDEO_DEV is not set
#
# File systems
#
CONFIG_QUOTA=y
CONFIG_QFMT_V1=m
CONFIG_QFMT_V2=m
CONFIG_QUOTACTL=y
CONFIG_AUTOFS_FS=m
CONFIG_AUTOFS4_FS=m
CONFIG_REISERFS_FS=y
# CONFIG_REISERFS_CHECK is not set
CONFIG_REISERFS_PROC_INFO=y
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
CONFIG_EXT3_FS=m
CONFIG_EXT3_FS_XATTR=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_JBD=y
CONFIG_JBD_DEBUG=y
CONFIG_FAT_FS=m
CONFIG_MSDOS_FS=m
CONFIG_VFAT_FS=m
# CONFIG_EFS_FS is not set
# CONFIG_CRAMFS is not set
CONFIG_TMPFS=y
CONFIG_RAMFS=y
CONFIG_ISO9660_FS=m
CONFIG_JOLIET=y
CONFIG_ZISOFS=y
CONFIG_JFS_FS=m
CONFIG_JFS_POSIX_ACL=y
# CONFIG_JFS_DEBUG is not set
CONFIG_JFS_STATISTICS=y
CONFIG_MINIX_FS=m
# CONFIG_VXFS_FS is not set
CONFIG_NTFS_FS=m
# CONFIG_NTFS_DEBUG is not set
# CONFIG_NTFS_RW is not set
# CONFIG_HPFS_FS is not set
CONFIG_PROC_FS=y
# CONFIG_DEVFS_FS is not set
CONFIG_DEVPTS_FS=y
# CONFIG_QNX4FS_FS is not set
CONFIG_ROMFS_FS=m
CONFIG_EXT2_FS=y
CONFIG_EXT2_FS_XATTR=y
CONFIG_EXT2_FS_POSIX_ACL=y
# CONFIG_SYSV_FS is not set
CONFIG_UDF_FS=m
# CONFIG_UFS_FS is not set
# CONFIG_XFS_FS is not set
#
# Network File Systems
#
CONFIG_CODA_FS=m
# CONFIG_INTERMEZZO_FS is not set
CONFIG_NFS_FS=m
CONFIG_NFS_V3=y
CONFIG_NFS_V4=y
CONFIG_NFSD=m
CONFIG_NFSD_V3=y
CONFIG_NFSD_V4=y
CONFIG_NFSD_TCP=y
CONFIG_SUNRPC=m
CONFIG_SUNRPC_GSS=m
CONFIG_LOCKD=m
CONFIG_LOCKD_V4=y
CONFIG_EXPORTFS=m
CONFIG_CIFS=m
CONFIG_SMB_FS=m
CONFIG_SMB_NLS_DEFAULT=y
CONFIG_SMB_NLS_REMOTE="cp437"
# CONFIG_NCP_FS is not set
# CONFIG_AFS_FS is not set
CONFIG_ZISOFS_FS=m
CONFIG_FS_MBCACHE=y
CONFIG_FS_POSIX_ACL=y
#
# Partition Types
#
CONFIG_PARTITION_ADVANCED=y
CONFIG_ACORN_PARTITION=y
CONFIG_ACORN_PARTITION_ICS=y
CONFIG_ACORN_PARTITION_ADFS=y
CONFIG_ACORN_PARTITION_POWERTEC=y
CONFIG_ACORN_PARTITION_RISCIX=y
CONFIG_OSF_PARTITION=y
CONFIG_AMIGA_PARTITION=y
CONFIG_ATARI_PARTITION=y
CONFIG_MAC_PARTITION=y
CONFIG_MSDOS_PARTITION=y
CONFIG_BSD_DISKLABEL=y
CONFIG_MINIX_SUBPARTITION=y
CONFIG_SOLARIS_X86_PARTITION=y
CONFIG_UNIXWARE_DISKLABEL=y
CONFIG_LDM_PARTITION=y
CONFIG_LDM_DEBUG=y
CONFIG_SGI_PARTITION=y
CONFIG_ULTRIX_PARTITION=y
CONFIG_SUN_PARTITION=y
CONFIG_EFI_PARTITION=y
CONFIG_SMB_NLS=y
CONFIG_NLS=y
#
# Native Language Support
#
CONFIG_NLS_DEFAULT="iso8859-1"
CONFIG_NLS_CODEPAGE_437=y
# CONFIG_NLS_CODEPAGE_737 is not set
# CONFIG_NLS_CODEPAGE_775 is not set
# CONFIG_NLS_CODEPAGE_850 is not set
# CONFIG_NLS_CODEPAGE_852 is not set
# CONFIG_NLS_CODEPAGE_855 is not set
# CONFIG_NLS_CODEPAGE_857 is not set
# CONFIG_NLS_CODEPAGE_860 is not set
# CONFIG_NLS_CODEPAGE_861 is not set
# CONFIG_NLS_CODEPAGE_862 is not set
# CONFIG_NLS_CODEPAGE_863 is not set
# CONFIG_NLS_CODEPAGE_864 is not set
# CONFIG_NLS_CODEPAGE_865 is not set
# CONFIG_NLS_CODEPAGE_866 is not set
# CONFIG_NLS_CODEPAGE_869 is not set
# CONFIG_NLS_CODEPAGE_936 is not set
# CONFIG_NLS_CODEPAGE_950 is not set
# CONFIG_NLS_CODEPAGE_932 is not set
# CONFIG_NLS_CODEPAGE_949 is not set
# CONFIG_NLS_CODEPAGE_874 is not set
# CONFIG_NLS_ISO8859_8 is not set
# CONFIG_NLS_CODEPAGE_1250 is not set
# CONFIG_NLS_CODEPAGE_1251 is not set
CONFIG_NLS_ISO8859_1=y
# CONFIG_NLS_ISO8859_2 is not set
# CONFIG_NLS_ISO8859_3 is not set
# CONFIG_NLS_ISO8859_4 is not set
# CONFIG_NLS_ISO8859_5 is not set
# CONFIG_NLS_ISO8859_6 is not set
# CONFIG_NLS_ISO8859_7 is not set
# CONFIG_NLS_ISO8859_9 is not set
# CONFIG_NLS_ISO8859_13 is not set
# CONFIG_NLS_ISO8859_14 is not set
# CONFIG_NLS_ISO8859_15 is not set
# CONFIG_NLS_KOI8_R is not set
# CONFIG_NLS_KOI8_U is not set
# CONFIG_NLS_UTF8 is not set
#
# Graphics support
#
CONFIG_FB=y
# CONFIG_FB_CLGEN is not set
# CONFIG_FB_PM2 is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_IMSTT is not set
# CONFIG_FB_VGA16 is not set
CONFIG_FB_VESA=y
CONFIG_VIDEO_SELECT=y
# CONFIG_FB_HGA is not set
# CONFIG_FB_RIVA is not set
# CONFIG_FB_I810 is not set
# CONFIG_FB_MATROX is not set
# CONFIG_FB_RADEON is not set
# CONFIG_FB_ATY128 is not set
# CONFIG_FB_ATY is not set
# CONFIG_FB_SIS is not set
# CONFIG_FB_NEOMAGIC is not set
# CONFIG_FB_3DFX is not set
# CONFIG_FB_VOODOO1 is not set
# CONFIG_FB_TRIDENT is not set
# CONFIG_FB_PM3 is not set
# CONFIG_FB_VIRTUAL is not set
#
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
# CONFIG_MDA_CONSOLE is not set
CONFIG_DUMMY_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_PCI_CONSOLE=y
CONFIG_FBCON_ADVANCED=y
CONFIG_FONT_SUN8x16=y
# CONFIG_FONT_SUN12x22 is not set
CONFIG_FONTS=y
# CONFIG_FONT_8x8 is not set
# CONFIG_FONT_8x16 is not set
# CONFIG_FONT_6x11 is not set
# CONFIG_FONT_PEARL_8x8 is not set
# CONFIG_FONT_ACORN_8x8 is not set
# CONFIG_FONT_MINI_4x6 is not set
#
# Sound
#
CONFIG_SOUND=y
#
# Advanced Linux Sound Architecture
#
CONFIG_SND=m
CONFIG_SND_SEQUENCER=m
# CONFIG_SND_SEQ_DUMMY is not set
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=m
CONFIG_SND_PCM_OSS=m
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_SND_RTCTIMER=m
CONFIG_SND_VERBOSE_PRINTK=y
# CONFIG_SND_DEBUG is not set
#
# Generic devices
#
CONFIG_SND_DUMMY=m
CONFIG_SND_VIRMIDI=m
CONFIG_SND_MTPAV=m
CONFIG_SND_SERIAL_U16550=m
CONFIG_SND_MPU401=m
#
# PCI devices
#
# CONFIG_SND_ALI5451 is not set
# CONFIG_SND_CS46XX is not set
# CONFIG_SND_CS4281 is not set
CONFIG_SND_EMU10K1=m
# CONFIG_SND_KORG1212 is not set
# CONFIG_SND_NM256 is not set
# CONFIG_SND_RME32 is not set
# CONFIG_SND_RME96 is not set
# CONFIG_SND_RME9652 is not set
# CONFIG_SND_HDSP is not set
# CONFIG_SND_TRIDENT is not set
# CONFIG_SND_YMFPCI is not set
# CONFIG_SND_ALS4000 is not set
# CONFIG_SND_CMIPCI is not set
# CONFIG_SND_ENS1370 is not set
# CONFIG_SND_ENS1371 is not set
# CONFIG_SND_ES1938 is not set
# CONFIG_SND_ES1968 is not set
# CONFIG_SND_MAESTRO3 is not set
# CONFIG_SND_FM801 is not set
# CONFIG_SND_ICE1712 is not set
# CONFIG_SND_INTEL8X0 is not set
# CONFIG_SND_SONICVIBES is not set
CONFIG_SND_VIA82XX=m
#
# ALSA USB devices
#
# CONFIG_SND_USB_AUDIO is not set
#
# Open Sound System
#
# CONFIG_SOUND_PRIME is not set
#
# USB support
#
CONFIG_USB=y
CONFIG_USB_DEBUG=y
#
# Miscellaneous USB options
#
CONFIG_USB_DEVICEFS=y
CONFIG_USB_BANDWIDTH=y
CONFIG_USB_DYNAMIC_MINORS=y
#
# USB Host Controller Drivers
#
CONFIG_USB_EHCI_HCD=m
CONFIG_USB_OHCI_HCD=m
CONFIG_USB_UHCI_HCD=m
#
# USB Device Class drivers
#
CONFIG_USB_AUDIO=m
CONFIG_USB_BLUETOOTH_TTY=m
CONFIG_USB_MIDI=m
CONFIG_USB_ACM=m
CONFIG_USB_PRINTER=m
#
# SCSI support is needed for USB Storage
#
#
# USB Human Interface Devices (HID)
#
CONFIG_USB_HID=m
CONFIG_USB_HIDINPUT=y
# CONFIG_HID_FF is not set
CONFIG_USB_HIDDEV=y
#
# USB HID Boot Protocol drivers
#
CONFIG_USB_KBD=m
CONFIG_USB_MOUSE=m
# CONFIG_USB_AIPTEK is not set
# CONFIG_USB_WACOM is not set
# CONFIG_USB_KBTAB is not set
# CONFIG_USB_POWERMATE is not set
# CONFIG_USB_XPAD is not set
#
# USB Imaging devices
#
CONFIG_USB_MDC800=m
CONFIG_USB_SCANNER=m
#
# USB Multimedia devices
#
CONFIG_USB_DABUSB=m
#
# Video4Linux support is needed for USB Multimedia device support
#
#
# USB Network adaptors
#
CONFIG_USB_CATC=m
CONFIG_USB_CDCETHER=m
CONFIG_USB_KAWETH=m
CONFIG_USB_PEGASUS=m
CONFIG_USB_RTL8150=m
CONFIG_USB_USBNET=m
#
# USB port drivers
#
CONFIG_USB_USS720=m
#
# USB Serial Converter support
#
# CONFIG_USB_SERIAL is not set
#
# USB Miscellaneous drivers
#
CONFIG_USB_EMI26=m
CONFIG_USB_TIGL=m
CONFIG_USB_AUERSWALD=m
CONFIG_USB_RIO500=m
CONFIG_USB_BRLVGER=m
CONFIG_USB_LCD=m
CONFIG_USB_TEST=m
#
# Bluetooth support
#
# CONFIG_BT is not set
#
# Profiling support
#
# CONFIG_PROFILING is not set
#
# Kernel hacking
#
CONFIG_DEBUG_KERNEL=y
# CONFIG_DEBUG_STACKOVERFLOW is not set
# CONFIG_DEBUG_SLAB is not set
# CONFIG_X86_REMOTE_DEBUG is not set
# CONFIG_DEBUG_IOVIRT is not set
CONFIG_MAGIC_SYSRQ=y
# CONFIG_DEBUG_SPINLOCK is not set
# CONFIG_DEBUG_HIGHMEM is not set
CONFIG_KALLSYMS=y
# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
# CONFIG_FRAME_POINTER is not set
CONFIG_X86_EXTRA_IRQS=y
CONFIG_X86_FIND_SMP_CONFIG=y
CONFIG_X86_MPPARSE=y
#
# Security options
#
# CONFIG_SECURITY is not set
#
# Cryptographic options
#
# CONFIG_CRYPTO is not set
#
# Library routines
#
# CONFIG_CRC32 is not set
CONFIG_ZLIB_INFLATE=m
CONFIG_ZLIB_DEFLATE=m
CONFIG_X86_BIOS_REBOOT=y
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: 2.5.64-mm2
2003-03-08 3:49 ` 2.5.64-mm2 Shawn
@ 2003-03-08 4:05 ` Robert Love
2003-03-08 4:01 ` 2.5.64-mm2 Shawn
0 siblings, 1 reply; 13+ messages in thread
From: Robert Love @ 2003-03-08 4:05 UTC (permalink / raw)
To: Shawn; +Cc: Andrew Morton, linux-kernel, linux-mm
On Fri, 2003-03-07 at 22:49, Shawn wrote:
> make -f scripts/Makefile.build obj=arch/i386/lib
> GEN include/linux/compile.h (updated)
> gcc2953 -Wp,-MD,init/.version.o.d -D__KERNEL__ -Iinclude -Wall
> -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common
> -pipe -mpreferred-stack-boundary=2 -march=i686 -malign-functions=4
> -Iinclude/asm-i386/mach-default -fomit-frame-pointer -nostdinc
> -iwithprefix include -DKBUILD_BASENAME=version
> -DKBUILD_MODNAME=version -c -o init/.tmp_version.o init/version.c
> ld -m elf_i386 -r -o init/built-in.o init/main.o init/version.o
> init/mounts.o init/initramfs.o
> kernel/built-in.o(__ksymtab+0xd00): undefined reference to `kernel_flag'
> make: *** [.tmp_vmlinux1] Error 1
Did you do a `make distclean' before building? If not, can you?
And what combination of SMP + PREEMPT are you? I assume you are
UP+PREEMPT, since that was what we changed. It should not matter,
though... I think you just need to clean.
Let me know.
Robert Love
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"aart@kvack.org">aart@kvack.org</a>
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: 2.5.64-mm2
2003-03-08 4:01 ` 2.5.64-mm2 Shawn
@ 2003-03-08 4:22 ` Robert Love
2003-03-08 13:59 ` 2.5.64-mm2 Shawn
0 siblings, 1 reply; 13+ messages in thread
From: Robert Love @ 2003-03-08 4:22 UTC (permalink / raw)
To: Shawn, Andrew Morton; +Cc: linux-kernel, linux-mm
On Fri, 2003-03-07 at 23:01, Shawn wrote:
> Here's my .config. I am not SMP.
>
> I suspected the distclean thing, but I made "Mr. Proper" too just in
> case.
Oh. Its those damn modules. The bane of my existence.
Problem is, ksyms.c is exporting kernel_flag under PREEMPT. Now we just
need it exported under SMP.
Andrew, would you mind appending this to the current patch? Sorry.
Everyone else, you need this if you are UP+PREEMPT+MODULES.
Robert Love
kernel/ksyms.c | 2 +-
1 files changed, 1 insertion(+), 1 deletion(-)
diff -urN linux-2.5.64-mm2/kernel/ksyms.c linux/kernel/ksyms.c
--- linux-2.5.64-mm2/kernel/ksyms.c 2003-03-07 22:08:04.000000000 -0500
+++ linux/kernel/ksyms.c 2003-03-07 23:19:32.098500176 -0500
@@ -488,7 +488,7 @@
#if CONFIG_SMP
EXPORT_SYMBOL_GPL(set_cpus_allowed);
#endif
-#if CONFIG_SMP || CONFIG_PREEMPT
+#if CONFIG_SMP
EXPORT_SYMBOL(kernel_flag);
#endif
EXPORT_SYMBOL(jiffies);
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"aart@kvack.org">aart@kvack.org</a>
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: 2.5.64-mm2
2003-03-08 4:22 ` 2.5.64-mm2 Robert Love
@ 2003-03-08 13:59 ` Shawn
2003-03-08 14:45 ` 2.5.64-mm2 Shawn
0 siblings, 1 reply; 13+ messages in thread
From: Shawn @ 2003-03-08 13:59 UTC (permalink / raw)
To: Robert Love; +Cc: Andrew Morton, linux-kernel, linux-mm
Now I oops on boot justt when it trys to mount root (reiserfs),
unfortunately, I cannot page up to see the oops text.
I'll try booting with vesa fbcon to see if I can't see more.
On Fri, 2003-03-07 at 22:22, Robert Love wrote:
> On Fri, 2003-03-07 at 23:01, Shawn wrote:
> > Here's my .config. I am not SMP.
> >
> > I suspected the distclean thing, but I made "Mr. Proper" too just in
> > case.
>
> Oh. Its those damn modules. The bane of my existence.
>
> Problem is, ksyms.c is exporting kernel_flag under PREEMPT. Now we just
> need it exported under SMP.
>
> Andrew, would you mind appending this to the current patch? Sorry.
>
> Everyone else, you need this if you are UP+PREEMPT+MODULES.
>
> Robert Love
>
>
> kernel/ksyms.c | 2 +-
> 1 files changed, 1 insertion(+), 1 deletion(-)
>
>
> diff -urN linux-2.5.64-mm2/kernel/ksyms.c linux/kernel/ksyms.c
> --- linux-2.5.64-mm2/kernel/ksyms.c 2003-03-07 22:08:04.000000000 -0500
> +++ linux/kernel/ksyms.c 2003-03-07 23:19:32.098500176 -0500
> @@ -488,7 +488,7 @@
> #if CONFIG_SMP
> EXPORT_SYMBOL_GPL(set_cpus_allowed);
> #endif
> -#if CONFIG_SMP || CONFIG_PREEMPT
> +#if CONFIG_SMP
> EXPORT_SYMBOL(kernel_flag);
> #endif
> EXPORT_SYMBOL(jiffies);
>
>
>
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"aart@kvack.org">aart@kvack.org</a>
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: 2.5.64-mm2
2003-03-08 13:59 ` 2.5.64-mm2 Shawn
@ 2003-03-08 14:45 ` Shawn
2003-03-08 19:49 ` 2.5.64-mm2 Robert Love
0 siblings, 1 reply; 13+ messages in thread
From: Shawn @ 2003-03-08 14:45 UTC (permalink / raw)
To: Robert Love; +Cc: Andrew Morton, linux-kernel, linux-mm
Eliminate initrd (eliminate using it, not support for it) and oops goes
away. Weird.
On Sat, 2003-03-08 at 07:59, Shawn wrote:
> Now I oops on boot justt when it trys to mount root (reiserfs),
> unfortunately, I cannot page up to see the oops text.
>
> I'll try booting with vesa fbcon to see if I can't see more.
>
> On Fri, 2003-03-07 at 22:22, Robert Love wrote:
> > On Fri, 2003-03-07 at 23:01, Shawn wrote:
> > > Here's my .config. I am not SMP.
> > >
> > > I suspected the distclean thing, but I made "Mr. Proper" too just in
> > > case.
> >
> > Oh. Its those damn modules. The bane of my existence.
> >
> > Problem is, ksyms.c is exporting kernel_flag under PREEMPT. Now we just
> > need it exported under SMP.
> >
> > Andrew, would you mind appending this to the current patch? Sorry.
> >
> > Everyone else, you need this if you are UP+PREEMPT+MODULES.
> >
> > Robert Love
> >
> >
> > kernel/ksyms.c | 2 +-
> > 1 files changed, 1 insertion(+), 1 deletion(-)
> >
> >
> > diff -urN linux-2.5.64-mm2/kernel/ksyms.c linux/kernel/ksyms.c
> > --- linux-2.5.64-mm2/kernel/ksyms.c 2003-03-07 22:08:04.000000000 -0500
> > +++ linux/kernel/ksyms.c 2003-03-07 23:19:32.098500176 -0500
> > @@ -488,7 +488,7 @@
> > #if CONFIG_SMP
> > EXPORT_SYMBOL_GPL(set_cpus_allowed);
> > #endif
> > -#if CONFIG_SMP || CONFIG_PREEMPT
> > +#if CONFIG_SMP
> > EXPORT_SYMBOL(kernel_flag);
> > #endif
> > EXPORT_SYMBOL(jiffies);
> >
> >
> >
> -
> 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/
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"aart@kvack.org">aart@kvack.org</a>
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [patch] updated scheduler-tunables for 2.5.64-mm2
2003-03-08 3:44 ` [patch] updated scheduler-tunables for 2.5.64-mm2 Robert Love
2003-03-08 3:50 ` Robert Love
@ 2003-03-08 18:25 ` Martin J. Bligh
2003-03-09 1:54 ` Robert Love
1 sibling, 1 reply; 13+ messages in thread
From: Martin J. Bligh @ 2003-03-08 18:25 UTC (permalink / raw)
To: Robert Love, Andrew Morton; +Cc: linux-kernel, linux-mm
Cool ... do you want to add the other two NUMA parameters as well to
your stack? (the idle and busy rebalance rates). Here's what I had
before with those in.
diff -urpN -X /home/fletch/.diff.exclude 143-schedstat-scripts/Documentation/filesystems/proc.txt 144-sched_tunables/Documentation/filesystems/proc.txt
--- 143-schedstat-scripts/Documentation/filesystems/proc.txt Thu Feb 13 11:08:01 2003
+++ 144-sched_tunables/Documentation/filesystems/proc.txt Wed Mar 5 10:22:46 2003
@@ -37,6 +37,7 @@ Table of Contents
2.8 /proc/sys/net/ipv4 - IPV4 settings
2.9 Appletalk
2.10 IPX
+ 2.11 /proc/sys/sched - scheduler tunables
------------------------------------------------------------------------------
Preface
@@ -1662,6 +1663,104 @@ IPX.
The /proc/net/ipx_route table holds a list of IPX routes. For each route it
gives the destination network, the router node (or Directly) and the network
address of the router (or Connected) for internal networks.
+
+2.11 /proc/sys/sched - scheduler tunables
+-----------------------------------------
+
+Useful knobs for tuning the scheduler live in /proc/sys/sched.
+
+child_penalty
+-------------
+
+Percentage of the parent's sleep_avg that children inherit. sleep_avg is
+a running average of the time a process spends sleeping. Tasks with high
+sleep_avg values are considered interactive and given a higher dynamic
+priority and a larger timeslice. You typically want this some value just
+under 100.
+
+exit_weight
+-----------
+
+When a CPU hog task exits, its parent's sleep_avg is reduced by a factor of
+exit_weight against the exiting task's sleep_avg.
+
+interactive_delta
+-----------------
+
+If a task is "interactive" it is reinserted into the active array after it
+has expired its timeslice, instead of being inserted into the expired array.
+How "interactive" a task must be in order to be deemed interactive is a
+function of its nice value. This interactive limit is scaled linearly by nice
+value and is offset by the interactive_delta.
+
+max_sleep_avg
+-------------
+
+max_sleep_avg is the largest value (in ms) stored for a task's running sleep
+average. The larger this value, the longer a task needs to sleep to be
+considered interactive (maximum interactive bonus is a function of
+max_sleep_avg).
+
+max_timeslice
+-------------
+
+Maximum timeslice, in milliseconds. This is the value given to tasks of the
+highest dynamic priority.
+
+min_timeslice
+-------------
+
+Minimum timeslice, in milliseconds. This is the value given to tasks of the
+lowest dynamic priority. Every task gets at least this slice of the processor
+per array switch.
+
+parent_penalty
+--------------
+
+Percentage of the parent's sleep_avg that it retains across a fork().
+sleep_avg is a running average of the time a process spends sleeping. Tasks
+with high sleep_avg values are considered interactive and given a higher
+dynamic priority and a larger timeslice. Normally, this value is 100 and thus
+task's retain their sleep_avg on fork. If you want to punish interactive
+tasks for forking, set this below 100.
+
+prio_bonus_ratio
+----------------
+
+Middle percentage of the priority range that tasks can receive as a dynamic
+priority. The default value of 25% ensures that nice values at the
+extremes are still enforced. For example, nice +19 interactive tasks will
+never be able to preempt a nice 0 CPU hog. Setting this higher will increase
+the size of the priority range the tasks can receive as a bonus. Setting
+this lower will decrease this range, making the interactivity bonus less
+apparent and user nice values more applicable.
+
+starvation_limit
+----------------
+
+Sufficiently interactive tasks are reinserted into the active array when they
+run out of timeslice. Normally, tasks are inserted into the expired array.
+Reinserting interactive tasks into the active array allows them to remain
+runnable, which is important to interactive performance. This could starve
+expired tasks, however, since the interactive task could prevent the array
+switch. To prevent starving the tasks on the expired array for too long. the
+starvation_limit is the longest (in ms) we will let the expired array starve
+at the expense of reinserting interactive tasks back into active. Higher
+values here give more preferance to running interactive tasks, at the expense
+of expired tasks. Lower values provide more fair scheduling behavior, at the
+expense of interactivity. The units are in milliseconds.
+
+idle_node_rebalance_ratio
+-------------------------
+
+On NUMA machines, we normally rebalance within nodes, but we also rebalance
+globally every N idle rebalance ticks, where N = idle_node_rebalance_ratio.
+
+busy_node_rebalance_ratio
+-------------------------
+
+On NUMA machines, we normally rebalance within nodes, but we also rebalance
+globally every N busy rebalance ticks, where N = busy_node_rebalance_ratio.
------------------------------------------------------------------------------
Summary
diff -urpN -X /home/fletch/.diff.exclude 143-schedstat-scripts/include/linux/sysctl.h 144-sched_tunables/include/linux/sysctl.h
--- 143-schedstat-scripts/include/linux/sysctl.h Tue Feb 25 23:03:51 2003
+++ 144-sched_tunables/include/linux/sysctl.h Wed Mar 5 10:22:46 2003
@@ -66,7 +66,8 @@ enum
CTL_DEV=7, /* Devices */
CTL_BUS=8, /* Busses */
CTL_ABI=9, /* Binary emulation */
- CTL_CPU=10 /* CPU stuff (speed scaling, etc) */
+ CTL_CPU=10, /* CPU stuff (speed scaling, etc) */
+ CTL_SCHED=11, /* scheduler tunables */
};
/* CTL_BUS names: */
@@ -157,6 +158,20 @@ enum
VM_LOWER_ZONE_PROTECTION=20,/* Amount of protection of lower zones */
};
+/* Tunable scheduler parameters in /proc/sys/sched/ */
+enum {
+ SCHED_MIN_TIMESLICE=1, /* minimum process timeslice */
+ SCHED_MAX_TIMESLICE=2, /* maximum process timeslice */
+ SCHED_CHILD_PENALTY=3, /* penalty on fork to child */
+ SCHED_PARENT_PENALTY=4, /* penalty on fork to parent */
+ SCHED_EXIT_WEIGHT=5, /* penalty to parent of CPU hog child */
+ SCHED_PRIO_BONUS_RATIO=6, /* percent of max prio given as bonus */
+ SCHED_INTERACTIVE_DELTA=7, /* delta used to scale interactivity */
+ SCHED_MAX_SLEEP_AVG=8, /* maximum sleep avg attainable */
+ SCHED_STARVATION_LIMIT=9, /* no re-active if expired is starved */
+ SCHED_IDLE_NODE_REBALANCE_RATIO=10, /* how often to global balance */
+ SCHED_BUSY_NODE_REBALANCE_RATIO=11, /* how often to global balance */
+};
/* CTL_NET names: */
enum
diff -urpN -X /home/fletch/.diff.exclude 143-schedstat-scripts/kernel/sched.c 144-sched_tunables/kernel/sched.c
--- 143-schedstat-scripts/kernel/sched.c Wed Mar 5 10:22:45 2003
+++ 144-sched_tunables/kernel/sched.c Wed Mar 5 10:22:46 2003
@@ -63,16 +63,30 @@
* Minimum timeslice is 10 msecs, default timeslice is 150 msecs,
* maximum timeslice is 300 msecs. Timeslices get refilled after
* they expire.
+ *
+ * They are configurable via /proc/sys/sched
*/
-#define MIN_TIMESLICE ( 10 * HZ / 1000)
-#define MAX_TIMESLICE (300 * HZ / 1000)
-#define CHILD_PENALTY 95
-#define PARENT_PENALTY 100
-#define EXIT_WEIGHT 3
-#define PRIO_BONUS_RATIO 25
-#define INTERACTIVE_DELTA 2
-#define MAX_SLEEP_AVG (2*HZ)
-#define STARVATION_LIMIT (2*HZ)
+
+int min_timeslice = (10 * HZ) / 1000;
+int max_timeslice = (300 * HZ) / 1000;
+int child_penalty = 95;
+int parent_penalty = 100;
+int exit_weight = 3;
+int prio_bonus_ratio = 25;
+int interactive_delta = 2;
+int max_sleep_avg = 2 * HZ;
+int starvation_limit = 2 * HZ;
+
+#define MIN_TIMESLICE (min_timeslice)
+#define MAX_TIMESLICE (max_timeslice)
+#define CHILD_PENALTY (child_penalty)
+#define PARENT_PENALTY (parent_penalty)
+#define EXIT_WEIGHT (exit_weight)
+#define PRIO_BONUS_RATIO (prio_bonus_ratio)
+#define INTERACTIVE_DELTA (interactive_delta)
+#define MAX_SLEEP_AVG (max_sleep_avg)
+#define STARVATION_LIMIT (starvation_limit)
+
#define NODE_THRESHOLD 125
/*
@@ -917,6 +931,9 @@ static int find_busiest_node(int this_no
#endif /* CONFIG_NUMA */
+int idle_node_rebalance_ratio = 10;
+int busy_node_rebalance_ratio = 100;
+
#if CONFIG_SMP
/*
@@ -1149,8 +1166,9 @@ out:
*/
#define IDLE_REBALANCE_TICK (HZ/1000 ?: 1)
#define BUSY_REBALANCE_TICK (HZ/5 ?: 1)
-#define IDLE_NODE_REBALANCE_TICK (IDLE_REBALANCE_TICK * 5)
-#define BUSY_NODE_REBALANCE_TICK (BUSY_REBALANCE_TICK * 100)
+
+#define IDLE_NODE_REBALANCE_TICK (IDLE_REBALANCE_TICK * idle_node_rebalance_ratio)
+#define BUSY_NODE_REBALANCE_TICK (BUSY_REBALANCE_TICK * busy_node_rebalance_ratio)
#if CONFIG_NUMA
static void balance_node(runqueue_t *this_rq, int idle, int this_cpu)
diff -urpN -X /home/fletch/.diff.exclude 143-schedstat-scripts/kernel/sysctl.c 144-sched_tunables/kernel/sysctl.c
--- 143-schedstat-scripts/kernel/sysctl.c Mon Dec 16 21:50:51 2002
+++ 144-sched_tunables/kernel/sysctl.c Wed Mar 5 10:22:46 2003
@@ -55,6 +55,17 @@ extern char core_pattern[];
extern int cad_pid;
extern int pid_max;
extern int sysctl_lower_zone_protection;
+extern int min_timeslice;
+extern int max_timeslice;
+extern int child_penalty;
+extern int parent_penalty;
+extern int exit_weight;
+extern int prio_bonus_ratio;
+extern int interactive_delta;
+extern int max_sleep_avg;
+extern int starvation_limit;
+extern int idle_node_rebalance_ratio;
+extern int busy_node_rebalance_ratio;
/* this is needed for the proc_dointvec_minmax for [fs_]overflow UID and GID */
static int maxolduid = 65535;
@@ -112,6 +123,7 @@ static struct ctl_table_header root_tabl
static ctl_table kern_table[];
static ctl_table vm_table[];
+static ctl_table sched_table[];
#ifdef CONFIG_NET
extern ctl_table net_table[];
#endif
@@ -156,6 +168,7 @@ static ctl_table root_table[] = {
{CTL_FS, "fs", NULL, 0, 0555, fs_table},
{CTL_DEBUG, "debug", NULL, 0, 0555, debug_table},
{CTL_DEV, "dev", NULL, 0, 0555, dev_table},
+ {CTL_SCHED, "sched", NULL, 0, 0555, sched_table},
{0}
};
@@ -358,7 +371,46 @@ static ctl_table debug_table[] = {
static ctl_table dev_table[] = {
{0}
-};
+};
+
+static ctl_table sched_table[] = {
+ {SCHED_MAX_TIMESLICE, "max_timeslice", &max_timeslice,
+ sizeof(int), 0644, NULL, &proc_dointvec_minmax,
+ &sysctl_intvec, NULL, &one, NULL},
+ {SCHED_MIN_TIMESLICE, "min_timeslice", &min_timeslice,
+ sizeof(int), 0644, NULL, &proc_dointvec_minmax,
+ &sysctl_intvec, NULL, &one, NULL},
+ {SCHED_CHILD_PENALTY, "child_penalty", &child_penalty,
+ sizeof(int), 0644, NULL, &proc_dointvec_minmax,
+ &sysctl_intvec, NULL, &zero, NULL},
+ {SCHED_PARENT_PENALTY, "parent_penalty", &parent_penalty,
+ sizeof(int), 0644, NULL, &proc_dointvec_minmax,
+ &sysctl_intvec, NULL, &zero, NULL},
+ {SCHED_EXIT_WEIGHT, "exit_weight", &exit_weight,
+ sizeof(int), 0644, NULL, &proc_dointvec_minmax,
+ &sysctl_intvec, NULL, &zero, NULL},
+ {SCHED_PRIO_BONUS_RATIO, "prio_bonus_ratio", &prio_bonus_ratio,
+ sizeof(int), 0644, NULL, &proc_dointvec_minmax,
+ &sysctl_intvec, NULL, &zero, NULL},
+ {SCHED_INTERACTIVE_DELTA, "interactive_delta", &interactive_delta,
+ sizeof(int), 0644, NULL, &proc_dointvec_minmax,
+ &sysctl_intvec, NULL, &zero, NULL},
+ {SCHED_MAX_SLEEP_AVG, "max_sleep_avg", &max_sleep_avg,
+ sizeof(int), 0644, NULL, &proc_dointvec_minmax,
+ &sysctl_intvec, NULL, &one, NULL},
+ {SCHED_STARVATION_LIMIT, "starvation_limit", &starvation_limit,
+ sizeof(int), 0644, NULL, &proc_dointvec_minmax,
+ &sysctl_intvec, NULL, &zero, NULL},
+ {SCHED_IDLE_NODE_REBALANCE_RATIO, "idle_node_rebalance_ratio",
+ &idle_node_rebalance_ratio,
+ sizeof(int), 0644, NULL, &proc_dointvec_minmax,
+ &sysctl_intvec, NULL, &zero, NULL},
+ {SCHED_BUSY_NODE_REBALANCE_RATIO, "busy_node_rebalance_ratio",
+ &busy_node_rebalance_ratio,
+ sizeof(int), 0644, NULL, &proc_dointvec_minmax,
+ &sysctl_intvec, NULL, &zero, NULL},
+ {0}
+};
extern void init_irq_proc (void);
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"aart@kvack.org">aart@kvack.org</a>
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: 2.5.64-mm2
2003-03-08 14:45 ` 2.5.64-mm2 Shawn
@ 2003-03-08 19:49 ` Robert Love
0 siblings, 0 replies; 13+ messages in thread
From: Robert Love @ 2003-03-08 19:49 UTC (permalink / raw)
To: Shawn; +Cc: Andrew Morton, linux-kernel, linux-mm
On Sat, 2003-03-08 at 09:45, Shawn wrote:
> Eliminate initrd (eliminate using it, not support for it) and oops goes
> away. Weird.
Almost certainly not related to the previous problem.
Robert Love
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"aart@kvack.org">aart@kvack.org</a>
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [patch] updated scheduler-tunables for 2.5.64-mm2
2003-03-08 18:25 ` Martin J. Bligh
@ 2003-03-09 1:54 ` Robert Love
2003-03-09 2:18 ` Martin J. Bligh
0 siblings, 1 reply; 13+ messages in thread
From: Robert Love @ 2003-03-09 1:54 UTC (permalink / raw)
To: Martin J. Bligh; +Cc: Andrew Morton, linux-kernel, linux-mm
On Sat, 2003-03-08 at 13:25, Martin J. Bligh wrote:
> Cool ... do you want to add the other two NUMA parameters as well to
> your stack? (the idle and busy rebalance rates). Here's what I had
> before with those in.
Sure.
But at least in 2.5.64 and 2.5.64-mm3, I do not see those parameters.
There is no {IDLE|BUSY}_NODE_REBALANCE_TICK define.
Robert Love
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"aart@kvack.org">aart@kvack.org</a>
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [patch] updated scheduler-tunables for 2.5.64-mm2
2003-03-09 1:54 ` Robert Love
@ 2003-03-09 2:18 ` Martin J. Bligh
0 siblings, 0 replies; 13+ messages in thread
From: Martin J. Bligh @ 2003-03-09 2:18 UTC (permalink / raw)
To: Robert Love; +Cc: Andrew Morton, linux-kernel, linux-mm
>> Cool ... do you want to add the other two NUMA parameters as well to
>> your stack? (the idle and busy rebalance rates). Here's what I had
>> before with those in.
>
> Sure.
>
> But at least in 2.5.64 and 2.5.64-mm3, I do not see those parameters.
> There is no {IDLE|BUSY}_NODE_REBALANCE_TICK define.
Ooops. Sorry ... we have to merge Ingo's NUMA sched updates first ;-)
/me goes back to swinging about in his own tree ...
M.
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"aart@kvack.org">aart@kvack.org</a>
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2003-03-09 2:18 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-03-08 2:51 2.5.64-mm2 Andrew Morton
2003-03-08 3:44 ` [patch] updated scheduler-tunables for 2.5.64-mm2 Robert Love
2003-03-08 3:50 ` Robert Love
2003-03-08 18:25 ` Martin J. Bligh
2003-03-09 1:54 ` Robert Love
2003-03-09 2:18 ` Martin J. Bligh
2003-03-08 3:49 ` 2.5.64-mm2 Shawn
2003-03-08 4:05 ` 2.5.64-mm2 Robert Love
2003-03-08 4:01 ` 2.5.64-mm2 Shawn
2003-03-08 4:22 ` 2.5.64-mm2 Robert Love
2003-03-08 13:59 ` 2.5.64-mm2 Shawn
2003-03-08 14:45 ` 2.5.64-mm2 Shawn
2003-03-08 19:49 ` 2.5.64-mm2 Robert Love
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox