* Re: [PATCH] CFS: Fix missing digit off in wmult table
@ 2007-07-16 14:44 Al Boldi
0 siblings, 0 replies; 43+ messages in thread
From: Al Boldi @ 2007-07-16 14:44 UTC (permalink / raw)
To: linux-kernel
Roman Zippel wrote:
> On Mon, 16 Jul 2007, Ingo Molnar wrote:
> > to sum it up: a nice +19 task (the most commonly used nice level in
> > practice) gets 9.1%, 3.9%, 3.1% of CPU time on the old scheduler,
> > depending on the value of HZ. This is quite inconsistent and illogical.
>
> You're correct that you can find artifacts in the extreme cases, it's
> subjective whether this is a serious problem.
> It's nice that these artifacts are gone, but that still doesn't explain
> why this ratio had to be increase that much from around 1:10 to 1:69.
The ratio is definitely to high, but in addition to having a sane ratio by
default, it's probably wise to allow this to be user-configureable.
Thanks!
--
Al
^ permalink raw reply [flat|nested] 43+ messages in thread
* -mm merge plans for 2.6.23
@ 2007-07-10 8:31 Andrew Morton
2007-07-11 12:43 ` x86 status was " Andi Kleen
0 siblings, 1 reply; 43+ messages in thread
From: Andrew Morton @ 2007-07-10 8:31 UTC (permalink / raw)
To: linux-kernel
When replying, please rewrite the subject suitably and try to Cc: the
appropriate developer(s).
add-lzo1x-algorithm-to-the-kernel.patch
make-common-helpers-for-seq_files-that-work-with-list_head-s.patch
lots-of-architectures-enable-arbitary-speed-tty-support.patch
Merge
serial-assert-dtr-for-serial-console-devices.patch
Don't know. I worry about Russell's concern (see the changelog)
git-acpi-s390-struct-bin_attribute-changes.patch
cpuidle-add-rating-to-the-governors-and-pick-the-one-with-highest-rating-by-default-fix.patch
exit-acpi-processor-module-gracefully-if-acpi-is-disabled.patch
fix-empty-macros-in-acpi.patch
drivers-acpi-sbsc-remove-dead-code.patch
acpi-enable-c3-power-state-on-dell-inspiron-8200.patch
drivers-acpi-pci_linkc-lower-printk-severity.patch
Sent to lenb
working-3d-dri-intel-agpko-resume-for-i815-chip.patch
Sent to davej
cifs-use-simple_prepare_write-to-zero-page-data.patch
cifs-zero_user_page-conversion.patch
Sent to sfrench
bugfix-cpufreq-in-combination-with-performance-governor.patch
restore-previously-used-governor-on-a-hot-replugged-cpu.patch
Sent to davej
kcopyd-use-mutex-instead-of-semaphore.patch
Sent to agk
powerpc-promc-remove-undef-printk.patch
8xx-mpc885ads-pcmcia-support.patch
dts-kill-hardcoded-phandles.patch
ppc-remove-dead-code-for-preventing-pread-and-pwrite-calls.patch
viotape-use-designated-initializers-for-fops-member.patch
make-drivers-char-hvc_consoleckhvcd-static.patch
powerpc-enable-arbitary-speed-tty-ioctls-and-split.patch
powerpc-tlb_32c-build-fix.patch
sky-cpu-and-nexus-code-style-improvement.patch
sky-cpu-and-nexus-include-ioh.patch
sky-cpu-and-nexus-check-for-platform_get_resource-ret.patch
sky-cpu-and-nexus-check-for-create_proc_entry-ret-code.patch
sky-cpu-use-c99-style-for-struct-init.patch
Sent to paulus
revert-gregkh-driver-block-device.patch
driver-core-check-return-code-of-sysfs_create_link.patch
driver-core-coding-style-cleanup.patch
pm-do-not-use-saved_state-from-struct-dev_pm_info-on-arm.patch
nozomi-remove-termios-checks-from-various-old-char-serial-drivers.patch
Sent to greg
git-dvb-saa7134-tvaudio-fix.patch
dvb_en_50221-convert-to-kthread-api.patch
Sent to mchehab
hdaps-switch-to-using-input-polldev.patch
applesmc-switch-to-using-input-polldev.patch
applesmc-add-temperature-sensors-set-for-macbook.patch
ams-switch-to-using-input-polldev.patch
Sent to mhoffman
sn-correct-rom-resource-length-for-bios-copy.patch
Sent to Tony
make-input-layer-use-seq_list_xxx-helpers.patch
touchscreen-fujitsu-touchscreen-driver.patch
serio_raw_read-warning-fix.patch
tsdev-fix-broken-usecto-millisecs-conversion.patch
Sent to Dmitry
use-posix-bre-in-headers-install-target.patch
modpost-white-list-pattern-adjustment.patch
strip-config_-automatically-in-kernel-configuration-search.patch
fix-the-warning-when-running-make-tags.patch
kconfig-reset-generated-values-only-if-kconfig-and-config-agree.patch
Sent to Sam
led_colour_show-warning-fix.patch
Sent to rpurdie
libata-config_pm=n-compile-fix.patch
pata_acpi-restore-driver.patch
libata-core-convert-to-use-cancel_rearming_delayed_work.patch
libata-implement-ata_wait_after_reset.patch
sata_promise-sata-hotplug-support.patch
libata-add-irq_flags-to-struct-pata_platform_info-fix.patch
ata-add-the-sw-ncq-support-to-sata_nv-for-mcp51-mcp55-mcp61.patch
sata_nv-allow-changing-queue-depth.patch
pata_hpt3x3-major-reworking-and-testing.patch
iomap-sort-out-the-broken-address-reporting-caused-by-the-iomap-layer.patch
ata-use-iomap_name.patch
Sent to jgarzik
libata-check-for-an-support.patch
scsi-expose-an-to-user-space.patch
libata-expose-an-to-user-space.patch
scsi-save-disk-in-scsi_device.patch
libata-send-event-when-an-received.patch
Am sitting on these due to confusion regarding the status of the ata-ahci
patches.
ata-ahci-alpm-store-interrupt-value.patch
ata-ahci-alpm-expose-power-management-policy-option-to-users.patch
ata-ahci-alpm-enable-link-power-management-for-ata-drivers.patch
ata-ahci-alpm-enable-aggressive-link-power-management-for-ahci-controllers.patch
These appear to need some work.
libata-add-human-readable-error-value-decoding.patch
libata-fix-hopefully-all-the-remaining-problems-with.patch
testing-patch-for-ali-pata-fixes-hopefully-for-the-problems-with-atapi-dma.patch
pata_ali-more-work.patch
Dead/dying/abandoned ata things. Might drop.
mips-make-resources-for-ds1742-static-__initdata.patch
Sent to Ralf.
tty-add-the-new-ioctls-and-definitionto-the-mips.patch
Awaiting merge of
lots-of-architectures-enable-arbitary-speed-tty-support.patch
mmc-at91_mci-typo.patch
Sent to drzeus
mtd-onenand-build-fix.patch
nommu-present-backing-device-capabilities-for-mtd.patch
nommu-add-support-for-direct-mapping-through-mtdconcat.patch
nommu-make-it-possible-for-romfs-to-use-mtd-devices.patch
romfs-printk-format-warnings.patch
mtd-add-module-license-to-mtdbdi.patch
Sent to dvmw2
8139too-force-media-setting-fix.patch
blackfin-on-chip-ethernet-mac-controller-driver.patch
atari_pamsnetc-old-declaration-ritchie-style-fix.patch
sundance-phy-address-form-0-only-for-device-id-0x0200.patch
use-is_power_of_2-in-cxgb3-cxgb3_mainc.patch
use-is_power_of_2-in-myri10ge-myri10gec.patch
3csoho100-tx-needs-extra_preamble.patch
Sent to jgarzik
3x59x-fix-pci-resource-management.patch
update-smc91x-driver-with-arm-versatile-board-info.patch
drivers-net-ns83820c-add-paramter-to-disable-auto.patch
netdev patches which are stuck in limbo land.
make-atm-driver-use-seq_list_xxx-helpers.patch
make-some-network-related-proc-files-use-seq_list_xxx.patch
wrong-timeout-value-in-sk_wait_data-v2-fix.patch
use-mutex-instead-of-semaphore-in-vlsi-82c147-irda-controller-driver.patch
bonding-bond_mainc-make-2-functions-static.patch
net-make-struct-dccp_li_cachep-static.patch
net-ipv4-netfilter-ip_tablesc-lower-printk-severity.patch
rpc-remove-makefile-reference-to-obsolete-rxrpc-config.patch
Sent to davem (mostly merged now, I think)
bluetooth-remove-the-redundant-non-seekable-llseek-method.patch
rfcomm-hangup-ttys-before-releasing-rfcomm_dev.patch
Sent to Marcel
git-ioat-vs-git-md-accel.patch
ioat-warning-fix.patch
fix-i-oat-for-kexec.patch
I don't seem to be able to get rid of these. Chris Leech appears to have
vanished.
auth_gss-unregister-gss_domain-when-unloading-module.patch
Sent to Trond and Bruce, needs work.
pa-risc-use-page-allocator-instead-of-slab-allocator.patch
Sent to Kyle
pcmcia-delete-obsolete-pcmcia_ioctl-feature.patch
use-menuconfig-objects-pcmcia.patch
Am a bit stuck with the pcmcia patches. Dominik has disappeared.
pcmcia-pccard-deadlock-fix.patch
I think this isn't a good patch. Am holding onto it as a reminder that
pcmcia deadlocks.
dont-optimise-away-baud-rate-changes-when-bother-is-used.patch
serial-add-support-for-ite-887x-chips.patch
serial_txx9-fix-modem-control-line-handling.patch
serial_txx9-cleanup-includes.patch
Serial stuff. Will run these past rmk and Alan and will merge them if they
survive.
revert-gregkh-pci-pci_bridge-device.patch
fix-gregkh-pci-pci-syscallc-switch-to-refcounting-api.patch
pci-x-pci-express-read-control-interfaces-fix.patch
remove-pci_dac_dma_-apis.patch
round_up-macro-cleanup-in-drivers-pci.patch
pcie-remove-spin_lock_unlocked.patch
add-pci_try_set_mwi.patch
cpci_hotplug-convert-to-use-the-kthread-api.patch
pci_set_power_state-check-for-pm-capabilities-earlier.patch
Sent to Greg
s390-rename-cpu_idle-to-s390_cpu_idle.patch
Sent to Martin.
restore-acpi-change-for-scsi.patch
git-scsi-misc-vs-greg-sysfs-stuff.patch
aacraid-rename-check_reset.patch
scsi-dont-build-scsi_dma_mapunmap-for-has_dma.patch
drivers-scsi-small-cleanups.patch
sym53c8xx_2-claims-cpqarray-device.patch
drivers-scsi-wd33c93c-cleanups.patch
make-seagate_st0x_detect-static.patch
pci-error-recovery-symbios-scsi-base-support.patch
pci-error-recovery-symbios-scsi-first-failure.patch
drivers-scsi-pcmcia-nsp_csc-remove-kernel-24-code.patch
drivers-message-i2o-devicec-remove-redundant-gfp_atomic-from-kmalloc.patch
drivers-scsi-aic7xxx_oldc-remove-redundant-gfp_atomic-from-kmalloc.patch
use-menuconfig-objects-ii-scsi.patch
remove-dead-references-to-module_parm-macro.patch
ppa-coding-police-and-printk-levels.patch
remove-the-dead-cyberstormiii_scsi-option.patch
config_scsi_fd_8xx-no-longer-exists.patch
use-mutex-instead-of-semaphore-in-megaraid-mailbox-driver.patch
Sent to James.
scsi-lpfc-lpfc_initc-remove-unused-variable.patch
Will add to the James queue once add-pci_try_set_mwi.patch is merged.
use-menuconfig-objects-block-layer.patch
use-menuconfig-objects-ib-block.patch
use-menuconfig-objects-ii-block-devices.patch
block-device-elevator-use-list_for_each_entry-instead-of-list_for_each.patch
update-documentation-block-barriertxt.patch
Sent to Jens.
videopix-frame-grabber-fix-unreleased-lock-in-vfc_debug.patch
Sent to davem
fix-gregkh-usb-usb-ehci-cpufreq-fix.patch
fix-gregkh-usb-usb-use-menuconfig-objects.patch
make-usb-autosuspend-timer-1-sec-jiffy-aligned.patch
drivers-block-ubc-use-list_for_each_entry.patch
ftdi_sio-fix-something.patch
usb-make-the-usb_device-numa_node-to-get-assigned-from.patch
mos7840c-turn-this-into-a-serial-driver.patch
pl2303-remove-bogus-checks-and-fix-speed-support-to-use.patch
visor-and-whiteheat-remove-bogus-termios-change-checks.patch
mos7720-remove-bogus-no-termios-change-check.patch
io_-remove-bogus-termios-no-change-checks.patch
usb-remove-makefile-reference-to-obsolete-ohci_at91.patch
Sent to Greg.
use-list_for_each_entry-for-iteration-in-prism-54-driver.patch
Sent to linville
revert-x86_64-mm-verify-cpu-rename.patch
add-kstrndup-fix.patch
xen-build-fix.patch
fix-x86_64-numa-fake-apicid_to_node-mapping-for-fake-numa-2.patch
fix-x86_64-mm-xen-xen-smp-guest-support.patch
more-fix-x86_64-mm-xen-xen-smp-guest-support.patch
fix-x86_64-mm-sched-clock-share.patch
fix-x86_64-mm-xen-add-xen-virtual-block-device-driver.patch
fix-x86_64-mm-add-common-orderly_poweroff.patch
fix-x86_64-mm-xen-xen-event-channels.patch
arch-i386-xen-mmuc-must-include-linux-schedh.patch
tidy-up-usermode-helper-waiting-a-bit-fix.patch
update-x86_64-mm-xen-use-iret-directly-where-possible.patch
i386-add-support-for-picopower-irq-router.patch
make-arch-i386-kernel-setupcremapped_pgdat_init-static.patch
arch-i386-kernel-i8253c-should-include-asm-timerh.patch
make-arch-i386-kernel-io_apicctimer_irq_works-static-again.patch
quicklist-support-for-x86_64.patch
x86_64-extract-helper-function-from-e820_register_active_regions.patch
x86_64-fix-e820_hole_size-based-on-address-ranges.patch
x86_64-acpi-disable-srat-when-numa-emulation-succeeds.patch
x86_64-slit-fake-pxm-to-node-mapping-for-fake-numa-2.patch
x86_64-numa-fake-apicid_to_node-mapping-for-fake-numa-2.patch
x86-use-elfnoteh-to-generate-vsyscall-notes-fix.patch
mmconfig-x86_64-i386-insert-unclaimed-mmconfig-resources.patch
x86_64-fix-smp_call_function_single-return-value.patch
x86_64-o_excl-on-dev-mcelog.patch
x86_64-support-poll-on-dev-mcelog.patch
x86_64-mcelog-tolerant-level-cleanup.patch
x86_64-mce-poll-at-idle_start-and-printk-fix.patch
i386-fix-machine-rebooting.patch
x86-fix-section-mismatch-warnings-in-mtrr.patch
x86_64-ratelimit-segfault-reporting-rate.patch
x86_64-pm_trace-support.patch
make-alt-sysrq-p-display-the-debug-register-contents.patch
i386-flush_tlb_kernel_range-add-reference-to-the-arguments.patch
round_jiffies-for-i386-and-x86-64-non-critical-corrected-mce-polling.patch
pci-disable-decode-of-io-memory-during-bar-sizing.patch
mmconfig-validate-against-acpi-motherboard-resources.patch
x86_64-irq-check-remote-irr-bit-before-migrating-level-triggered-irq-v3.patch
i386-remove-support-for-the-rise-cpu.patch
x86-64-calgary-generalize-calgary_increase_split_completion_timeout.patch
x86-64-calgary-update-copyright-notice.patch
x86-64-calgary-introduce-handle_quirks-for-various-chipset-quirks.patch
x86-64-calgary-introduce-chipset-specific-ops.patch
x86-64-calgary-abstract-how-we-find-the-iommu_table-for-a-device.patch
x86-64-calgary-introduce-calioc2-support.patch
x86-64-calgary-add-chip_ops-and-a-quirk-function-for-calioc2.patch
x86-64-calgary-implement-calioc2-tce-cache-flush-sequence.patch
x86-64-calgary-make-dump_error_regs-a-chip-op.patch
x86-64-calgary-grab-plssr-too-when-a-dma-error-occurs.patch
x86-64-calgary-reserve-tces-with-the-same-address-as-mem-regions.patch
x86-64-calgary-cleanup-of-unneeded-macros.patch
x86-64-calgary-tabify-and-trim-trailing-whitespace.patch
x86-64-calgary-only-reserve-the-first-1mb-of-io-space-for-calioc2.patch
x86-64-calgary-tidy-up-debug-printks.patch
i386-make-arch-i386-mm-pgtablecpgd_cdtor-static.patch
i386-fix-section-mismatch-warning-in-intel_cacheinfo.patch
i386-do-not-restore-reserved-memory-after-hibernation.patch
paravirt-helper-to-disable-all-io-space-fix.patch
dmi_match-patch-in-rebootc-for-sff-dell-optiplex-745-fixes-hang.patch
i386-hpet-check-if-the-counter-works.patch
i386-trim-memory-not-covered-by-wb-mtrrs.patch
kprobes-x86_64-fix-for-mark-ro-data.patch
kprobes-i386-fix-for-mark-ro-data.patch
divorce-config_x86_pae-from-config_highmem64g.patch
remove-unneeded-test-of-task-in-dump_trace.patch
i386-move-the-kernel-to-16mb-for-numa-q.patch
i386-show-unhandled-signals.patch
i386-minor-nx-handling-adjustment.patch
x86-smp-alt-once-option-is-only-useful-with-hotplug_cpu.patch
x86-64-remove-unused-variable-maxcpus.patch
move-functions-declarations-to-header-file.patch
x86_64-during-vm-oom-condition.patch
i386-during-vm-oom-condition.patch
x86-64-disable-the-gart-in-shutdown.patch
x86_84-move-iommu-declaration-from-proto-to-iommuh.patch
i386-uaccessh-replace-hard-coded-constant-with-appropriate-macro-from-kernelh.patch
i386-add-cpu_relax-to-cmos_lock.patch
x86_64-flush_tlb_kernel_range-warning-fix.patch
x86_64-add-ioapic-nmi-support.patch
x86_64-change-_map_single-to-static-in-pci_gartc-etc.patch
x86_64-geode-hw-random-number-generator-depend-on-x86_3.patch
x86_64-fix-wrong-comment-regarding-set_fixmap.patch
arch-x86_64-kernel-processc-lower-printk-severity.patch
nohz-fix-nohz-x86-dyntick-idle-handling.patch
acpi-move-timer-broadcast-and-pmtimer-access-before-c3-arbiter-shutdown.patch
clockevents-fix-typo-in-acpi_pmc.patch
timekeeping-fixup-shadow-variable-argument.patch
timerc-cleanup-recently-introduced-whitespace-damage.patch
clockevents-remove-prototypes-of-removed-functions.patch
clockevents-fix-resume-logic.patch
clockevents-fix-device-replacement.patch
tick-management-spread-timer-interrupt.patch
highres-improve-debug-output.patch
hrtimer-speedup-hrtimer_enqueue.patch
pcspkr-use-the-global-pit-lock.patch
ntp-move-the-cmos-update-code-into-ntpc.patch
i386-pit-stop-only-when-in-periodic-or-oneshot-mode.patch
i386-remove-volatile-in-apicc.patch
i386-hpet-assumes-boot-cpu-is-0.patch
i386-move-pit-function-declarations-and-constants-to-correct-header-file.patch
x86_64-untangle-asm-hpeth-from-asm-timexh.patch
x86_64-use-generic-cmos-update.patch
x86_64-remove-dead-code-and-other-janitor-work-in-tscc.patch
x86_64-fix-apic-typo.patch
x86_64-convert-to-cleckevents.patch
acpi-remove-the-useless-ifdef-code.patch
x86_64-hpet-restore-vread.patch
x86_64-restore-restore-nohpet-cmdline.patch
x86_64-block-irq-balancing-for-timer.patch
x86_64-prep-idle-loop-for-dynticks.patch
x86_64-enable-high-resolution-timers-and-dynticks.patch
x86_64-dynticks-disable-hpet_id_legsup-hpets.patch
xen-fix-x86-config-dependencies.patch
x86_64-get-mp_bus_to_node-as-early.patch
xen-suppress-abs-symbol-warnings-for-unused-reloc-pointers.patch
xen-cant-support-numa-yet.patch
x86-fix-iounmaps-use-of-vm_structs-size-field.patch
arch-x86_64-kernel-aperturec-lower-printk-severity.patch
arch-x86_64-kernel-e820c-lower-printk-severity.patch
ich-force-hpet-make-generic-time-capable-of-switching-broadcast-timer.patch
ich-force-hpet-restructure-hpet-generic-clock-code.patch
ich-force-hpet-ich7-or-later-quirk-to-force-detect-enable.patch
ich-force-hpet-late-initialization-of-hpet-after-quirk.patch
ich-force-hpet-ich5-quirk-to-force-detect-enable.patch
ich-force-hpet-ich5-fix-a-bug-with-suspend-resume.patch
ich-force-hpet-add-ich7_0-pciid-to-quirk-list.patch
geode-basic-infrastructure-support-for-amd-geode-class.patch
geode-mfgpt-support-for-geode-class-machines.patch
geode-mfgpt-clock-event-device-support.patch
i386-x86_64-insert-hpet-firmware-resource-after-pci-enumeration-has-completed.patch
i386-ioapic-remove-old-irq-balancing-debug-cruft.patch
i386-deactivate-the-test-for-the-dead-config_debug_page_type.patch
Sent to Andi
fix-xfs_ioc_fsgeometry_v1-in-compat-mode.patch
fix-xfs_ioc__to_handle-and-xfs_ioc_openreadlink_by_handle-in-compat-mode.patch
fix-xfs_ioc_fsbulkstat_single-and-xfs_ioc_fsinumbers-in-compat-mode.patch
Sent to Tim & David.
xtensa-enable-arbitary-tty-speed-setting-ioctls.patch
Sent to czankel
kgdb-warning-fix.patch
kgdb-kconfig-fix.patch
kgdb-use-new-style-interrupt-flags.patch
kgdb-section-fix.patch
kgdb_skipexception-warning-fix.patch
kgdb-ia64-fixes.patch
kgdb-bust-on-ia64.patch
kgdb-build-fix-2.patch
Sent to Jason
pci-x-pci-express-read-control-interfaces-myrinet.patch
pci-x-pci-express-read-control-interfaces-mthca.patch
pci-x-pci-express-read-control-interfaces-e1000.patch
pci-x-pci-express-read-control-interfaces-qla2xxx.patch
Will send these to maintainers once
gregkh-pci-pci-add-pci-x-pci-express-read-control-interfaces.patch gets
merged.
gen_estimator-fix-locking-and-timer-related-bugs.patch
netpoll-fix-a-leak-n-bug-in-netpoll_cleanup.patch
I think these might be defunct. Will let the net guys sort that out.
vmscan-give-referenced-active-and-unmapped-pages-a-second-trip-around-the-lru.patch
This is scary. Will sit and admire it until it has been demonstrated
to be a net gain.
console-more-buf-for-index-parsing.patch
console-console-handover-to-preferred-console.patch
Merge
x86-initial-fixmap-support.patch
serial-convert-early_uart-to-earlycon-for-8250.patch
change-zonelist-order-zonelist-order-selection-logic.patch
hugetlb-remove-unnecessary-nid-initialization.patch
mm-use-div_round_up-in-mm-memoryc.patch
make-proc-slabinfo-use-seq_list_xxx-helpers.patch
mm-alloc_large_system_hash-can-free-some-memory-for.patch
remove-the-deprecated-kmem_cache_t-typedef-from-slabh.patch
slob-rework-freelist-handling.patch
slob-remove-bigblock-tracking.patch
slob-improved-alignment-handling.patch
vmscan-fix-comments-related-to-shrink_list.patch
mm stuff: will merge.
mm-fix-fault-vs-invalidate-race-for-linear-mappings.patch
mm-merge-populate-and-nopage-into-fault-fixes-nonlinear.patch
mm-merge-nopfn-into-fault.patch
convert-hugetlbfs-to-use-vm_ops-fault.patch
mm-remove-legacy-cruft.patch
mm-debug-check-for-the-fault-vs-invalidate-race.patch
mm-fix-clear_page_dirty_for_io-vs-fault-race.patch
invalidate_mapping_pages-add-cond_resched.patch
ocfs2-release-page-lock-before-calling-page_mkwrite.patch
document-page_mkwrite-locking.patch
The fault-vs-invalidate race fix. I have belatedly learned that these need
more work, so their state is uncertain.
slub-support-slub_debug-on-by-default.patch
numa-mempolicy-dynamic-interleave-map-for-system-init.patch
oom-stop-allocating-user-memory-if-tif_memdie-is-set.patch
numa-mempolicy-trivial-debug-fixes.patch
mm-fix-improper-init-type-section-references.patch
page-table-handling-cleanup.patch
kill-vmalloc_earlyreserve.patch
mm-more-__meminit-annotations.patch
mm-slabc-start_cpu_timer-should-be-__cpuinit.patch
madvise_need_mmap_write-usage.patch
slob-initial-numa-support.patch
mm-page_allocc-lower-printk-severity.patch
mm-avoid-tlb-gather-restarts.patch
mm-remove-ptep_establish.patch
mm-remove-ptep_test_and_clear_dirty-and-ptep_clear_flush_dirty.patch
mm misc: will merge.
mm-revert-kernel_ds-buffered-write-optimisation.patch
revert-81b0c8713385ce1b1b9058e916edcf9561ad76d6.patch
revert-6527c2bdf1f833cc18e8f42bd97973d583e4aa83.patch
mm-clean-up-buffered-write-code.patch
mm-debug-write-deadlocks.patch
mm-trim-more-holes.patch
mm-buffered-write-cleanup.patch
mm-write-iovec-cleanup.patch
mm-fix-pagecache-write-deadlocks.patch
mm-buffered-write-iterator.patch
fs-fix-data-loss-on-error.patch
fs-introduce-write_begin-write_end-and-perform_write-aops.patch
mm-restore-kernel_ds-optimisations.patch
implement-simple-fs-aops.patch
block_dev-convert-to-new-aops.patch
ext2-convert-to-new-aops.patch
ext3-convert-to-new-aops.patch
ext3-convert-to-new-aops-fix.patch
ext4-convert-to-new-aops.patch
ext4-convert-to-new-aops-fix.patch
xfs-convert-to-new-aops.patch
gfs2-convert-to-new-aops.patch
fs-new-cont-helpers.patch
fat-convert-to-new-aops.patch
#adfs-convert-to-new-aops.patch
hfs-convert-to-new-aops.patch
hfsplus-convert-to-new-aops.patch
hpfs-convert-to-new-aops.patch
bfs-convert-to-new-aops.patch
qnx4-convert-to-new-aops.patch
reiserfs-use-generic-write.patch
reiserfs-convert-to-new-aops.patch
reiserfs-use-generic_cont_expand_simple.patch
with-reiserfs-no-longer-using-the-weird-generic_cont_expand-remove-it-completely.patch
nfs-convert-to-new-aops.patch
smb-convert-to-new-aops.patch
fuse-convert-to-new-aops.patch
hostfs-convert-to-new-aops.patch
jffs2-convert-to-new-aops.patch
ufs-convert-to-new-aops.patch
udf-convert-to-new-aops.patch
sysv-convert-to-new-aops.patch
minix-convert-to-new-aops.patch
jfs-convert-to-new-aops.patch
fs-adfs-convert-to-new-aops.patch
fs-affs-convert-to-new-aops.patch
ocfs2-convert-to-new-aops.patch
pagefault-in-write deadlock fixes. Will hold for 2.6.24.
fix-read-truncate-race.patch
make-sure-readv-stops-reading-when-it-hits-end-of-file.patch
fs-remove-some-aop_truncated_page.patch
remove-alloc_zeroed_user_highpage.patch
Will merge if they're mergeable.
add-a-bitmap-that-is-used-to-track-flags-affecting-a-block-of-pages.patch
add-__gfp_movable-for-callers-to-flag-allocations-from-high-memory-that-may-be-migrated.patch
split-the-free-lists-for-movable-and-unmovable-allocations.patch
choose-pages-from-the-per-cpu-list-based-on-migration-type.patch
add-a-configure-option-to-group-pages-by-mobility.patch
drain-per-cpu-lists-when-high-order-allocations-fail.patch
move-free-pages-between-lists-on-steal.patch
group-short-lived-and-reclaimable-kernel-allocations.patch
group-high-order-atomic-allocations.patch
do-not-group-pages-by-mobility-type-on-low-memory-systems.patch
bias-the-placement-of-kernel-pages-at-lower-pfns.patch
be-more-agressive-about-stealing-when-migrate_reclaimable-allocations-fallback.patch
fix-corruption-of-memmap-on-ia64-sparsemem-when-mem_section-is-not-a-power-of-2.patch
bias-the-location-of-pages-freed-for-min_free_kbytes-in-the-same-max_order_nr_pages-blocks.patch
remove-page_group_by_mobility.patch
dont-group-high-order-atomic-allocations.patch
fix-calculation-in-move_freepages_block-for-counting-pages.patch
breakout-page_order-to-internalh-to-avoid-special-knowledge-of-the-buddy-allocator.patch
do-not-depend-on-max_order-when-grouping-pages-by-mobility.patch
print-out-statistics-in-relation-to-fragmentation-avoidance-to-proc-pagetypeinfo.patch
Mel's page allocator work. Might merge this, but I'm still not hearing
sufficiently convincing noises from a sufficient number of people over this.
create-the-zone_movable-zone.patch
allow-huge-page-allocations-to-use-gfp_high_movable.patch
handle-kernelcore=-generic.patch
Mel's moveable-zone work. In a similar situation. We need to stop whatever
we're doing and get down and work out what we're going to do with all this
stuff.
maps2-uninline-some-functions-in-the-page-walker.patch
maps2-eliminate-the-pmd_walker-struct-in-the-page-walker.patch
maps2-remove-vma-from-args-in-the-page-walker.patch
maps2-propagate-errors-from-callback-in-page-walker.patch
maps2-add-callbacks-for-each-level-to-page-walker.patch
maps2-move-the-page-walker-code-to-lib.patch
maps2-simplify-interdependence-of-proc-pid-maps-and-smaps.patch
maps2-move-clear_refs-code-to-task_mmuc.patch
maps2-regroup-task_mmu-by-interface.patch
maps2-make-proc-pid-smaps-optional-under-config_embedded.patch
maps2-make-proc-pid-clear_refs-option-under-config_embedded.patch
maps2-add-proc-pid-pagemap-interface.patch
maps2-add-proc-kpagemap-interface.patch
The advanced process-memory-inspection interfaces.
These weren't quite ready for 2.6.22 and nothing has changed in the past
month or two. Not looking like 2.6.23 material either.
lumpy-reclaim-v4.patch
have-kswapd-keep-a-minimum-order-free-other-than-order-0.patch
only-check-absolute-watermarks-for-alloc_high-and-alloc_harder-allocations.patch
Lumpy reclaim. In a similar situation to Mel's patches. Stuck due to
general lack or interest and effort.
mm-clean-up-and-kernelify-shrinker-registration.patch
mm-clean-up-and-kernelify-shrinker-registration-vs-git-nfs.patch
Merge.
split-mmap.patch
only-allow-nonlinear-vmas-for-ram-backed-filesystems.patch
mm-document-fault_data-and-flags.patch
slub-mm-only-make-slub-the-default-slab-allocator.patch
Merge.
slub-exploit-page-mobility-to-increase-allocation-order.patch
slub-reduce-antifrag-max-order.patch
These are slub changes which are dependent on Mel's stuff, and I have a note
here that there were reports of page allocation failures with these. What's
up with that?
Maybe I should just drop the 100-odd marginal-looking MM patches? We're
simply not showing compelling reasons for merging them and quite a lot of them
are stuck in a 90% complete state.
slub-change-error-reporting-format-to-follow-lockdep-loosely.patch
slub-use-list_for_each_entry-for-loops-over-all-slabs.patch
slub-slab-validation-move-tracking-information-alloc-outside-of.patch
slub-ensure-that-the-object-per-slabs-stays-low-for-high-orders.patch
slub-debug-fix-initial-object-debug-state-of-numa-bootstrap-objects.patch
slab-allocators-consolidate-code-for-krealloc-in-mm-utilc.patch
slab-allocators-consistent-zero_size_ptr-support-and-null-result-semantics.patch
slab-allocators-support-__gfp_zero-in-all-allocators.patch
slub-add-some-more-inlines-and-ifdef-config_slub_debug.patch
slub-extract-dma_kmalloc_cache-from-get_cache.patch
slub-do-proper-locking-during-dma-slab-creation.patch
slub-faster-more-efficient-slab-determination-for-__kmalloc.patch
slub-simplify-dma-index-size-calculation.patch
mm-slubc-make-code-static.patch
slub-style-fix-up-the-loop-to-disable-small-slabs.patch
slub-do-not-use-length-parameter-in-slab_alloc.patch
slab-allocators-cleanup-zeroing-allocations.patch
slab-allocators-replace-explicit-zeroing-with-__gfp_zero.patch
slub-do-not-allocate-object-bit-array-on-stack.patch
slub-move-sysfs-operations-outside-of-slub_lock.patch
slub-fix-config_slub_debug-use-for-config_numa.patch
Slub stuff. Will merge whatever's mergeable after the above droppage and
stalls.
add-vm_bug_on-in-case-someone-uses-page_mapping-on-a-slab-page.patch
mm-make-needlessly-global-hugetlb_no_page-static.patch
Merge
fs-introduce-some-page-buffer-invariants.patch
nfs-invariant-fix.patch
fs-introduce-some-page-buffer-invariants-obnoxiousness.patch
Re-review, maybe merge.
memory-unplug-v7-migration-by-kernel.patch
memory-unplug-v7-isolate_lru_page-fix.patch
memory-unplug-v7-memory-hotplug-cleanup.patch
memory-unplug-v7-page-isolation.patch
memory-unplug-v7-page-offline.patch
memory-unplug-v7-ia64-interface.patch
These are new, and are dependent on Mel's stuff. Not for 2.6.23.
freezer-make-kernel-threads-nonfreezable-by-default.patch
Merge, subject to re-review.
implement-file-posix-capabilities.patch
implement-file-posix-capabilities-fix.patch
file-capabilities-introduce-cap_setfcap.patch
file-capabilities-get_file_caps-cleanups.patch
file-caps-update-selinux-xattr-hooks.patch
file-caps seems to be stuck. There has been some movement lately, might
merge it subject to suiable acks from suitable parties.
frv-connect-up-new-syscalls.patch
frv-be-self-consistent-and-use-config_gdb_console-everywhere.patch
frv-remove-some-dead-code.patch
Merge
blackfin-enable-arbitary-speed-serial-setting.patch
Will send to Bryan when
lots-of-architectures-enable-arbitary-speed-tty-support.patch is merged
nommu-stub-expand_stack-for-nommu-case.patch
m68knommu-use-trhead_size-instead-of-hard-constant.patch
m68knommu-remove-cruft-from-setup-code.patch
m68knommu-remove-old-cache-management-cruft-from-mm-code.patch
Merge
h8300-enable-arbitary-speed-tty-port-setup.patch
h8300-zimage-support-update.patch
Merge
alpha-fix-trivial-section-mismatch-warnings.patch
fix-alpha-isa-support.patch
Merge
arm26-enable-arbitary-speed-tty-ioctls-and-split.patch
arm26-remove-broken-and-unused-macro.patch
Will send to Ian
freezer-run-show_state-when-freezing-times-out.patch
pm-do-not-require-dev-spew-to-get-pm_debug.patch
swsusp-remove-incorrect-code-from-userc.patch
swsusp-remove-code-duplication-between-diskc-and-userc.patch
swsusp-introduce-restore-platform-operations.patch
swsusp-fix-hibernation-code-ordering.patch
hibernation-prepare-to-enter-the-low-power-state.patch
freezer-avoid-freezing-kernel-threads-prematurely.patch
freezer-use-__set_current_state-in-refrigerator.patch
freezer-return-int-from-freeze_processes.patch
freezer-remove-redundant-check-in-try_to_freeze_tasks.patch
pm-introduce-hibernation-and-suspend-notifiers.patch
pm-disable-usermode-helper-before-hibernation-and-suspend.patch
pm-prevent-frozen-user-mode-helpers-from-failing-the-freezing-of-tasks-rev-2.patch
pm-reduce-code-duplication-between-mainc-and-userc-updated.patch
acpi-do-not-prepare-for-hibernation-in-acpi_shutdown.patch
pm-introduce-pm_power_off_prepare.patch
pm-optional-beeping-during-resume-from-suspend-to-ram.patch
pm-integrate-beeping-flag-with-existing-acpi_sleep-flags.patch
Merge
m32r-enable-arbitary-speed-tty-rate-setting.patch
Merge
etrax-enable-arbitary-speed-setting-on-tty-ports.patch
cris-replace-old-style-member-inits-with-designated-inits.patch
Merge
uml-fix-request-sector-update.patch
uml-use-get_free_pages-to-allocate-kernel-stacks.patch
add-generic-exit-time-stack-depth-checking-to-config_debug_stack_usage.patch
uml-debug_shirq-fixes.patch
uml-xterm-driver-tidying.patch
uml-pty-channel-tidying.patch
uml-handle-errors-on-opening-host-side-of-consoles.patch
uml-sigio-support-cleanup.patch
uml-simplify-helper-stack-handling.patch
uml-eliminate-kernel-allocator-wrappers.patch
Merge
v850-enable-arbitary-speed-tty-ioctls.patch
Merge
deprecate-smbfs-in-favour-of-cifs.patch
Send to sfrench
cpuset-remove-sched-domain-hooks-from-cpusets.patch
Stuck.
clone-flag-clone_parent_tidptr-leaves-invalid-results-in-memory.patch
ebiederm no likee. Stuck.
cache-pipe-buf-page-address-for-non-highmem-arch.patch
Ugly, will probably drop.
fix-rmmod-read-write-races-in-proc-entries.patch
Merge
more-scheduled-oss-driver-removal.patch
doc-kernel-parameters-use-x86-32-tag-instead-of-ia-32.patch
introduce-write_trylock_irqsave.patch
use-write_trylock_irqsave-in-ptrace_attach.patch
use-menuconfig-objects-ii-auxdisplay.patch
use-menuconfig-objects-ii-edac.patch
use-menuconfig-objects-ii-ipmi.patch
use-menuconfig-objects-ii-misc-strange-dev.patch
use-menuconfig-objects-ii-module-menu.patch
use-menuconfig-objects-ii-oprofile.patch
use-menuconfig-objects-ii-telephony.patch
use-menuconfig-objects-ii-tpm.patch
use-menuconfig-objects-connector.patch
use-menuconfig-objects-crypto-hw.patch
use-menuconfig-objects-i2o.patch
use-menuconfig-objects-parport.patch
use-menuconfig-objects-pnp.patch
use-menuconfig-objects-w1.patch
fix-jvc-cdrom-drive-lockup.patch
use-no_pci_devices-in-pci-searchc.patch
introduce-boot-based-time.patch
use-boot-based-time-for-process-start-time-and-boot-time.patch
use-boot-based-time-for-uptime-in-proc.patch
udf-check-for-allocated-memory-for-data-of-new-inodes.patch
add-argv_split-fix.patch
add-common-orderly_poweroff-fix.patch
prevent-an-o_ndelay-writer-from-blocking-when-a-tty-write-is-blocked-by.patch
udf-check-for-allocated-memory-for-inode-data-v2.patch
fix-stop_machine_run-problem-with-naughty-real-time-process.patch
cpu-hotplug-fix-ksoftirqd-termination-on-cpu-hotplug-with-naughty-realtime-process.patch
use-mutexes-instead-of-semaphores-in-i2o-driver.patch
fuse-warning-fix.patch
vxfs-warning-fixes.patch
percpu_counters-use-cpu-notifiers.patch
percpu_counters-use-for_each_online_cpu.patch
make-afs-use-seq_list_xxx-helpers.patch
make-crypto-api-use-seq_list_xxx-helpers.patch
make-proc-misc-use-seq_list_xxx-helpers.patch
make-proc-modules-use-seq_list_xxx-helpers.patch
make-proc-tty-drivers-use-seq_list_xxx-helpers.patch
make-proc-self-mountstats-use-seq_list_xxx-helpers.patch
make-nfs-client-use-seq_list_xxx-helpers.patch
fat-gcc-43-warning-fix.patch
remove-unnecessary-includes-of-spinlockh-under-include-linux.patch
drivers-block-z2ram-remove-true-false-defines.patch
fix-compiler-warnings-in-acornc.patch
update-zilog-timeout.patch
edd-switch-to-pci_get-based-api.patch
fix-up-codingstyle-in-isofs.patch
define-config_bounce-to-avoid-useless-inclusion-of-bounce-buffer.patch
mpu401-warning-fixes.patch
introduce-config_virt_to_bus.patch
pie-randomization.patch
remove-unused-tif_notify_resume-flag.patch
rocketc-fix-unchecked-mutex_lock_interruptible.patch
only-send-sigxfsz-when-exceeding-rlimits.patch
procfs-directory-entry-cleanup.patch
8xx-fix-whitespace-and-indentation.patch
vdso-print-fatal-signals.patch
rtc-ratelimit-lost-interrupts-message.patch
reduce-cpusetc-write_lock_irq-to-read_lock.patch
char-n_hdlc-allow-restartsys-retval-of-tty-write.patch
afs-implement-file-locking.patch
tty_io-use-kzalloc.patch
remove-clockevents_releaserequest_device.patch
kconfig-no-strange-misc-devices.patch
afs-drop-explicit-extern.patch
remove-useless-tolower-in-isofs.patch
char-mxser_new-fix-sparse-warning.patch
char-tty_ioctl-use-wait_event_interruptible_timeout.patch
char-tty_ioctl-little-whitespace-cleanup.patch
char-genrtc-use-wait_event_interruptible.patch
char-n_r3964-use-wait_event_interruptible.patch
char-ip2-use-msleep-for-sleeping.patch
proc-environ-wrong-placing-of-ptrace_may_attach-check.patch
udf-coding-style-conversion-lindent.patch
ext2-fix-a-comment-when-ext2_release_file-is-called.patch
mutex_unlock-later-in-seq_lseek.patch
zs-move-to-the-serial-subsystem.patch
fs-block_devc-use-list_for_each_entry.patch
fault-injection-add-min-order-parameter-to-fail_page_alloc.patch
fault-injection-fix-example-scripts-in-documentation.patch
add-printktime-option-deprecate-time.patch
fs-clarify-dummy-member-in-struct.patch
dma-mapping-prevent-dma-dependent-code-from-linking-on.patch
remove-odd-and-misleading-comments-from-uioh.patch
add-a-flag-to-indicate-deferrable-timers-in-proc-timer_stats.patch
buffer-kill-old-incorrect-comment.patch
introduce-o_cloexec-take-2.patch
o_cloexec-for-scm_rights.patch
init-wait-for-asynchronously-scanned-block-devices.patch
atmel_serial-fix-break-handling.patch
documentation-proc-pid-stat-files.patch
seq_file-more-atomicity-in-traverse.patch
lib-add-idr_for_each.patch
lib-add-idr_remove_all.patch
remove-capabilityh-from-mmh.patch
kernel-utf-8-handling.patch
remove-sonypi_camera_command.patch
drop-an-empty-isicomh-from-being-exported-to-user-space.patch
ext3-ext4-orphan-list-check-on-destroy_inode.patch
ext3-ext4-orphan-list-corruption-due-bad-inode.patch
remove-apparently-useless-commented-apm_get_battery_status.patch
taskstats-add-context-switch-counters.patch
sony-laptop-use-null-for-pointer.patch
undeprecate-raw-driver.patch
hfsplus-change-kmalloc-memset-to-kzalloc.patch
submitchecklist-update-fix-spelling-error.patch
add-support-for-xilinx-systemace-compactflash-interface.patch
fix-typo-in-prefetchh.patch
zsc-drain-the-transmission-line.patch
hugetlbfs-use-lib-parser-fix-docs.patch
report-that-kernel-is-tainted-if-there-were-an-oops-before.patch
intel-rng-undo-mess-made-by-an-80-column-extremist.patch
improve-behaviour-of-spurious-irq-detect.patch
audit-add-tty-input-auditing.patch
remove-config_uts_ns-and-config_ipc_ns.patch
Merge, subject to re-review.
user-namespace-add-the-framework.patch
I still think the magical root-user thing in here is odd and perhaps poorly
thought-out.
user-namespace-add-unshare.patch
revert-vanishing-ioctl-handler-debugging.patch
binfmt_elf-warning-fix.patch
document-the-fact-that-rcu-callbacks-can-run-in-parallel.patch
cobalt-remove-all-references-to-cobalt-nvram.patch
allow-softlockup-to-be-runtime-disabled.patch
dirty_writeback_centisecs_handler-cleanup.patch
mm-fix-create_new_namespaces-return-value.patch
add-a-kmem_cache-for-nsproxy-objects.patch
ptrace_peekdata-consolidation.patch
ptrace_pokedata-consolidation.patch
adjust-nosmp-handling.patch
ext3-fix-deadlock-in-ext3_remount-and-orphan-list-handling.patch
ext4-fix-deadlock-in-ext4_remount-and-orphan-list-handling.patch
remove-unused-lock_cpu_hotplug_interruptible-definition.patch
kerneldoc-fix-in-audit_core_dumps.patch
introduce-compat_u64-and-compat_s64-types.patch
diskquota-32bit-quota-tools-on-64bit-architectures.patch
remove-final-two-references-to-__obsolete_setup-macro.patch
update-procfs-guide-doc-of-read_func.patch
ext3-remove-extra-is_rdonly-check.patch
namespace-ensure-clone_flags-are-always-stored-in-an-unsigned-long.patch
doc-oops-tracing-add-code-decode-info.patch
drop-obsolete-sys_ioctl-export.patch
is_power_of_2-ext3-superc.patch
is_power_of_2-jbd.patch
Merge, subject to re-review
sys_time-speedup.patch
Am skeptical about this one.
cdrom-replace-hard-coded-constants-by-kernelh-macro.patch
update-description-in-documentation-filesystems-vfstxt-typo-fixed.patch
futex-tidy-up-the-code-v2.patch
add-documentation-sysctl-ctl_unnumberedtxt.patch
sysctlc-add-text-telling-people-to-use-ctl_unnumbered.patch
# drivers-pmc-msp71xx-gpio-char-driver.patch: david-b panned it
drivers-pmc-msp71xx-gpio-char-driver.patch
mistaken-ext4_inode_bitmap-for-ext4_block_bitmap.patch
hfs-refactor-ascii-to-unicode-conversion-routine.patch
hfs-add-custom-dentry-hash-and-comparison-operations.patch
sprint_symbol-cleanup.patch
Merge, svbject to re-review.
hwrng-add-type-categories.patch
This generated a flamewar. Wil probably drop.
fs-namespacec-should-include-internalh.patch
proper-prototype-for-proc_nr_files.patch
replace-obscure-constructs-in-fs-block_devc.patch
bd_claim_by_disk-fix-warning.patch
fs-reiserfs-cleanups.patch
adb_probe_task-remove-unneeded-flush_signals-call.patch
kcdrwd-remove-unneeded-flush_signals-call.patch
nbdcsock_xmit-cleanup-signal-related-code.patch
move-seccomp-from-proc-to-a-prctl.patch
make-seccomp-zerocost-in-schedule.patch
is_power_of_2-kernel-kfifoc.patch
parport_pc-it887x-fix.patch
is_power_of_2-ufs-superc.patch
codingstyle-add-information-about-trailing-whitespace.patch
codingstyle-add-information-about-editor-modelines.patch
uninline-check_signature.patch
add-werror-implicit-function-declaration.patch
generic-bug-use-show_regs-instead-of-dump_stack.patch
udf-fix-function-name-from-udf_crc16-to-udf_crc.patch
dma-make-dma-pool-to-use-kmalloc_node.patch
unregister_chrdev-ignore-the-return-value.patch
unregister_chrdev-return-void.patch
unregister_blkdev-do-warn_on-on-failure.patch
unregister_blkdev-delete-redundant-messages-in-callers.patch
unregister_blkdev-delete-redundant-message.patch
unregister_blkdev-return-void.patch
add-missing-files-and-dirs-to-00-index-in-documentation.patch
remove-the-last-few-umsdos-leftovers.patch
update-documentation-filesystems-vfstxt-second-part.patch
rename-cancel_rearming_delayed_work-to-cancel_delayed_work_sync.patch
make-cancel_xxx_work_sync-return-a-boolean.patch
ext3-fix-error-handling-in-ext3_create_journal.patch
ext4-fix-error-handling-in-ext4_create_journal.patch
modules-remove-modlist_lock.patch
amiserial-remove-incorrect-no-termios-change-check.patch
genericserial-remove-bogus-optimisation-check-and-dead-code-paths.patch
synclink-remove-bogus-no-change-termios-optimisation.patch
68360serial-remove-broken-optimisation.patch
serial-remove-termios-checks-from-various-old-char-serial.patch
docs-static-initialization-of-spinlocks-is-ok.patch
kernel-printkc-document-possible-deadlock-against-scheduler.patch
remove-mm-backing-devccongestion_wait_interruptible.patch
gitignore-update.patch
isapnp-remove-pointless-check-of-type-against-0-in-isapnp_read_tag.patch
fix-trivial-typos-in-anon_inodesc-comments.patch
vsprintfc-optimizing-part-1-easy-and-obvious-stuff.patch
vsprintfc-optimizing-part-2-base-10-conversion-speedup-v2.patch
drivers-char-ipmi-ipmi_poweroffc-lower-printk-severity.patch
drivers-char-ipmi-ipmi_si_intfc-lower-printk-severity.patch
drivers-block-rdc-lower-printk-severity.patch
ext2-statfs-speed-up.patch
ext3-statfs-speed-up.patch
ext4-statfs-speed-up.patch
permit-mempool_freenull.patch
nls-remove-obsolete-makefile-entries.patch
compat32-ignore-the-loop_clr_fd-ioctl.patch
ia64-arbitary-speed-tty-ioctl-support.patch
Merge, subject to re-review.
writeback-fix-time-ordering-of-the-per-superblock-dirty-inode-lists.patch
writeback-fix-time-ordering-of-the-per-superblock-dirty-inode-lists-2.patch
writeback-fix-time-ordering-of-the-per-superblock-dirty-inode-lists-3.patch
writeback-fix-time-ordering-of-the-per-superblock-dirty-inode-lists-4.patch
writeback-fix-comment-use-helper-function.patch
writeback-fix-time-ordering-of-the-per-superblock-dirty-inode-lists-5.patch
writeback-fix-time-ordering-of-the-per-superblock-dirty-inode-lists-6.patch
writeback-fix-time-ordering-of-the-per-superblock-dirty-inode-lists-7.patch
I guess these should be merged. There are still bugs in there which I think
Ken Chen has fixed, but I haven't got onto that yet.
introduce-i_sync.patch
introduce-i_sync-fix.patch
Merge, I guess.
ibmasm-whitespace-cleanup.patch
ibmasm-dont-use-extern-in-function-declarations.patch
ibmasm-miscellaneous-fixes.patch
ibmasm-must-depend-on-config_input.patch
Merge.
sync_sb_inodes-propagate-errors.patch
Needs work.
spi-controller-drivers-check-for-unsupported-modes.patch
spi-add-3wire-mode-flag.patch
crc7-support.patch
spidev-compiler-warning-gone.patch
spi_lm70llp-parport-adapter-driver.patch
spi_mpc83xxc-underclocking-hotfix.patch
atmel_spi-minor-updates.patch
s3c24xx-spi-controllers-both-select-bitbang.patch
spi-tle620x-power-switch-driver.patch
spi-master-driver-for-xilinx-virtex.patch
spi_mpc83xxc-support-qe-enabled-83xx-cpus-like-mpc832x.patch
spi-omap2_mcspi-driver.patch
spi_txx9-controller-driver.patch
Merge
move-page-writeback-acounting-out-of-macros.patch
ext2-balloc-use-io_error-label.patch
Might merge.
ext2-reservations.patch
Still needs decent testing.
use-mutex-instead-of-semaphore-in-capi-20-driver.patch
mismatching-declarations-of-revision-strings-in-hisax.patch
make-isdn-capi-use-seq_list_xxx-helpers.patch
update-isdn-tree-to-use-pci_get_device.patch
sane-irq-initialization-in-sedlbauer-hisax.patch
use-menuconfig-objects-isdn-config_isdn.patch
use-menuconfig-objects-isdn-config_isdn_drv_gigaset.patch
use-menuconfig-objects-isdn-config_isdn_capi.patch
use-menuconfig-objects-isdn-config_capi_avm.patch
use-menuconfig-objects-isdn-config_capi_eicon.patch
isdn-capi-warning-fixes.patch
i4l-leak-in-eicon-idifuncc.patch
Merge
use-menuconfig-objects-isdn-config_isdn_i4l.patch
tilman didn't like it - might drop
i2o_cfg_passthru-cleanup.patch
wrong-memory-access-in-i2o_block_device_lock.patch
i2o-message-leak-in-i2o_msg_post_wait_mem.patch
i2o-proc-reading-oops.patch
i2o-debug-output-cleanup.patch
Merge
knfsd-exportfs-add-exportfsh-header.patch
knfsd-exportfs-remove-iget-abuse.patch
knfsd-exportfs-add-procedural-interface-for-nfsd.patch
knfsd-exportfs-remove-call-macro.patch
knfsd-exportfs-untangle-isdir-logic-in-find_exported_dentry.patch
knfsd-exportfs-move-acceptable-check-into-find_acceptable_alias.patch
knfsd-exportfs-add-find_disconnected_root-helper.patch
knfsd-exportfs-split-out-reconnecting-a-dentry-from-find_exported_dentry.patch
nfsd-warning-fix.patch
knfsd-lockd-nfsd4-use-same-grace-period-for-lockd-and-nfsd4.patch
knfsd-nfsd4-fix-nfsv4-filehandle-size-units-confusion.patch
knfsd-nfsd4-silence-a-compiler-warning-in-acl-code.patch
knfsd-nfsd4-fix-enc_stateid_sz-for-nfsd-callbacks.patch
knfsd-nfsd4-fix-handling-of-acl-errrors.patch
knfsd-nfsd-remove-unused-header-interfaceh.patch
knfsd-nfsd4-vary-maximum-delegation-limit-based-on-ram-size.patch
knfsd-nfsd4-dont-delegate-files-that-have-had-conflicts.patch
Merge
couple-fixes-to-fs-ecryptfs-inodec.patch
ecryptfs-move-ecryptfs-docs-into-documentation-filesystems.patch
Merge
rtc-ds1307-cleanups.patch
rtc-rs5c372-becomes-a-new-style-i2c-driver.patch
thecus-n2100-register-rtc-rs5c372-i2c-device.patch
rtc-make-example-code-jump-to-done-instead-of-return-when-ioctl-not-supported.patch
rtc-dev-return-enotty-in-ioctl-if-irq_set_freq-is-not-implemented-by-driver.patch
driver-for-the-atmel-on-chip-rtc-on-at32ap700x-devices.patch
rtc_class-is-no-longer-considered-experimental.patch
rtc-kconfig-tweax.patch
rtc-add-rtc-m41t80-driver-take-2.patch
rtc-watchdog-support-for-rtc-m41t80-driver-take-2.patch
rtc-add-support-for-the-st-m48t59-rtc.patch
rtc-add-support-for-the-st-m48t59-rtc-vs-git-acpi.patch
rtc-driver-for-ds1216-chips.patch
rtc-driver-for-ds1216-chips-fix.patch
rtc-ds1307-oscillator-restart-for-ds1337383940.patch
Merge.
revoke-special-mmap-handling.patch
revoke-special-mmap-handling-vs-fault-vs-invalidate.patch
revoke-core-code.patch
revoke-support-for-ext2-and-ext3.patch
revoke-add-documentation.patch
revoke-wire-up-i386-system-calls.patch
fs-introduce-write_begin-write_end-and-perform_write-aops-revoke.patch
revoke-vs-git-block.patch
Don't know. Need to ping suitable developers over this work.
lguest-export-symbols-for-lguest-as-a-module.patch
lguest-the-guest-code.patch
lguest-the-host-code.patch
lguest-the-host-code-lguest-vs-clockevents-fix-resume-logic.patch
lguest-the-asm-offsets.patch
lguest-the-makefile-and-kconfig.patch
lguest-the-console-driver.patch
lguest-the-net-driver.patch
lguest-the-block-driver.patch
lguest-the-documentation-example-launcher.patch
Merge
oss-trident-massive-whitespace-removal.patch
oss-trident-fix-locking-around-write_voice_regs.patch
oss-trident-replace-deprecated-pci_find_device-with-pci_get_device.patch
remove-options-depending-on-oss_obsolete.patch
Merge
unprivileged-mounts-add-user-mounts-to-the-kernel.patch
unprivileged-mounts-allow-unprivileged-umount.patch
unprivileged-mounts-account-user-mounts.patch
unprivileged-mounts-propagate-error-values-from-clone_mnt.patch
unprivileged-mounts-allow-unprivileged-bind-mounts.patch
unprivileged-mounts-put-declaration-of-put_filesystem-in-fsh.patch
unprivileged-mounts-allow-unprivileged-mounts.patch
unprivileged-mounts-allow-unprivileged-fuse-mounts.patch
unprivileged-mounts-propagation-inherit-owner-from-parent.patch
unprivileged-mounts-add-no-submounts-flag.patch
Don't know. Need to ping suitable developers over this work.
char-cyclades-add-firmware-loading.patch
char-cyclades-fix-sparse-warning.patch
char-isicom-cleanup-locking.patch
char-isicom-del_timer-at-exit.patch
char-isicom-proper-variables-types.patch
char-moxa-eliminate-busy-waiting.patch
char-specialix-remove-busy-waiting.patch
char-riscom8-eliminate-busy-loop.patch
char-vt-use-kzalloc.patch
char-vt-use-array_size.patch
char-kconfig-mxser_new-remove-experimental-comment.patch
char-stallion-remove-user-class-report-request.patch
char-istallion-initlocking-fixes-try-2.patch
stallion-remove-unneeded-lock_kernel.patch
Merge
fbcon-smart-blitter-usage-for-scrolling.patch
nvidiafb-adjust-flags-to-take-advantage-of-new-scroll-method.patch
fbcon-cursor-blink-control.patch
fbcon-use-struct-device-instead-of-struct-class_device.patch
fbdev-move-arch-specific-bits-to-their-respective.patch
fbdev-detect-primary-display-device.patch
fbcon-allow-fbcon-to-use-the-primary-display-driver.patch
radeonfb-add-support-for-radeon-xpress-200m-rs485.patch
nvidiafb-add-proper-support-for-geforce-7600-chipset.patch
pm2fb-white-spaces-clean-up.patch
fbcon-set_con2fb_map-fixes.patch
fbcon-revise-primary-device-selection.patch
fbdev-fbcon-console-unregistration-from-unregister_framebuffer.patch
vt-add-comment-for-unbind_con_driver.patch
68328fb-the-pseudo_palette-is-only-16-elements-long.patch
controlfb-the-pseudo_palette-is-only-16-elements-long.patch
cyblafb-fix-pseudo_palette-array-overrun-in-setcolreg.patch
epson1355fb-color-setting-fixes.patch
fm2fb-the-pseudo_palette-is-only-16-elements-long.patch
gbefb-the-pseudo_palette-is-only-16-elements-long.patch
macfb-fix-pseudo_palette-size-and-overrun.patch
offb-the-pseudo_palette-is-only-16-elements-long.patch
platinumfb-the-pseudo_palette-is-only-16-elements.patch
pvr2fb-fix-pseudo_palette-array-overrun-and-typecast.patch
q40fb-the-pseudo_palette-is-only-16-elements-long.patch
sgivwfb-the-pseudo_palette-is-only-16-elements-long.patch
tgafb-actually-allocate-memory-for-the-pseudo_palette.patch
tridentfb-fix-pseudo_palette-array-overrun-in-setcolreg.patch
tx3912fb-fix-improper-assignment-of-info-pseudo_palette.patch
atyfb-the-pseudo_palette-is-only-16-elements-long.patch
radeonfb-the-pseudo_palette-is-only-16-elements-long.patch
i810fb-the-pseudo_palette-is-only-16-elements-long.patch
intelfb-the-pseudo_palette-is-only-16-elements-long.patch
sisfb-fix-pseudo_palette-array-size-and-overrun.patch
matroxfb-color-setting-fixes.patch
pm3fb-fillrect-acceleration.patch
pm3fb-possible-cleanups.patch
vt8623fbc-make-code-static.patch
matroxfb-color-setting-fixes-fix.patch
fb-epson1355fb-kill-off-dead-sh-support.patch
fix-the-graphic-corruption-issue-on-ia64-machines.patch
Merge
omap-add-ti-omap-framebuffer-driver.patch
omap-add-ti-omap1610-accelerator-entry.patch
omap-add-ti-omap1-internal-lcd-controller.patch
omap-add-ti-omap2-internal-display-controller-support.patch
omap-add-ti-omap1-external-lcd-controller-support-sossi.patch
omap-add-ti-omap2-external-lcd-controller-support-rfbi.patch
omap-add-external-epson-hwa742-lcd-controller-support.patch
omap-add-external-epson-blizzard-lcd-controller-support.patch
omap-lcd-panel-support-for-the-ti-omap-h4-board.patch
omap-lcd-panel-support-for-the-ti-omap-h3-board.patch
omap-lcd-panel-support-for-the-palm-tungsten-e.patch
omap-lcd-panel-support-for-palm-tungstent.patch
omap-lcd-panel-support-for-the-palm-zire71.patch
omap-lcd-panel-support-for-the-ti-omap1610-innovator-board.patch
omap-lcd-panel-support-for-the-ti-omap1510-innovator-board.patch
omap-lcd-panel-support-for-the-ti-omap-osk-board.patch
omap-lcd-panel-support-for-the-siemens-sx1-mobile-phone.patch
Merge
use-menuconfig-objects-ii-md.patch
md-improve-message-about-invalid-superblock-during-autodetect.patch
md-improve-the-is_mddev_idle-test-fix.patch
md-check-that-internal-bitmap-does-not-overlap-other-data.patch
md-change-bitmap_unplug-and-others-to-void-functions.patch
Merge
raid5-add-the-stripe_queue-object-for-tracking-raid.patch
raid5-use-stripe_queues-to-prioritize-the-most.patch
Ping Neil
readahead-introduce-pg_readahead.patch
readahead-add-look-ahead-support-to-__do_page_cache_readahead.patch
readahead-min_ra_pages-max_ra_pages-macros.patch
readahead-data-structure-and-routines.patch
readahead-on-demand-readahead-logic.patch
readahead-convert-filemap-invocations.patch
readahead-convert-splice-invocations.patch
readahead-convert-ext3-ext4-invocations.patch
readahead-remove-the-old-algorithm.patch
readahead-move-synchronous-readahead-call-out-of-splice-loop.patch
readahead-pass-real-splice-size.patch
mm-share-pg_readahead-and-pg_reclaim.patch
readahead-split-ondemand-readahead-interface-into-two-functions.patch
readahead-sanify-file_ra_state-names.patch
Merge
fallocate-implementation-on-i86-x86_64-and-powerpc.patch
fallocate-on-s390.patch
fallocate-on-ia64.patch
fallocate-on-ia64-fix.patch
Merge.
jprobes-make-struct-jprobeentry-a-void.patch
jprobes-remove-jprobe_entry.patch
jprobes-make-jprobes-a-little-safer-for-users.patch
Merge.
intel-iommu-dmar-detection-and-parsing-logic.patch
intel-iommu-pci-generic-helper-function.patch
intel-iommu-clflush_cache_range-now-takes-size-param.patch
intel-iommu-iova-allocation-and-management-routines.patch
intel-iommu-intel-iommu-driver.patch
intel-iommu-avoid-memory-allocation-failures-in-dma-map-api-calls.patch
intel-iommu-intel-iommu-cmdline-option-forcedac.patch
intel-iommu-dmar-fault-handling-support.patch
intel-iommu-iommu-gfx-workaround.patch
intel-iommu-iommu-floppy-workaround.patch
Don't know. I don't think there were any great objections, but I don't
think much benefit has been demonstrated?
define-new-percpu-interface-for-shared-data-version-4.patch
use-the-new-percpu-interface-for-shared-data-version-4.patch
Merge
arch-personality-independent-stack-top.patch
audit-rework-execve-audit.patch
mm-variable-length-argument-support.patch
Merge.
ext4-zero_user_page-conversion.patch
ext4-remove-extra-is_rdonly-check.patch
is_power_of_2-ext4-superc.patch
Send to tytso
fs-introduce-vfs_path_lookup.patch
sunrpc-use-vfs_path_lookup.patch
nfsctl-use-vfs_path_lookup.patch
fs-mark-link_path_walk-static.patch
fs-remove-path_walk-export.patch
Merge, after poking suitable maintainers
kernel-doc-add-tools-doc-in-makefile.patch
kernel-doc-fix-unnamed-struct-union-warning.patch
kernel-doc-strip-c99-comments.patch
kernel-doc-fix-leading-dot-in-man-mode-output.patch
Merge
coredump-masking-bound-suid_dumpable-sysctl.patch
coredump-masking-reimplementation-of-dumpable-using-two-flags.patch
coredump-masking-add-an-interface-for-core-dump-filter.patch
coredump-masking-elf-enable-core-dump-filtering.patch
coredump-masking-elf-fdpic-remove-an-unused-argument.patch
coredump-masking-elf-fdpic-enable-core-dump-filtering.patch
coredump-masking-documentation-for-proc-pid-coredump_filter.patch
Merge
kernel-relayc-make-functions-static.patch
Merge
configfsdlm-separate-out-__configfs_attr-into-configfsh.patch
configfsdlmocfs2-convert-subsystem-semaphore-to-mutex.patch
configfsdlm-rename-config_group_find_obj-and-state-semantics-clearly.patch
Merge, subject to Joel acks
use-data_data-in-cris.patch
add-missing-data_data-in-powerpc.patch
use-data_data-in-xtensa.patch
Merge
drivers-edac-add-edac_mc_find-api.patch
drivers-edac-core-make-functions-static.patch
drivers-edac-add-rddr2-memory-types.patch
drivers-edac-split-out-functions-to-unique-files.patch
drivers-edac-add-edac_device-class.patch
drivers-edac-mc-sysfs-add-missing-mem-types.patch
drivers-edac-change-from-semaphore-to-mutex-operation.patch
drivers-edac-new-intel-5000-mc-driver.patch
drivers-edac-new-intel-5000-mc-driver-fix.patch
drivers-edac-coreh-fix-scrubdefs.patch
drivers-edac-new-i82443bxgz-mc-driver.patch
drivers-edac-new-i82443bxgz-mc-driver-broken.patch
drivers-edac-add-new-nmi-rescan.patch
drivers-edac-mod-use-edac_coreh.patch
drivers-edac-add-dev_name-getter-function.patch
drivers-edac-new-inte-30x0-mc-driver.patch
drivers-edac-mod-mc-to-use-workq-instead-of-kthread.patch
drivers-edac-updated-pci-monitoring.patch
drivers-edac-mod-assert_error-check.patch
drivers-edac-mod-pci-poll-names.patch
drivers-edac-core-lindent-cleanup.patch
drivers-edac-edac_device-sysfs-cleanup.patch
drivers-edac-cleanup-workq-ifdefs.patch
drivers-edac-lindent-amd76x.patch
drivers-edac-lindent-i5000.patch
drivers-edac-lindent-e7xxx.patch
drivers-edac-lindent-i3000.patch
drivers-edac-lindent-i82860.patch
drivers-edac-lindent-i82875p.patch
drivers-edac-lindent-e752x.patch
drivers-edac-lindent-i82443bxgx.patch
drivers-edac-lindent-r82600.patch
drivers-edac-drivers-to-use-new-pci-operation.patch
drivers-edac-add-device-sysfs-attributes.patch
drivers-edac-device-output-clenaup.patch
drivers-edac-add-info-kconfig.patch
drivers-edac-update-maintainers-files-for-edac.patch
drivers-edac-cleanup-spaces-gotos-after-lindent-messup.patch
driver-edac-add-mips-and-ppc-visibility.patch
driver-edac-mod-race-fix-i82875p.patch
driver-edac-fix-ignored-return-i82875p.patch
include-linux-pci_id-h-add-amd-northbridge-defines.patch
driver-edac-i5000-define-typo.patch
driver-edac-remove-null-from-statics.patch
driver-edac-i5000-code-tidying.patch
driver-edac-edac_device-code-tidying.patch
driver-edac-mod-edac_align_ptr-function.patch
driver-edac-mod-edac_opt_state_to_string-function.patch
driver-edac-remove-file-edac_mc-h.patch
Probably hold - there are sysfs issues and a large number of update patches
in my inbox. Might merge, undecided.
cpuset-zero-malloc-revert-the-old-cpuset-fix.patch
containersv10-basic-container-framework.patch
containersv10-basic-container-framework-fix.patch
containersv10-basic-container-framework-fix-2.patch
containersv10-basic-container-framework-fix-3.patch
containersv10-basic-container-framework-fix-for-bad-lock-balance-in-containers.patch
containersv10-example-cpu-accounting-subsystem.patch
containersv10-example-cpu-accounting-subsystem-fix.patch
containersv10-add-tasks-file-interface.patch
containersv10-add-tasks-file-interface-fix.patch
containersv10-add-tasks-file-interface-fix-2.patch
containersv10-add-fork-exit-hooks.patch
containersv10-add-fork-exit-hooks-fix.patch
containersv10-add-container_clone-interface.patch
containersv10-add-container_clone-interface-fix.patch
containersv10-add-procfs-interface.patch
containersv10-add-procfs-interface-fix.patch
containersv10-make-cpusets-a-client-of-containers.patch
containersv10-make-cpusets-a-client-of-containers-whitespace.patch
containersv10-share-css_group-arrays-between-tasks-with-same-container-memberships.patch
containersv10-share-css_group-arrays-between-tasks-with-same-container-memberships-fix.patch
containersv10-share-css_group-arrays-between-tasks-with-same-container-memberships-cpuset-zero-malloc-fix-for-new-containers.patch
containersv10-simple-debug-info-subsystem.patch
containersv10-simple-debug-info-subsystem-fix.patch
containersv10-simple-debug-info-subsystem-fix-2.patch
containersv10-support-for-automatic-userspace-release-agents.patch
containersv10-support-for-automatic-userspace-release-agents-whitespace.patch
add-containerstats-v3.patch
add-containerstats-v3-fix.patch
update-getdelays-to-become-containerstats-aware.patch
containers-implement-subsys-post_clone.patch
containers-implement-namespace-tracking-subsystem-v3.patch
Container stuff. Hold, I guess. I was expecting updates from Paul.
fix-raw_spinlock_t-vs-lockdep.patch
lockdep-sanitise-config_prove_locking.patch
lockdep-reduce-the-ifdeffery.patch
lockstat-core-infrastructure.patch
lockstat-human-readability-tweaks.patch
lockstat-hook-into-spinlock_t-rwlock_t-rwsem-and-mutex.patch
Merge
lockdep-various-fixes.patch
lockdep-fixup-sk_callback_lock-annotation.patch
lockstat-measure-lock-bouncing.patch
lockstat-better-class-name-representation.patch
lockdep-debugging-give-stacktrace-for-init_error.patch
stacktrace-fix-header-file-for-config_stacktrace.patch
Merge
some-kmalloc-memset-kzalloc-tree-wide.patch
Merge
reiser4-sb_sync_inodes.patch
reiser4-export-remove_from_page_cache.patch
reiser4-export-radix_tree_preload.patch
reiser4-export-find_get_pages.patch
make-copy_from_user_inatomic-not-zero-the-tail-on-i386-vs-reiser4.patch
reiser4.patch
mm-clean-up-and-kernelify-shrinker-registration-reiser4.patch
reiser4-fix-for-new-aops-patches.patch
git-block-vs-reiser4.patch
Hold.
make-sure-nobodys-leaking-resources.patch
journal_add_journal_head-debug.patch
page-owner-tracking-leak-detector.patch
releasing-resources-with-children.patch
nr_blockdev_pages-in_interrupt-warning.patch
detect-atomic-counter-underflows.patch
device-suspend-debug.patch
#slab-cache-shrinker-statistics.patch
mm-debug-dump-pageframes-on-bad_page.patch
make-frame_pointer-default=y.patch
mutex-subsystem-synchro-test-module.patch
slab-leaks3-default-y.patch
profile-likely-unlikely-macros.patch
put_bh-debug.patch
acpi_format_exception-debug.patch
lockdep-show-held-locks-when-showing-a-stackdump.patch
add-debugging-aid-for-memory-initialisation-problems.patch
kmap_atomic-debugging.patch
shrink_slab-handle-bad-shrinkers.patch
keep-track-of-network-interface-renaming.patch
workaround-for-a-pci-restoring-bug.patch
prio_tree-debugging-patch.patch
check_dirty_inode_list.patch
alloc_pages-debug.patch
squash-ipc-warnings.patch
random-warning-squishes.patch
w1-build-fix.patch
-mm only things.
^ permalink raw reply [flat|nested] 43+ messages in thread
* x86 status was Re: -mm merge plans for 2.6.23
2007-07-10 8:31 -mm merge plans for 2.6.23 Andrew Morton
@ 2007-07-11 12:43 ` Andi Kleen
2007-07-11 17:42 ` Ingo Molnar
0 siblings, 1 reply; 43+ messages in thread
From: Andi Kleen @ 2007-07-11 12:43 UTC (permalink / raw)
To: Andrew Morton; +Cc: linux-kernel, tglx, jeremy, Tim Hockin, jesse.barnes
Andrew Morton <akpm@linux-foundation.org> writes:
> revert-x86_64-mm-verify-cpu-rename.patch
> add-kstrndup-fix.patch
> xen-build-fix.patch
> fix-x86_64-numa-fake-apicid_to_node-mapping-for-fake-numa-2.patch
> fix-x86_64-mm-xen-xen-smp-guest-support.patch
> more-fix-x86_64-mm-xen-xen-smp-guest-support.patch
> fix-x86_64-mm-sched-clock-share.patch
> fix-x86_64-mm-xen-add-xen-virtual-block-device-driver.patch
> fix-x86_64-mm-add-common-orderly_poweroff.patch
> fix-x86_64-mm-xen-xen-event-channels.patch
> arch-i386-xen-mmuc-must-include-linux-schedh.patch
> tidy-up-usermode-helper-waiting-a-bit-fix.patch
> update-x86_64-mm-xen-use-iret-directly-where-possible.patch
Xen is probably going to be merged. I'm still not fully happy
about the review status of the drivers and xenbus, but there doesn't seem
to be much value in delaying it further.
I'll consolidate the fixes and fixes-to-fixes.
These all need re-review:
> i386-add-support-for-picopower-irq-router.patch
> make-arch-i386-kernel-setupcremapped_pgdat_init-static.patch
> arch-i386-kernel-i8253c-should-include-asm-timerh.patch
> make-arch-i386-kernel-io_apicctimer_irq_works-static-again.patch
> quicklist-support-for-x86_64.patch
> x86_64-extract-helper-function-from-e820_register_active_regions.patch
> x86_64-fix-e820_hole_size-based-on-address-ranges.patch
> x86_64-acpi-disable-srat-when-numa-emulation-succeeds.patch
> x86_64-slit-fake-pxm-to-node-mapping-for-fake-numa-2.patch
> x86_64-numa-fake-apicid_to_node-mapping-for-fake-numa-2.patch
> x86-use-elfnoteh-to-generate-vsyscall-notes-fix.patch
> mmconfig-x86_64-i386-insert-unclaimed-mmconfig-resources.patch
> x86_64-fix-smp_call_function_single-return-value.patch
> x86_64-o_excl-on-dev-mcelog.patch
> x86_64-support-poll-on-dev-mcelog.patch
It's still not clear to me this is any useful. The current code
can run a program on MCE which should be really fast enough
for machine check handling.
> i386-fix-machine-rebooting.patch
> x86-fix-section-mismatch-warnings-in-mtrr.patch
> x86_64-ratelimit-segfault-reporting-rate.patch
I think that one was bogus.
> x86_64-pm_trace-support.patch
> make-alt-sysrq-p-display-the-debug-register-contents.patch
> i386-flush_tlb_kernel_range-add-reference-to-the-arguments.patch
> round_jiffies-for-i386-and-x86-64-non-critical-corrected-mce-polling.patch
> pci-disable-decode-of-io-memory-during-bar-sizing.patch
> mmconfig-validate-against-acpi-motherboard-resources.patch
> x86_64-irq-check-remote-irr-bit-before-migrating-level-triggered-irq-v3.patch
> i386-remove-support-for-the-rise-cpu.patch
> i386-make-arch-i386-mm-pgtablecpgd_cdtor-static.patch
> i386-fix-section-mismatch-warning-in-intel_cacheinfo.patch
> i386-do-not-restore-reserved-memory-after-hibernation.patch
> paravirt-helper-to-disable-all-io-space-fix.patch
> dmi_match-patch-in-rebootc-for-sff-dell-optiplex-745-fixes-hang.patch
> i386-hpet-check-if-the-counter-works.patch
> i386-trim-memory-not-covered-by-wb-mtrrs.patch
Might need more testing?
More review:
> kprobes-x86_64-fix-for-mark-ro-data.patch
> kprobes-i386-fix-for-mark-ro-data.patch
> divorce-config_x86_pae-from-config_highmem64g.patch
> remove-unneeded-test-of-task-in-dump_trace.patch
> i386-move-the-kernel-to-16mb-for-numa-q.patch
> i386-show-unhandled-signals.patch
> i386-minor-nx-handling-adjustment.patch
> x86-smp-alt-once-option-is-only-useful-with-hotplug_cpu.patch
> x86-64-remove-unused-variable-maxcpus.patch
> move-functions-declarations-to-header-file.patch
> x86_64-during-vm-oom-condition.patch
> i386-during-vm-oom-condition.patch
> x86-64-disable-the-gart-in-shutdown.patch
> x86_84-move-iommu-declaration-from-proto-to-iommuh.patch
> i386-uaccessh-replace-hard-coded-constant-with-appropriate-macro-from-kernelh.patch
> i386-add-cpu_relax-to-cmos_lock.patch
> x86_64-flush_tlb_kernel_range-warning-fix.patch
> x86_64-add-ioapic-nmi-support.patch
> x86_64-change-_map_single-to-static-in-pci_gartc-etc.patch
> x86_64-geode-hw-random-number-generator-depend-on-x86_3.patch
> x86_64-fix-wrong-comment-regarding-set_fixmap.patch
> arch-x86_64-kernel-processc-lower-printk-severity.patch
> nohz-fix-nohz-x86-dyntick-idle-handling.patch
> acpi-move-timer-broadcast-and-pmtimer-access-before-c3-arbiter-shutdown.patch
> clockevents-fix-typo-in-acpi_pmc.patch
> timekeeping-fixup-shadow-variable-argument.patch
> timerc-cleanup-recently-introduced-whitespace-damage.patch
> clockevents-remove-prototypes-of-removed-functions.patch
> clockevents-fix-resume-logic.patch
> clockevents-fix-device-replacement.patch
> tick-management-spread-timer-interrupt.patch
> highres-improve-debug-output.patch
> hrtimer-speedup-hrtimer_enqueue.patch
> pcspkr-use-the-global-pit-lock.patch
> ntp-move-the-cmos-update-code-into-ntpc.patch
> i386-pit-stop-only-when-in-periodic-or-oneshot-mode.patch
> i386-remove-volatile-in-apicc.patch
> i386-hpet-assumes-boot-cpu-is-0.patch
> i386-move-pit-function-declarations-and-constants-to-correct-header-file.patch
> x86_64-untangle-asm-hpeth-from-asm-timexh.patch
> x86_64-use-generic-cmos-update.patch
> x86_64-remove-dead-code-and-other-janitor-work-in-tscc.patch
> x86_64-fix-apic-typo.patch
> x86_64-convert-to-cleckevents.patch
> acpi-remove-the-useless-ifdef-code.patch
> x86_64-hpet-restore-vread.patch
> x86_64-restore-restore-nohpet-cmdline.patch
> x86_64-block-irq-balancing-for-timer.patch
> x86_64-prep-idle-loop-for-dynticks.patch
> x86_64-enable-high-resolution-timers-and-dynticks.patch
> x86_64-dynticks-disable-hpet_id_legsup-hpets.patch
I'm sceptical about the dynticks code. It just rips out the
x86-64 timing code completely, which needs a lot more review and testing.
Probably not .23
More review:
> xen-fix-x86-config-dependencies.patch
> x86_64-get-mp_bus_to_node-as-early.patch
> xen-suppress-abs-symbol-warnings-for-unused-reloc-pointers.patch
> xen-cant-support-numa-yet.patch
> x86-fix-iounmaps-use-of-vm_structs-size-field.patch
> arch-x86_64-kernel-aperturec-lower-printk-severity.patch
> arch-x86_64-kernel-e820c-lower-printk-severity.patch
> ich-force-hpet-make-generic-time-capable-of-switching-broadcast-timer.patch
> ich-force-hpet-restructure-hpet-generic-clock-code.patch
> ich-force-hpet-ich7-or-later-quirk-to-force-detect-enable.patch
> ich-force-hpet-late-initialization-of-hpet-after-quirk.patch
> ich-force-hpet-ich5-quirk-to-force-detect-enable.patch
> ich-force-hpet-ich5-fix-a-bug-with-suspend-resume.patch
> ich-force-hpet-add-ich7_0-pciid-to-quirk-list.patch
> geode-basic-infrastructure-support-for-amd-geode-class.patch
> geode-mfgpt-support-for-geode-class-machines.patch
> geode-mfgpt-clock-event-device-support.patch
> i386-x86_64-insert-hpet-firmware-resource-after-pci-enumeration-has-completed.patch
> i386-ioapic-remove-old-irq-balancing-debug-cruft.patch
> i386-deactivate-the-test-for-the-dead-config_debug_page_type.patch
-Andi
^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: x86 status was Re: -mm merge plans for 2.6.23
2007-07-11 12:43 ` x86 status was " Andi Kleen
@ 2007-07-11 17:42 ` Ingo Molnar
2007-07-11 21:16 ` Andi Kleen
0 siblings, 1 reply; 43+ messages in thread
From: Ingo Molnar @ 2007-07-11 17:42 UTC (permalink / raw)
To: Andi Kleen
Cc: Andrew Morton, linux-kernel, Thomas Gleixner, Arjan van de Ven,
Linus Torvalds, Chris Wright
* Andi Kleen <andi@firstfloor.org> wrote:
> > clockevents-fix-typo-in-acpi_pmc.patch
> > timekeeping-fixup-shadow-variable-argument.patch
> > timerc-cleanup-recently-introduced-whitespace-damage.patch
> > clockevents-remove-prototypes-of-removed-functions.patch
> > clockevents-fix-resume-logic.patch
> > clockevents-fix-device-replacement.patch
> > tick-management-spread-timer-interrupt.patch
> > highres-improve-debug-output.patch
> > hrtimer-speedup-hrtimer_enqueue.patch
> > pcspkr-use-the-global-pit-lock.patch
> > ntp-move-the-cmos-update-code-into-ntpc.patch
> > i386-pit-stop-only-when-in-periodic-or-oneshot-mode.patch
> > i386-remove-volatile-in-apicc.patch
> > i386-hpet-assumes-boot-cpu-is-0.patch
> > i386-move-pit-function-declarations-and-constants-to-correct-header-file.patch
> > x86_64-untangle-asm-hpeth-from-asm-timexh.patch
> > x86_64-use-generic-cmos-update.patch
> > x86_64-remove-dead-code-and-other-janitor-work-in-tscc.patch
> > x86_64-fix-apic-typo.patch
> > x86_64-convert-to-cleckevents.patch
> > acpi-remove-the-useless-ifdef-code.patch
> > x86_64-hpet-restore-vread.patch
> > x86_64-restore-restore-nohpet-cmdline.patch
> > x86_64-block-irq-balancing-for-timer.patch
> > x86_64-prep-idle-loop-for-dynticks.patch
> > x86_64-enable-high-resolution-timers-and-dynticks.patch
> > x86_64-dynticks-disable-hpet_id_legsup-hpets.patch
>
> I'm sceptical about the dynticks code. It just rips out the x86-64
> timing code completely, which needs a lot more review and testing.
> Probably not .23
What you just did here is a slap in the face to a lot of contributors
who worked hard on this code :(
Let me tell you about the history of this project first. Arjan wrote the
first version of it a year ago, and it was added to -rt and tested there
by many people and went through many iterations and fixes. Chris Wright
then created a x86_64 clockevents cleanup and dynticks enabling patchset
from it this spring and sent it to lkml three and a half months ago, on
March 31:
http://lwn.net/Articles/229094/
Thomas, the high resolution timers and clockevents maintainer,
immediately picked up Chris' splitup/splitout/cleanup work and fixed and
extended it, and sent a first cut to lkml on May 6th:
http://lwn.net/Articles/233226/
Thomas then sent an updated version of the x86_64 clockevents cleanup
and dynticks code to lkml (on June 10th), for a second round of review:
http://lwn.net/Articles/237687/
As Thomas stated it in his submission:
" The patch set has been tested in the -hrt and -rt trees for quite a
while and the initial problems have been sorted out. Thanks to the
folks from the PowerTop project for testing and feedback. "
Then on June 16th Thomas sent the third series:
http://lwn.net/Articles/238834/
(which too was in -rt and was tested there on numerous machines. It was
also added to -mm.)
Then on June 23rd Thomas sent the fourth series of the x86_64
clockevents and dynticks code:
http://lwn.net/Articles/239620/
We finally have someone (Thomas) with core kernel clue who actually
_cares_ about the x86 time code and does not see it as an ugly chore,
one who collects the right patches and maintains the -hrt tree and
co-maintains the -rt tree and interacts with other contributors. What he
did was _hard_ to do but we are making really good progress:
http://lkml.org/lkml/2007/7/5/242
" All in all, personally I'm very happy to see Linux making such a
huge step forward with tickless and can't wait for this step to be
available in all distros and for all architectures... "
Yes, touching the time code is a pain because both the hardware and the
kernel has skeletons hidden in the closet, but we are mapping them one
by one, and we already fixed several kernel skeletons in the process.
The code is in -mm and there is no open regression related to this queue
of patches at the moment.
But what is curiously absent from all this positive and dynamic activity
around these patches on lkml? There is not a single email from Andi
Kleen, the official maintainer of the x86_64 tree directly reacting to
this submission in any way, shape or form. Not a single email from you
thanking Arjan, Chris and Thomas for this amount of cleanup to the
architecture you are maintaining:
31 files changed, 698 insertions(+), 1367 deletions(-)
Not a single email from you reviewing the patchset in any meaningful
way. Not a single email from you to indicate that you even did so much
as boot into this patchset.
What contribution do we have from you instead? A week before the .23
merge window is closed, in the very last possible moment, we finally get
your first reaction to this patchset, albeit in the form of three terse
sentences:
> I'm sceptical about the dynticks code. It just rips out the x86-64
> timing code completely, which needs a lot more review and testing.
> Probably not .23
In the past 3+ months there was not a single email from you indicating
that you are "doubtful" about this submission, and that you think that
it needs "lot more review and testing". You dont offer any alternative,
you dont offer any feedback, no review, no testing, no support, just a
simple rejection on lkml that prevents this project from going upstream.
Yes, maintainers have veto power and often have to make hard decisions,
but, and let me stress this properly:
Only if they actually act as honest maintainers!
Altogether 197 emails on lkml discussed these patches, and you were
Cc:-ed to every one of them. Over a dozen kernel developers reviewed it
or reacted to the patchset in one way or another. And your only reaction
to this is silence and a rejection claiming that it needs "lot more
review"? I'm utterly speechless.
Ingo
^ permalink raw reply [flat|nested] 43+ messages in thread* Re: x86 status was Re: -mm merge plans for 2.6.23
2007-07-11 17:42 ` Ingo Molnar
@ 2007-07-11 21:16 ` Andi Kleen
2007-07-11 21:46 ` Andrea Arcangeli
0 siblings, 1 reply; 43+ messages in thread
From: Andi Kleen @ 2007-07-11 21:16 UTC (permalink / raw)
To: Ingo Molnar
Cc: Andi Kleen, Andrew Morton, linux-kernel, Thomas Gleixner,
Arjan van de Ven, Linus Torvalds, Chris Wright
Well I spent a lot of time making the x86-64 timing code work
well on a variety of machines; working around a wide variety
of hardware and platform bugs. I obviously don't agree on your description
of its maintenance state.
> What contribution do we have from you instead? A week before the .23
I told him my objections privately earlier. Basically i would
like to see an actually debuggable step-by-step change, not a rip everything
out.
If that isn't possible it needs very careful review which just hasn't
happened yet. But I'm not convinced even step by step is not possible
here.
I thought it was clear that rip everything out is rarely a good idea
in Linux land? That's really not something I should need to harp on
repeatedly.
-Andi
^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: x86 status was Re: -mm merge plans for 2.6.23
2007-07-11 21:16 ` Andi Kleen
@ 2007-07-11 21:46 ` Andrea Arcangeli
2007-07-11 22:09 ` Linus Torvalds
0 siblings, 1 reply; 43+ messages in thread
From: Andrea Arcangeli @ 2007-07-11 21:46 UTC (permalink / raw)
To: Andi Kleen
Cc: Ingo Molnar, Andrew Morton, linux-kernel, Thomas Gleixner,
Arjan van de Ven, Linus Torvalds, Chris Wright
Hi Andi,
On Wed, Jul 11, 2007 at 11:16:38PM +0200, Andi Kleen wrote:
> I thought it was clear that rip everything out is rarely a good idea
> in Linux land? That's really not something I should need to harp on
> repeatedly.
I'm going to change topic big time because your sentence above
perfectly applies to the O(1) scheduler too. It's not like process
schedulers are sacred and there shall be only one, while I/O
schedulers and packet schedulers are profane and there can be many of
them. FWIW IMHO the right way would have been to make the new
scheduler pluggable and switchable at runtime, too bad it was ripped
off instead. The difficulty of making the scheduler pluggable isn't
really enormous, there have been patches floating around to achieve
it, some I even deal with them myself once.
The only positive side of being forced to CFS I can imagine, is that
more testing will make it more stable and more tuned more quickly. But
I'm fairly certain Ingo's good enough to achieve without it, perhaps
with a few more weeks.
Personally I very much like the unfariness of O(1), I'm afraid CFS
will overschedule under a certain number of workloads in its attempt
to provide a complete fair queieing at all costs, and it won't deal
with the X server as nicely as O(1), but I may as well be wrong. The
only thing I'm more sure about is that the computational complexity is
higher, and that reason alone is a good technical reason to provide
both and let the java folks stick with O(1) if they want.
^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: x86 status was Re: -mm merge plans for 2.6.23
2007-07-11 21:46 ` Andrea Arcangeli
@ 2007-07-11 22:09 ` Linus Torvalds
2007-07-13 2:23 ` Roman Zippel
0 siblings, 1 reply; 43+ messages in thread
From: Linus Torvalds @ 2007-07-11 22:09 UTC (permalink / raw)
To: Andrea Arcangeli
Cc: Andi Kleen, Ingo Molnar, Andrew Morton, linux-kernel,
Thomas Gleixner, Arjan van de Ven, Chris Wright
On Wed, 11 Jul 2007, Andrea Arcangeli wrote:
>
> I'm going to change topic big time because your sentence above
> perfectly applies to the O(1) scheduler too.
I disagree to a large degree.
We almost never have problems with code you can "think about".
Sure, bugs happen, but code that everybody runs the same generally doesn't
break. So a CPU scheduler doesn't worry me all that much. CPU schedulers
are "easy".
What worries me is interfaces to hardware that we know looks different for
different people. That means that any testing that one person has done
doesn't necessarily translate to anything at *all* on another persons
machine.
The timer problems we had when merging the stuff in 2.6.21 just scarred
me. I'd _really_ hate to have to go through that again. And no, the
"gradual" thing where the patch that actually *enables* something isn't
very gradual at all, so that's the absolutely worst kind of thing, because
then people can "git bisect" to the point where it got enabled and tell us
that's where things broke, but that doesn't actually say anything at all
about the patch that actually implements the new behaviour.
So the "enable" kind of patch is actually the worst of the lot, when it
comes to hardware.
When it comes to pure software algorithms, and things like schedulers,
you'll still obviously have timing issues and tuning, but generally things
*work*, which makes it a lot easier to debug and describe.
Linus
^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: x86 status was Re: -mm merge plans for 2.6.23
2007-07-11 22:09 ` Linus Torvalds
@ 2007-07-13 2:23 ` Roman Zippel
2007-07-13 4:47 ` Mike Galbraith
0 siblings, 1 reply; 43+ messages in thread
From: Roman Zippel @ 2007-07-13 2:23 UTC (permalink / raw)
To: Linus Torvalds
Cc: Andrea Arcangeli, Andi Kleen, Ingo Molnar, Andrew Morton,
linux-kernel, Thomas Gleixner, Arjan van de Ven, Chris Wright
Hi,
On Wed, 11 Jul 2007, Linus Torvalds wrote:
> Sure, bugs happen, but code that everybody runs the same generally doesn't
> break. So a CPU scheduler doesn't worry me all that much. CPU schedulers
> are "easy".
A little more advance warning wouldn't have hurt though.
The new scheduler does _a_lot_ of heavy 64 bit calculations without any
attempt to scale that down a little...
One can blame me now for not having it brought up earlier, but discussions
with Ingo are not something I'm looking forward to. :(
bye, Roman
^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: x86 status was Re: -mm merge plans for 2.6.23
2007-07-13 2:23 ` Roman Zippel
@ 2007-07-13 4:47 ` Mike Galbraith
2007-07-13 17:23 ` Roman Zippel
0 siblings, 1 reply; 43+ messages in thread
From: Mike Galbraith @ 2007-07-13 4:47 UTC (permalink / raw)
To: Roman Zippel
Cc: Linus Torvalds, Andrea Arcangeli, Andi Kleen, Ingo Molnar,
Andrew Morton, linux-kernel, Thomas Gleixner, Arjan van de Ven,
Chris Wright
On Fri, 2007-07-13 at 04:23 +0200, Roman Zippel wrote:
> Hi,
Hi,
> The new scheduler does _a_lot_ of heavy 64 bit calculations without any
> attempt to scale that down a little...
See prio_to_weight[], prio_to_wmult[] and sysctl_sched_stat_granularity.
Perhaps more can be done, but "without any attempt..." isn't accurate.
-Mike
^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: x86 status was Re: -mm merge plans for 2.6.23
2007-07-13 4:47 ` Mike Galbraith
@ 2007-07-13 17:23 ` Roman Zippel
2007-07-13 19:43 ` [PATCH] CFS: Fix missing digit off in wmult table Thomas Gleixner
0 siblings, 1 reply; 43+ messages in thread
From: Roman Zippel @ 2007-07-13 17:23 UTC (permalink / raw)
To: Mike Galbraith
Cc: Linus Torvalds, Andrea Arcangeli, Andi Kleen, Ingo Molnar,
Andrew Morton, linux-kernel, Thomas Gleixner, Arjan van de Ven,
Chris Wright
Hi,
On Fri, 13 Jul 2007, Mike Galbraith wrote:
> > The new scheduler does _a_lot_ of heavy 64 bit calculations without any
> > attempt to scale that down a little...
>
> See prio_to_weight[], prio_to_wmult[] and sysctl_sched_stat_granularity.
> Perhaps more can be done, but "without any attempt..." isn't accurate.
Calculating these values at runtime would have been completely insane, the
alternative would be a crummy approximation, so using a lookup table is
actually a good thing. That's not the problem.
BTW could someone please verify the prio_to_wmult table, especially [16]
and [21] look a little off, like a digit was cut off.
While I'm at this, the 10% scaling there looks a little much (unless there
are other changes I haven't looked at yet), the old code used more like
5%. This would mean a prio -20 task would get 98.86% cpu time compared to
a prio 0 task, that was previously about the difference between -20 and
19 (and it would have previously gotten only 88.89%), now a prio -20 task
would get 99.98% cpu time compared to a prio 19 task.
The individual levels are unfortunately not that easily comparable, but at
the overall scale the change looks IMHO a little drastic.
bye, Roman
^ permalink raw reply [flat|nested] 43+ messages in thread
* [PATCH] CFS: Fix missing digit off in wmult table
2007-07-13 17:23 ` Roman Zippel
@ 2007-07-13 19:43 ` Thomas Gleixner
2007-07-16 6:18 ` James Bruce
0 siblings, 1 reply; 43+ messages in thread
From: Thomas Gleixner @ 2007-07-13 19:43 UTC (permalink / raw)
To: Roman Zippel
Cc: Mike Galbraith, Linus Torvalds, Andrea Arcangeli, Andi Kleen,
Ingo Molnar, Andrew Morton, linux-kernel, Arjan van de Ven,
Chris Wright
Roman Zippel noticed inconsistency of the wmult table.
wmult[16] has a missing digit.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
diff --git a/kernel/sched.c b/kernel/sched.c
index 0559665..3332bbb 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -750,7 +750,7 @@ static const u32 prio_to_wmult[40] = {
48356, 60446, 75558, 94446, 118058, 147573,
184467, 230589, 288233, 360285, 450347,
562979, 703746, 879575, 1099582, 1374389,
- 717986, 2147483, 2684354, 3355443, 4194304,
+ 1717986, 2147483, 2684354, 3355443, 4194304,
5244160, 6557201, 8196502, 10250518, 12782640,
16025997, 19976592, 24970740, 31350126, 39045157,
49367440, 61356675, 76695844, 95443717, 119304647,
^ permalink raw reply related [flat|nested] 43+ messages in thread* Re: [PATCH] CFS: Fix missing digit off in wmult table
2007-07-13 19:43 ` [PATCH] CFS: Fix missing digit off in wmult table Thomas Gleixner
@ 2007-07-16 6:18 ` James Bruce
2007-07-16 7:06 ` Ingo Molnar
0 siblings, 1 reply; 43+ messages in thread
From: James Bruce @ 2007-07-16 6:18 UTC (permalink / raw)
To: linux-kernel
Cc: Roman Zippel, Mike Galbraith, Linus Torvalds, Andrea Arcangeli,
Andi Kleen, Ingo Molnar, Andrew Morton, linux-kernel,
Arjan van de Ven, Chris Wright
Thomas Gleixner wrote:
> Roman Zippel noticed inconsistency of the wmult table.
> wmult[16] has a missing digit.
[snip]
While we're at it, isn't the comment above the wmult table incorrect?
The multiplier is 1.25, meaning a 25% change per nice level, not 10%.
- Jim
^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [PATCH] CFS: Fix missing digit off in wmult table
2007-07-16 6:18 ` James Bruce
@ 2007-07-16 7:06 ` Ingo Molnar
2007-07-16 7:41 ` Ingo Molnar
2007-07-16 10:18 ` Roman Zippel
0 siblings, 2 replies; 43+ messages in thread
From: Ingo Molnar @ 2007-07-16 7:06 UTC (permalink / raw)
To: James Bruce
Cc: Thomas Gleixner, Roman Zippel, Mike Galbraith, Linus Torvalds,
Andrea Arcangeli, Andi Kleen, Andrew Morton, linux-kernel,
Arjan van de Ven, Chris Wright
* James Bruce <bruce@andrew.cmu.edu> wrote:
> While we're at it, isn't the comment above the wmult table incorrect?
> The multiplier is 1.25, meaning a 25% change per nice level, not 10%.
yes, the weight multiplier 1.25, but the actual difference in CPU
utilization, when running two CPU intense tasks, is ~10%:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
8246 mingo 20 0 1576 244 196 R 55 0.0 0:11.96 loop
8247 mingo 21 1 1576 244 196 R 45 0.0 0:10.52 loop
so the first task 'wins' +10% CPU utilization (relative to the 50% it
had before), the second task 'loses' -10% CPU utilization (relative to
the 50% it had before).
so what the comment says is true:
* The "10% effect" is relative and cumulative: from _any_ nice level,
* if you go up 1 level, it's -10% CPU usage, if you go down 1 level
* it's +10% CPU usage.
for there to be a ~+10% change in CPU utilization for a task that races
against another CPU-intense task there needs to be a ~25% change in the
weight.
Ingo
^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [PATCH] CFS: Fix missing digit off in wmult table
2007-07-16 7:06 ` Ingo Molnar
@ 2007-07-16 7:41 ` Ingo Molnar
2007-07-16 15:02 ` James Bruce
2007-07-16 10:18 ` Roman Zippel
1 sibling, 1 reply; 43+ messages in thread
From: Ingo Molnar @ 2007-07-16 7:41 UTC (permalink / raw)
To: James Bruce
Cc: Thomas Gleixner, Roman Zippel, Mike Galbraith, Linus Torvalds,
Andrea Arcangeli, Andi Kleen, Andrew Morton, linux-kernel,
Arjan van de Ven, Chris Wright
* Ingo Molnar <mingo@elte.hu> wrote:
> * James Bruce <bruce@andrew.cmu.edu> wrote:
>
> > While we're at it, isn't the comment above the wmult table incorrect?
> > The multiplier is 1.25, meaning a 25% change per nice level, not 10%.
>
> yes, the weight multiplier 1.25, but the actual difference in CPU
> utilization, when running two CPU intense tasks, is ~10%:
>
> PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
> 8246 mingo 20 0 1576 244 196 R 55 0.0 0:11.96 loop
> 8247 mingo 21 1 1576 244 196 R 45 0.0 0:10.52 loop
>
> so the first task 'wins' +10% CPU utilization (relative to the 50% it
> had before), the second task 'loses' -10% CPU utilization (relative to
> the 50% it had before).
>
> so what the comment says is true:
>
> * The "10% effect" is relative and cumulative: from _any_ nice level,
> * if you go up 1 level, it's -10% CPU usage, if you go down 1 level
> * it's +10% CPU usage.
>
> for there to be a ~+10% change in CPU utilization for a task that
> races against another CPU-intense task there needs to be a ~25% change
> in the weight.
in any case more documentation is justified, so i've added some
clarification to the comments - see the patch below.
Ingo
------------------------>
Subject: sched: improve weight-array comments
From: Ingo Molnar <mingo@elte.hu>
improve the comments around the wmult array (which controls the weight
of niced tasks). Clarify that to achieve a 10% difference in CPU
utilization, a weight multiplier of 1.25 has to be used.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
---
kernel/sched.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
Index: linux/kernel/sched.c
===================================================================
--- linux.orig/kernel/sched.c
+++ linux/kernel/sched.c
@@ -736,7 +736,9 @@ static void update_curr_load(struct rq *
*
* The "10% effect" is relative and cumulative: from _any_ nice level,
* if you go up 1 level, it's -10% CPU usage, if you go down 1 level
- * it's +10% CPU usage.
+ * it's +10% CPU usage. (to achieve that we use a multiplier of 1.25.
+ * If a task goes up by ~10% and another task goes down by ~10% then
+ * the relative distance between them is ~25%.)
*/
static const int prio_to_weight[40] = {
/* -20 */ 88818, 71054, 56843, 45475, 36380, 29104, 23283, 18626, 14901, 11921,
^ permalink raw reply [flat|nested] 43+ messages in thread* Re: [PATCH] CFS: Fix missing digit off in wmult table
2007-07-16 7:41 ` Ingo Molnar
@ 2007-07-16 15:02 ` James Bruce
0 siblings, 0 replies; 43+ messages in thread
From: James Bruce @ 2007-07-16 15:02 UTC (permalink / raw)
To: Ingo Molnar
Cc: Thomas Gleixner, Roman Zippel, Mike Galbraith, Linus Torvalds,
Andrea Arcangeli, Andi Kleen, Andrew Morton, linux-kernel,
Arjan van de Ven, Chris Wright
Ingo Molnar wrote:
> * Ingo Molnar <mingo@elte.hu> wrote:
>> * James Bruce <bruce@andrew.cmu.edu> wrote:
>>> While we're at it, isn't the comment above the wmult table incorrect?
>>> The multiplier is 1.25, meaning a 25% change per nice level, not 10%.
>> yes, the weight multiplier 1.25, but the actual difference in CPU
>> utilization, when running two CPU intense tasks, is ~10%:
>>
>> PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
>> 8246 mingo 20 0 1576 244 196 R 55 0.0 0:11.96 loop
>> 8247 mingo 21 1 1576 244 196 R 45 0.0 0:10.52 loop
>>
>> so the first task 'wins' +10% CPU utilization (relative to the 50% it
>> had before), the second task 'loses' -10% CPU utilization (relative to
>> the 50% it had before).
>>
>> so what the comment says is true:
>>
>> * The "10% effect" is relative and cumulative: from _any_ nice level,
>> * if you go up 1 level, it's -10% CPU usage, if you go down 1 level
>> * it's +10% CPU usage.
>>
>> for there to be a ~+10% change in CPU utilization for a task that
>> races against another CPU-intense task there needs to be a ~25% change
>> in the weight.
>
> in any case more documentation is justified, so i've added some
> clarification to the comments - see the patch below.
Ah ok so it's 10% of the original CPU usage, not relative to a tasks
share from before. While I guess I still think in terms of relative CPU
share, your comments now make sense to me. Thanks for the
clarification.
- Jim
> ------------------------>
> Subject: sched: improve weight-array comments
> From: Ingo Molnar <mingo@elte.hu>
>
> improve the comments around the wmult array (which controls the weight
> of niced tasks). Clarify that to achieve a 10% difference in CPU
> utilization, a weight multiplier of 1.25 has to be used.
>
> Signed-off-by: Ingo Molnar <mingo@elte.hu>
> ---
> kernel/sched.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> Index: linux/kernel/sched.c
> ===================================================================
> --- linux.orig/kernel/sched.c
> +++ linux/kernel/sched.c
> @@ -736,7 +736,9 @@ static void update_curr_load(struct rq *
> *
> * The "10% effect" is relative and cumulative: from _any_ nice level,
> * if you go up 1 level, it's -10% CPU usage, if you go down 1 level
> - * it's +10% CPU usage.
> + * it's +10% CPU usage. (to achieve that we use a multiplier of 1.25.
> + * If a task goes up by ~10% and another task goes down by ~10% then
> + * the relative distance between them is ~25%.)
> */
> static const int prio_to_weight[40] = {
> /* -20 */ 88818, 71054, 56843, 45475, 36380, 29104, 23283, 18626, 14901, 11921,
^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [PATCH] CFS: Fix missing digit off in wmult table
2007-07-16 7:06 ` Ingo Molnar
2007-07-16 7:41 ` Ingo Molnar
@ 2007-07-16 10:18 ` Roman Zippel
2007-07-16 11:20 ` Ingo Molnar
1 sibling, 1 reply; 43+ messages in thread
From: Roman Zippel @ 2007-07-16 10:18 UTC (permalink / raw)
To: Ingo Molnar
Cc: James Bruce, Thomas Gleixner, Mike Galbraith, Linus Torvalds,
Andrea Arcangeli, Andi Kleen, Andrew Morton, linux-kernel,
Arjan van de Ven, Chris Wright
Hi,
On Mon, 16 Jul 2007, Ingo Molnar wrote:
> yes, the weight multiplier 1.25, but the actual difference in CPU
> utilization, when running two CPU intense tasks, is ~10%:
>
> PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
> 8246 mingo 20 0 1576 244 196 R 55 0.0 0:11.96 loop
> 8247 mingo 21 1 1576 244 196 R 45 0.0 0:10.52 loop
>
> so the first task 'wins' +10% CPU utilization (relative to the 50% it
> had before), the second task 'loses' -10% CPU utilization (relative to
> the 50% it had before).
As soon as you add another loop the difference changes again, while it's
always correct to say it gets 25% more cpu time (which I still think is a
little too much).
bye, Roman
^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [PATCH] CFS: Fix missing digit off in wmult table
2007-07-16 10:18 ` Roman Zippel
@ 2007-07-16 11:20 ` Ingo Molnar
2007-07-16 11:58 ` Roman Zippel
0 siblings, 1 reply; 43+ messages in thread
From: Ingo Molnar @ 2007-07-16 11:20 UTC (permalink / raw)
To: Roman Zippel
Cc: James Bruce, Thomas Gleixner, Mike Galbraith, Linus Torvalds,
Andrea Arcangeli, Andi Kleen, Andrew Morton, linux-kernel,
Arjan van de Ven, Chris Wright
* Roman Zippel <zippel@linux-m68k.org> wrote:
> > yes, the weight multiplier 1.25, but the actual difference in CPU
> > utilization, when running two CPU intense tasks, is ~10%:
> >
> > PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
> > 8246 mingo 20 0 1576 244 196 R 55 0.0 0:11.96 loop
> > 8247 mingo 21 1 1576 244 196 R 45 0.0 0:10.52 loop
> >
> > so the first task 'wins' +10% CPU utilization (relative to the 50%
> > it had before), the second task 'loses' -10% CPU utilization
> > (relative to the 50% it had before).
>
> As soon as you add another loop the difference changes again, while
> it's always correct to say it gets 25% more cpu time [...]
yep, and i'll add the relative effect to the comment too.
Ingo
^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [PATCH] CFS: Fix missing digit off in wmult table
2007-07-16 11:20 ` Ingo Molnar
@ 2007-07-16 11:58 ` Roman Zippel
2007-07-16 12:12 ` Ingo Molnar
2007-07-16 17:47 ` Linus Torvalds
0 siblings, 2 replies; 43+ messages in thread
From: Roman Zippel @ 2007-07-16 11:58 UTC (permalink / raw)
To: Ingo Molnar
Cc: James Bruce, Thomas Gleixner, Mike Galbraith, Linus Torvalds,
Andrea Arcangeli, Andi Kleen, Andrew Morton, linux-kernel,
Arjan van de Ven, Chris Wright
Hi,
On Mon, 16 Jul 2007, Ingo Molnar wrote:
> > As soon as you add another loop the difference changes again, while
> > it's always correct to say it gets 25% more cpu time [...]
>
> yep, and i'll add the relative effect to the comment too.
Why did you cut off the rest of the sentence?
To illustrate the problem a little different: a task with a nice level -20
got around 700% more cpu time (or 8 times more), now it gets 8500% more
cpu time (or 86.7 times more).
You don't think that change to the nice levels is a little drastic?
bye, Roman
^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [PATCH] CFS: Fix missing digit off in wmult table
2007-07-16 11:58 ` Roman Zippel
@ 2007-07-16 12:12 ` Ingo Molnar
2007-07-16 12:42 ` Roman Zippel
2007-07-16 17:47 ` Linus Torvalds
1 sibling, 1 reply; 43+ messages in thread
From: Ingo Molnar @ 2007-07-16 12:12 UTC (permalink / raw)
To: Roman Zippel
Cc: James Bruce, Thomas Gleixner, Mike Galbraith, Linus Torvalds,
Andrea Arcangeli, Andi Kleen, Andrew Morton, linux-kernel,
Arjan van de Ven, Chris Wright
* Roman Zippel <zippel@linux-m68k.org> wrote:
> On Mon, 16 Jul 2007, Ingo Molnar wrote:
>
> > > As soon as you add another loop the difference changes again,
> > > while it's always correct to say it gets 25% more cpu time [...]
> >
> > yep, and i'll add the relative effect to the comment too.
>
> Why did you cut off the rest of the sentence?
(no need to become hostile, i answered to that portion of your sentence
separately, which was logically detached from the other portion of your
sentence. I marked the cut with the '[...]' sign. )
> To illustrate the problem a little different: a task with a nice level
> -20 got around 700% more cpu time (or 8 times more), now it gets 8500%
> more cpu time (or 86.7 times more). You don't think that change to the
> nice levels is a little drastic?
This was discussed on lkml in detail, see the CFS threads. It has been a
common request for nice levels to be more logical (i.e. to make them
universal and to detach them from HZ) and for them to be more effective
as well.
Ingo
^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [PATCH] CFS: Fix missing digit off in wmult table
2007-07-16 12:12 ` Ingo Molnar
@ 2007-07-16 12:42 ` Roman Zippel
2007-07-16 13:40 ` Ingo Molnar
0 siblings, 1 reply; 43+ messages in thread
From: Roman Zippel @ 2007-07-16 12:42 UTC (permalink / raw)
To: Ingo Molnar
Cc: James Bruce, Thomas Gleixner, Mike Galbraith, Linus Torvalds,
Andrea Arcangeli, Andi Kleen, Andrew Morton, linux-kernel,
Arjan van de Ven, Chris Wright
Hi,
On Mon, 16 Jul 2007, Ingo Molnar wrote:
> > > > As soon as you add another loop the difference changes again,
> > > > while it's always correct to say it gets 25% more cpu time [...]
> > >
> > > yep, and i'll add the relative effect to the comment too.
> >
> > Why did you cut off the rest of the sentence?
>
> (no need to become hostile, i answered to that portion of your sentence
> separately, which was logically detached from the other portion of your
> sentence. I marked the cut with the '[...]' sign. )
Could you please stop with these accusations?
Could you please point me to the mail with the separate answer?
> > To illustrate the problem a little different: a task with a nice level
> > -20 got around 700% more cpu time (or 8 times more), now it gets 8500%
> > more cpu time (or 86.7 times more). You don't think that change to the
> > nice levels is a little drastic?
>
> This was discussed on lkml in detail, see the CFS threads.
Which are quite big, so I skipped most of it, a more precise pointer would
be appreciated.
> It has been a
> common request for nice levels to be more logical (i.e. to make them
> universal and to detach them from HZ) and for them to be more effective
> as well.
Huh? What has this to do with HZ? The scheduler used ticks internally, but
it's irrelevant to what the user sees via the nice levels.
So the question still stands that this change may be a little drastic, as
you changed the nice levels of _all_ users, not just of those who were
previously interested in CFS.
bye, Roman
^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [PATCH] CFS: Fix missing digit off in wmult table
2007-07-16 12:42 ` Roman Zippel
@ 2007-07-16 13:40 ` Ingo Molnar
2007-07-16 14:01 ` Roman Zippel
0 siblings, 1 reply; 43+ messages in thread
From: Ingo Molnar @ 2007-07-16 13:40 UTC (permalink / raw)
To: Roman Zippel
Cc: James Bruce, Thomas Gleixner, Mike Galbraith, Linus Torvalds,
Andi Kleen, Andrew Morton, linux-kernel, Arjan van de Ven,
Chris Wright
* Roman Zippel <zippel@linux-m68k.org> wrote:
> > It has been a common request for nice levels to be more logical
> > (i.e. to make them universal and to detach them from HZ) and for
> > them to be more effective as well.
>
> Huh? What has this to do with HZ? The scheduler used ticks internally,
> but it's irrelevant to what the user sees via the nice levels. [...]
unfortunately you are wrong again - there are various HZ related
artifacts in the nice level support code of the old scheduler.
v2.6.22, CONFIG_HZ=100, nice +19 task against a nice-0 CPU-intense task:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2446 mingo 25 0 1576 244 196 R 90.9 0.0 0:32.79 loop
2448 mingo 39 19 1580 248 196 R 9.1 0.0 0:02.94 loop
v2.6.22, CONFIG_HZ=250, nice +19 task against a nice-0 CPU-intense task:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2358 mingo 25 0 1576 248 196 R 96.1 0.0 0:31.97 loop_silent
2363 mingo 39 19 1576 244 196 R 3.9 0.0 0:01.24 loop_silent
v2.6.22, CONFIG_HZ=300, nice +19 task against a nice-0 CPU-intense task:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2332 mingo 25 0 1580 248 196 R 95.1 0.0 0:11.84 loop_silent
2335 mingo 39 19 1576 244 196 R 3.1 0.0 0:00.39 loop_silent
to sum it up: a nice +19 task (the most commonly used nice level in
practice) gets 9.1%, 3.9%, 3.1% of CPU time on the old scheduler,
depending on the value of HZ. This is quite inconsistent and illogical.
this HZ dependency of nice levels existed for many years, and the new
scheduler solves that inconsistency - every nice level will get the same
amount of time, regardless of HZ.
Ingo
^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [PATCH] CFS: Fix missing digit off in wmult table
2007-07-16 13:40 ` Ingo Molnar
@ 2007-07-16 14:01 ` Roman Zippel
2007-07-16 20:31 ` Matt Mackall
0 siblings, 1 reply; 43+ messages in thread
From: Roman Zippel @ 2007-07-16 14:01 UTC (permalink / raw)
To: Ingo Molnar
Cc: James Bruce, Thomas Gleixner, Mike Galbraith, Linus Torvalds,
Andi Kleen, Andrew Morton, linux-kernel, Arjan van de Ven,
Chris Wright
Hi,
On Mon, 16 Jul 2007, Ingo Molnar wrote:
> to sum it up: a nice +19 task (the most commonly used nice level in
> practice) gets 9.1%, 3.9%, 3.1% of CPU time on the old scheduler,
> depending on the value of HZ. This is quite inconsistent and illogical.
You're correct that you can find artifacts in the extreme cases, it's
subjective whether this is a serious problem.
It's nice that these artifacts are gone, but that still doesn't explain
why this ratio had to be increase that much from around 1:10 to 1:69.
bye, Roman
^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [PATCH] CFS: Fix missing digit off in wmult table
2007-07-16 14:01 ` Roman Zippel
@ 2007-07-16 20:31 ` Matt Mackall
2007-07-16 21:18 ` Ingo Molnar
2007-07-16 21:25 ` Roman Zippel
0 siblings, 2 replies; 43+ messages in thread
From: Matt Mackall @ 2007-07-16 20:31 UTC (permalink / raw)
To: Roman Zippel
Cc: Ingo Molnar, James Bruce, Thomas Gleixner, Mike Galbraith,
Linus Torvalds, Andi Kleen, Andrew Morton, linux-kernel,
Arjan van de Ven, Chris Wright
On Mon, Jul 16, 2007 at 04:01:17PM +0200, Roman Zippel wrote:
> Hi,
>
> On Mon, 16 Jul 2007, Ingo Molnar wrote:
>
> > to sum it up: a nice +19 task (the most commonly used nice level in
> > practice) gets 9.1%, 3.9%, 3.1% of CPU time on the old scheduler,
> > depending on the value of HZ. This is quite inconsistent and illogical.
>
> You're correct that you can find artifacts in the extreme cases, it's
> subjective whether this is a serious problem.
> It's nice that these artifacts are gone, but that still doesn't explain
> why this ratio had to be increase that much from around 1:10 to 1:69.
More dynamic range is better? If you actually want a task to get 20x
the CPU time of another, the older scheduler doesn't really allow it.
Getting 1/69th of a modern CPU is still a fair number of cycles.
Nevermind 1/69th of a machine with > 64 cores.
--
Mathematics is the supreme nostalgia of our time.
^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [PATCH] CFS: Fix missing digit off in wmult table
2007-07-16 20:31 ` Matt Mackall
@ 2007-07-16 21:18 ` Ingo Molnar
2007-07-16 22:13 ` Roman Zippel
2007-07-16 21:25 ` Roman Zippel
1 sibling, 1 reply; 43+ messages in thread
From: Ingo Molnar @ 2007-07-16 21:18 UTC (permalink / raw)
To: Matt Mackall
Cc: Roman Zippel, James Bruce, Thomas Gleixner, Mike Galbraith,
Linus Torvalds, Andi Kleen, Andrew Morton, linux-kernel,
Arjan van de Ven, Chris Wright
* Matt Mackall <mpm@selenic.com> wrote:
> More dynamic range is better? If you actually want a task to get 20x
> the CPU time of another, the older scheduler doesn't really allow it.
>
> Getting 1/69th of a modern CPU is still a fair number of cycles.
> Nevermind 1/69th of a machine with > 64 cores.
yeah. furthermore, nice -20 is only admin-selectable.
Here are the current CPU-use values for positive nice levels:
nice 0: 100.00%
nice 1: 80.00%
nice 2: 64.10%
nice 3: 51.28%
nice 4: 40.98%
nice 5: 32.78%
nice 6: 26.24%
nice 7: 21.00%
nice 8: 16.77%
nice 9: 13.42%
nice 10: 10.74%
nice 11: 8.59%
nice 12: 6.87%
nice 13: 5.50%
nice 14: 4.39%
nice 15: 3.51%
nice 16: 2.81%
nice 17: 2.25%
nice 18: 1.80%
nice 19: 1.44%
here's the CPU utilization table for negative nice levels (relative to a
nice -20 task):
nice 0: 1.15%
nice -1: 1.44%
nice -2: 1.80%
nice -3: 2.25%
nice -4: 2.81%
nice -5: 3.51%
nice -6: 4.39%
nice -7: 5.50%
nice -8: 6.87%
nice -9: 8.59%
nice -10: 10.74%
nice -11: 13.42%
nice -12: 16.77%
nice -13: 21.00%
nice -14: 26.24%
nice -15: 32.78%
nice -16: 40.98%
nice -17: 51.28%
nice -18: 64.10%
nice -19: 80.00%
nice -20: 100.00%
these are pretty sane, and symmetric across the origo. Nice -20 is the
odd one out, because there is no nice +20. But its value is still
logical, it's the mirror image of an imaginery nice +20.
and note that even on the old scheduler, nice-0 was "3200% more
powerful" than nice +19 (with CONFIG_HZ=300), and nice -19 was only 700%
more powerful than nice-0. So not only was it inconsistent (and i can
create scary numbers too ;), it gave the admin-controlled negative nice
levels less of a punch than to user-controlled nice +19. A number of
people complainted about that, and CFS addresses this.
in fact i like it that nice -20 has a slightly bigger punch than it used
to have before: it might remove the need to run audio apps (and other
multimedia apps) under SCHED_FIFO. (SCHED_FIFO is unprotected against
lockups, while under CFS a nice 0 task is still starvation protected
against a nice -20 task.)
furthermore, there is a quality of implementation issue as well, look at
the definition of the nice system call:
asmlinkage long sys_nice(int increment)
the "increment" is relative. So nice(1) has the same behavioral effect
under CFS, regardless of which nice level you start out from. Under the
old scheduler, the result depended on which nice level you started out
from.
Ingo
^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [PATCH] CFS: Fix missing digit off in wmult table
2007-07-16 21:18 ` Ingo Molnar
@ 2007-07-16 22:13 ` Roman Zippel
2007-07-16 22:29 ` Ingo Molnar
0 siblings, 1 reply; 43+ messages in thread
From: Roman Zippel @ 2007-07-16 22:13 UTC (permalink / raw)
To: Ingo Molnar
Cc: Matt Mackall, James Bruce, Thomas Gleixner, Mike Galbraith,
Linus Torvalds, Andi Kleen, Andrew Morton, linux-kernel,
Arjan van de Ven, Chris Wright
Hi,
On Mon, 16 Jul 2007, Ingo Molnar wrote:
> and note that even on the old scheduler, nice-0 was "3200% more
> powerful" than nice +19 (with CONFIG_HZ=300),
How did you get that value? At any HZ the ratio should be around 1:10
(+- rounding error).
> in fact i like it that nice -20 has a slightly bigger punch than it used
> to have before:
"Slightly bigger"??? You're joking, right?
Especially the user levels are doing something completely different now,
which may break user expectation. While the user couldn't expect anything
precise, it's still a big difference whether a process at nice 5 gets 75%
of the time or only 30%.
bye, Roman
^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [PATCH] CFS: Fix missing digit off in wmult table
2007-07-16 22:13 ` Roman Zippel
@ 2007-07-16 22:29 ` Ingo Molnar
2007-07-17 0:02 ` Roman Zippel
0 siblings, 1 reply; 43+ messages in thread
From: Ingo Molnar @ 2007-07-16 22:29 UTC (permalink / raw)
To: Roman Zippel
Cc: Matt Mackall, James Bruce, Thomas Gleixner, Mike Galbraith,
Linus Torvalds, Andi Kleen, Andrew Morton, linux-kernel,
Arjan van de Ven, Chris Wright
* Roman Zippel <zippel@linux-m68k.org> wrote:
> Hi,
>
> On Mon, 16 Jul 2007, Ingo Molnar wrote:
>
> > and note that even on the old scheduler, nice-0 was "3200% more
> > powerful" than nice +19 (with CONFIG_HZ=300),
>
> How did you get that value? At any HZ the ratio should be around 1:10
> (+- rounding error).
you are wrong again. I sent you the numbers earlier today already:
| PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
| 2332 mingo 25 0 1580 248 196 R 95.1 0.0 0:11.84 loop
| 2335 mingo 39 19 1576 244 196 R 3.1 0.0 0:00.39 loop
3.1% is 3067% more than 95.1%, and the ratio is 1:30.67. You again deny
above that this is the case, and there's nothing i can do about your
denial of facts - that is your own private problem.
Ingo
^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [PATCH] CFS: Fix missing digit off in wmult table
2007-07-16 22:29 ` Ingo Molnar
@ 2007-07-17 0:02 ` Roman Zippel
2007-07-17 3:20 ` Roman Zippel
0 siblings, 1 reply; 43+ messages in thread
From: Roman Zippel @ 2007-07-17 0:02 UTC (permalink / raw)
To: Ingo Molnar
Cc: Matt Mackall, James Bruce, Thomas Gleixner, Mike Galbraith,
Linus Torvalds, Andi Kleen, Andrew Morton, linux-kernel,
Arjan van de Ven, Chris Wright
Hi,
On Tue, 17 Jul 2007, Ingo Molnar wrote:
> * Roman Zippel <zippel@linux-m68k.org> wrote:
>
> > Hi,
> >
> > On Mon, 16 Jul 2007, Ingo Molnar wrote:
> >
> > > and note that even on the old scheduler, nice-0 was "3200% more
> > > powerful" than nice +19 (with CONFIG_HZ=300),
> >
> > How did you get that value? At any HZ the ratio should be around 1:10
> > (+- rounding error).
>
> you are wrong again. I sent you the numbers earlier today already:
>
> | PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
> | 2332 mingo 25 0 1580 248 196 R 95.1 0.0 0:11.84 loop
> | 2335 mingo 39 19 1576 244 196 R 3.1 0.0 0:00.39 loop
>
> 3.1% is 3067% more than 95.1%, and the ratio is 1:30.67. You again deny
> above that this is the case, and there's nothing i can do about your
> denial of facts - that is your own private problem.
Ingo, how am I supposed to react to this? I'm asking a simple question
and I get this? I'm at serious loss how to deal with you. :-(
Above is based on theoritical values, for a 300HZ kernel these two
processes should get 30 and 3 ticks. Should there be any rounding error or
off by one error so that the processes get one tick less than they should
get or one tick is accounted to the wrong process, my theoritical value is
still within the possible error range and doesn't contradict your
practical values.
Playing around with some other nice levels, confirms the theory that
something is a little off, so I'm quite correct at saying that the ratio
_should_ be 1:10.
OTOH you are the one who is wrong about me (again). :-(
bye, Roman
^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [PATCH] CFS: Fix missing digit off in wmult table
2007-07-17 0:02 ` Roman Zippel
@ 2007-07-17 3:20 ` Roman Zippel
2007-07-17 8:02 ` Ingo Molnar
0 siblings, 1 reply; 43+ messages in thread
From: Roman Zippel @ 2007-07-17 3:20 UTC (permalink / raw)
To: Ingo Molnar
Cc: Matt Mackall, James Bruce, Thomas Gleixner, Mike Galbraith,
Linus Torvalds, Andi Kleen, Andrew Morton, linux-kernel,
Arjan van de Ven, Chris Wright
Hi,
On Tue, 17 Jul 2007, I wrote:
> Playing around with some other nice levels, confirms the theory that
> something is a little off, so I'm quite correct at saying that the ratio
> _should_ be 1:10.
Rechecking everything there was actually a small error in my test program,
so the ratio should be at 1:20. Sorry about that mistake.
Nice level 19 shows the largest artifacts, as that level only gets a
single tick, so the ratio is often 1:HZ/10 (except for 1000HZ where it's
5:100). Nevertheless it's still true that in general nice levels were
independent of HZ (that's all I wanted to say a couple of mails ago).
Ingo, you can start now gloating, but contrary to you I have no problems
with admitting mistakes and apologizing for them. The point is just that
I'm reacting better to factual arguments instead of flames (and I think
it's not just me), so I'm pretty sure I'm still correct about this:
> OTOH you are the one who is wrong about me (again). :-(
bye, Roman
^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [PATCH] CFS: Fix missing digit off in wmult table
2007-07-17 3:20 ` Roman Zippel
@ 2007-07-17 8:02 ` Ingo Molnar
2007-07-17 14:06 ` Roman Zippel
0 siblings, 1 reply; 43+ messages in thread
From: Ingo Molnar @ 2007-07-17 8:02 UTC (permalink / raw)
To: Roman Zippel
Cc: Matt Mackall, James Bruce, Thomas Gleixner, Mike Galbraith,
Linus Torvalds, Andi Kleen, Andrew Morton, linux-kernel,
Arjan van de Ven, Chris Wright
* Roman Zippel <zippel@linux-m68k.org> wrote:
> Nice level 19 shows the largest artifacts, as that level only gets a
> single tick, so the ratio is often 1:HZ/10 (except for 1000HZ where
> it's 5:100). [...]
Roman, please do me a favor, and ask me the following question:
" Ingo, you've been maintaining the scheduler for years. In fact you
wrote the old nice code we are talking about here. You changed it a
number of times since then. So you really know what's going on here.
Why does the old nice code behave like that for nice +19 levels? "
I've been waiting for that obvious question, and i _might_ be able to
answer it, but somehow it never occured to you ;-) Thanks,
Ingo
^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [PATCH] CFS: Fix missing digit off in wmult table
2007-07-17 8:02 ` Ingo Molnar
@ 2007-07-17 14:06 ` Roman Zippel
2007-07-18 10:40 ` Ingo Molnar
0 siblings, 1 reply; 43+ messages in thread
From: Roman Zippel @ 2007-07-17 14:06 UTC (permalink / raw)
To: Ingo Molnar
Cc: Matt Mackall, James Bruce, Thomas Gleixner, Mike Galbraith,
Linus Torvalds, Andi Kleen, Andrew Morton, linux-kernel,
Arjan van de Ven, Chris Wright
Hi,
On Tue, 17 Jul 2007, Ingo Molnar wrote:
> Roman, please do me a favor, and ask me the following question:
>
> " Ingo, you've been maintaining the scheduler for years. In fact you
> wrote the old nice code we are talking about here. You changed it a
> number of times since then. So you really know what's going on here.
> Why does the old nice code behave like that for nice +19 levels? "
>
> I've been waiting for that obvious question, and i _might_ be able to
> answer it, but somehow it never occured to you ;-) Thanks,
Do you have any idea how insulting and arrogant this is?
Let me translate for you, how this arrived:
"O Ingo, who art our god of the scheduler. You have blessed the paths I
walked in. You kept me from sinning numerous times. Your wisdom is
infinite. Guide me on the journey that layeth ahead of me into this world
knowledge of Your truth."
(I apologize already in advance, if I should have hurt anyones religious
feelings.)
It's obvious that you have more experience with the scheduler code, but
does that make you unfailable? Does that give you the right to act like a
jerk?
I do make mistakes, I try to learn from them and life goes on, I have no
problem with that, but what I have a problem with is if someone is abusing
this to his own advantage. I have to be extremely carful what I say to
you, because you jump on the first small mistake and I have to bear your
insults like "there's nothing i can do about your denial of facts - that
is your own private problem." I have no problems with facts, I'm only
trying very hard to ignore your arrogant behaviour...
If you have something to contribute to this discussion which might clear
things up, then just say it, but I'm not going to beg for it.
bye, Roman
^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [PATCH] CFS: Fix missing digit off in wmult table
2007-07-17 14:06 ` Roman Zippel
@ 2007-07-18 10:40 ` Ingo Molnar
2007-07-18 12:40 ` Roman Zippel
0 siblings, 1 reply; 43+ messages in thread
From: Ingo Molnar @ 2007-07-18 10:40 UTC (permalink / raw)
To: Roman Zippel
Cc: Matt Mackall, James Bruce, Thomas Gleixner, Mike Galbraith,
Linus Torvalds, Andi Kleen, Andrew Morton, linux-kernel,
Arjan van de Ven, Chris Wright
* Roman Zippel <zippel@linux-m68k.org> wrote:
> On Tue, 17 Jul 2007, Ingo Molnar wrote:
>
> > Roman, please do me a favor, and ask me the following question:
> >
> > " Ingo, you've been maintaining the scheduler for years. In fact you
> > wrote the old nice code we are talking about here. You changed it a
> > number of times since then. So you really know what's going on here.
> > Why does the old nice code behave like that for nice +19 levels? "
> >
> > I've been waiting for that obvious question, and i _might_ be able
> > to answer it, but somehow it never occured to you ;-) Thanks,
[...]
> It's obvious that you have more experience with the scheduler code,
> but does that make you unfailable? [...]
Roman, it is really not about 'experience', and yes, we all make
frequent mistakes.
it's about the plain fact that i happened to write _both_ the old and
the new code you were talking about all along. In this discussion about
nice levels you were (very) agressively asserting things that were
untrue, you were suggesting that i dont understand the code, instead of
simply asking me why the code was written in such a way and what the
motivation behind it was. I'd be glad to attempt to answer such a
friendly question, if you are interested in asking it and if you are
interested in my answer. Thanks,
Ingo
^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [PATCH] CFS: Fix missing digit off in wmult table
2007-07-18 10:40 ` Ingo Molnar
@ 2007-07-18 12:40 ` Roman Zippel
2007-07-18 16:17 ` Ingo Molnar
0 siblings, 1 reply; 43+ messages in thread
From: Roman Zippel @ 2007-07-18 12:40 UTC (permalink / raw)
To: Ingo Molnar
Cc: Matt Mackall, James Bruce, Thomas Gleixner, Mike Galbraith,
Linus Torvalds, Andi Kleen, Andrew Morton, linux-kernel,
Arjan van de Ven, Chris Wright
Hi,
On Wed, 18 Jul 2007, Ingo Molnar wrote:
> > > Roman, please do me a favor, and ask me the following question:
> > >
> > > [insult deleted]
> In this discussion about
> nice levels you were (very) agressively asserting things that were
> untrue,
Instead of simply asserting things, how about you provide some examples?
I made so far a single mistake of mixing up nice levels 18 and 19.
If you would point me to such examples, I could learn how to tone it down
a little, since the nice levels are not the only issue I have with the new
scheduler, the heavy stuff is still about to come. The problem here is
there is too much burnt ground so I can't just present raw ideas, which
get flamed by you, I have to be sufficiently confident they are valid,
what you might then interpret as "agressive assertion".
> you were suggesting that i dont understand the code,
Again, please point me to examples, so I at least have a chance to clear
things up, since it was never my intention to make such a suggestion, but
this gives me no chance to defend myself.
OTOH I can tell you exactly how you continuously insult me, e.g. by
suggesting I ask "stupid questions" or that I'm in "denial of facts".
Don't make such suggestions if you have no idea how insulting they are.
Especially the one deleted insult above where you have the impertinence to
quote it, such tone is more appropriate between lord and inferior, where
the latter have to make a request and the former "might" grant it.
_Never_ make me beg. :-(
bye, Roman
^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [PATCH] CFS: Fix missing digit off in wmult table
2007-07-18 12:40 ` Roman Zippel
@ 2007-07-18 16:17 ` Ingo Molnar
2007-07-20 13:38 ` Roman Zippel
0 siblings, 1 reply; 43+ messages in thread
From: Ingo Molnar @ 2007-07-18 16:17 UTC (permalink / raw)
To: Roman Zippel
Cc: Matt Mackall, James Bruce, Thomas Gleixner, Mike Galbraith,
Linus Torvalds, Andi Kleen, Andrew Morton, linux-kernel,
Arjan van de Ven, Chris Wright
* Roman Zippel <zippel@linux-m68k.org> wrote:
> Don't make such suggestions if you have no idea how insulting they
> are. Especially the one deleted insult above where you have the
> impertinence to quote it, such tone is more appropriate between lord
> and inferior, where the latter have to make a request and the former
> "might" grant it. [...]
uhm, [and the uninterested reader might want to skip to the next mail
;-)], i'm really confused about your reply. Do you really mean this:
> > Roman, please do me a favor, and ask me the following question:
> >
> > " Ingo, you've been maintaining the scheduler for years. In fact you
> > wrote the old nice code we are talking about here. You changed it a
> > number of times since then. So you really know what's going on here.
> > Why does the old nice code behave like that for nice +19 levels? "
> >
> > I've been waiting for that obvious question, and i _might_ be able
> > to answer it, but somehow it never occured to you ;-) Thanks,
the ";-)" emoticon (and its contents) clearly signals this as a
sarcastic, tongue-in-cheek remark. To make it even clearer, please
re-read it with the <sarcastic> tag added as well for clarity:
> > <sarcastic>
> >
> > Roman, please do me a favor, and ask me the following question:
> >
> > " Ingo, you've been maintaining the scheduler for years. In fact you
> > wrote the old nice code we are talking about here. You changed it a
> > number of times since then. So you really know what's going on here.
> > Why does the old nice code behave like that for nice +19 levels? "
> >
> > I've been waiting for that obvious question, and i _might_ be able
> > to answer it, but somehow it never occured to you ;-) Thanks,
> >
> > </sarcastic>
ok? (If you didnt see/read it as sarcastic straight away then my
apologies for insulting you!)
The "_might_ be able to answer" bit is of course sarcastic too, and
contrary to your (i have to say, pretty absurd) suggestion i did not
suggest that i "might be _willing_ to answer" - which would be quite
arrogant indeed and which i never said or suggested. To make it even
clearer: i'm definitely able to answer questions about code i wrote
originally and which i just changed, were you to show genuine interest
in hearing my opinion :-)
Ingo
^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [PATCH] CFS: Fix missing digit off in wmult table
2007-07-18 16:17 ` Ingo Molnar
@ 2007-07-20 13:38 ` Roman Zippel
0 siblings, 0 replies; 43+ messages in thread
From: Roman Zippel @ 2007-07-20 13:38 UTC (permalink / raw)
To: Ingo Molnar
Cc: Matt Mackall, James Bruce, Thomas Gleixner, Mike Galbraith,
Linus Torvalds, Andi Kleen, Andrew Morton, linux-kernel,
Arjan van de Ven, Chris Wright
Hi,
On Wed, 18 Jul 2007, Ingo Molnar wrote:
> > > [more rude insults deleted]
> > > I've been waiting for that obvious question, and i _might_ be able
> > > to answer it, but somehow it never occured to you ;-) Thanks,
>
> the ";-)" emoticon (and its contents) clearly signals this as a
> sarcastic, tongue-in-cheek remark.
To take another example why is this still insulting and inappropriate,
this is a behaviour I would characterize as school bullying:
A bully attacks someone obviously weaker than himself and for example
takes something away and than continues like "If you ask nicely I'll give
it back to you.", this often accompied by laughter to signal he's enjoying
himself and the power he has, but for the other person it's everything but
funny.
Maybe you don't know what it feels like, but I do and I can't find
anything funny, sarcastic or whatever about this, no matter how many
smileys or other tags you add there. If the communication is already that
troubled as this, such "humor" is really the worst thing you can do and I
find it rather sad that you can't realize this yourself.
> ok? (If you didnt see/read it as sarcastic straight away then my
> apologies for insulting you!)
Sorry, that is too little too late. You've apologized before and you
continued to make fun of me personally to the point of spreading wrong
information about me, which you could have very easily verified yourself,
if you only wanted.
What I want from you is that you treat me with respect and to keep your
"sarcasm" to yourself.
I told you very clearly how I think about you requoting this crap and yet
you repeat it again _twice_, so on the one hand I get this apology attempt
and on the other hand you continue to kick me in the crotch? How do you
think am I supposed to feel about this?
It's also always interesting what you don't respond to. I asked you for
examples which would prove the (rather strong) assertions you made about
me, what does it tell me now if you can't back up your statements?
bye, Roman
^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [PATCH] CFS: Fix missing digit off in wmult table
2007-07-16 20:31 ` Matt Mackall
2007-07-16 21:18 ` Ingo Molnar
@ 2007-07-16 21:25 ` Roman Zippel
2007-07-17 7:53 ` Ingo Molnar
1 sibling, 1 reply; 43+ messages in thread
From: Roman Zippel @ 2007-07-16 21:25 UTC (permalink / raw)
To: Matt Mackall
Cc: Ingo Molnar, James Bruce, Thomas Gleixner, Mike Galbraith,
Linus Torvalds, Andi Kleen, Andrew Morton, linux-kernel,
Arjan van de Ven, Chris Wright
Hi,
On Mon, 16 Jul 2007, Matt Mackall wrote:
> > It's nice that these artifacts are gone, but that still doesn't explain
> > why this ratio had to be increase that much from around 1:10 to 1:69.
>
> More dynamic range is better? If you actually want a task to get 20x
> the CPU time of another, the older scheduler doesn't really allow it.
You can already have that, the complete range level from 19 to -20 was
about 1:80.
There is also something like too much range, I tried it with top at 19 and
as soon as something runs at -20 it's practically dead, because it gets
now only 1/5900 of cpu time.
bye, Roman
^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [PATCH] CFS: Fix missing digit off in wmult table
2007-07-16 21:25 ` Roman Zippel
@ 2007-07-17 7:53 ` Ingo Molnar
2007-07-17 15:12 ` Roman Zippel
0 siblings, 1 reply; 43+ messages in thread
From: Ingo Molnar @ 2007-07-17 7:53 UTC (permalink / raw)
To: Roman Zippel
Cc: Matt Mackall, James Bruce, Thomas Gleixner, Mike Galbraith,
Linus Torvalds, Andi Kleen, Andrew Morton, linux-kernel,
Arjan van de Ven, Chris Wright
* Roman Zippel <zippel@linux-m68k.org> wrote:
> > > It's nice that these artifacts are gone, but that still doesn't
> > > explain why this ratio had to be increase that much from around
> > > 1:10 to 1:69.
> >
> > More dynamic range is better? If you actually want a task to get 20x
> > the CPU time of another, the older scheduler doesn't really allow
> > it.
>
> You can already have that, the complete range level from 19 to -20 was
> about 1:80.
But that is irrelevant: all tasks start out at nice 0, and what matters
is the dynamic range around 0.
So the dynamic range has been made uniform in the positive from
1:10...1:20...1:30 to 1:69 for nice +19, and from 1:8 to 1:69 in the
minus. (with 1:86 nice -20) If you look at the negative nice levels
alone it's a substantial increase but if you compare it with positive
nice levels you'll similar kinds of dynamic ranges were already present
in the old scheduler and you'll see why we've done it.
Negative nice levels are admin-controlled, the increase in the negative
levels is is not a big issue and people actually like the increased
dynamic range and the consistency. The positive range _might_ be a
bigger issue but there we were largely inconsistent anyway, and again,
people like the increased dynamic range.
Ingo
^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [PATCH] CFS: Fix missing digit off in wmult table
2007-07-17 7:53 ` Ingo Molnar
@ 2007-07-17 15:12 ` Roman Zippel
0 siblings, 0 replies; 43+ messages in thread
From: Roman Zippel @ 2007-07-17 15:12 UTC (permalink / raw)
To: Ingo Molnar
Cc: Matt Mackall, James Bruce, Thomas Gleixner, Mike Galbraith,
Linus Torvalds, Andi Kleen, Andrew Morton, linux-kernel,
Arjan van de Ven, Chris Wright
Hi,
On Tue, 17 Jul 2007, Ingo Molnar wrote:
> * Roman Zippel <zippel@linux-m68k.org> wrote:
>
> > > > It's nice that these artifacts are gone, but that still doesn't
> > > > explain why this ratio had to be increase that much from around
> > > > 1:10 to 1:69.
> > >
> > > More dynamic range is better? If you actually want a task to get 20x
> > > the CPU time of another, the older scheduler doesn't really allow
> > > it.
> >
> > You can already have that, the complete range level from 19 to -20 was
> > about 1:80.
>
> But that is irrelevant: all tasks start out at nice 0, and what matters
> is the dynamic range around 0.
>
> So the dynamic range has been made uniform in the positive from
> 1:10...1:20...1:30 to 1:69 for nice +19, and from 1:8 to 1:69 in the
> minus. (with 1:86 nice -20) If you look at the negative nice levels
> alone it's a substantial increase but if you compare it with positive
> nice levels you'll similar kinds of dynamic ranges were already present
> in the old scheduler and you'll see why we've done it.
So let's look at them:
for (i=0;i<20;i++) print i, " : ", (20-i)*5, " : ", 100*1.25^-i, " : ", e(l(2)*(-i/5))*100, "\n";
0 : 100 : 100 : 100.00000000000000000000
1 : 95 : 80.00000000000000000000 : 87.05505632961241391300
2 : 90 : 64.00000000000000000000 : 75.78582832551990411700
3 : 85 : 51.20000000000000000000 : 65.97539553864471296900
4 : 80 : 40.96000000000000000000 : 57.43491774985175034000
5 : 75 : 32.76800000000000000000 : 50.00000000000000000000
6 : 70 : 26.21440000000000000000 : 43.52752816480620695700
7 : 65 : 20.97152000000000000000 : 37.89291416275995205900
8 : 60 : 16.77721600000000000000 : 32.98769776932235648400
9 : 55 : 13.42177280000000000000 : 28.71745887492587517000
10 : 50 : 10.73741824000000000000 : 25.00000000000000000000
11 : 45 : 8.58993459200000000000 : 21.76376408240310347800
12 : 40 : 6.87194767360000000000 : 18.94645708137997602900
13 : 35 : 5.49755813888000000000 : 16.49384888466117824200
14 : 30 : 4.39804651110400000000 : 14.35872943746293758500
15 : 25 : 3.51843720888320000000 : 12.50000000000000000000
16 : 20 : 2.81474976710656000000 : 10.88188204120155173900
17 : 15 : 2.25179981368524800000 : 9.47322854068998801400
18 : 10 : 1.80143985094819840000 : 8.24692444233058912100
19 : 5 : 1.44115188075855872000 : 7.17936471873146879200
(nice level : old % : new % : my suggested %)
Your levels divert very quickly from what they used to be (upto a factor
of 7), it's also not really easy to remember what the individual levels
mean.
I at least try to keep them somewhat in the range they used to be (and
the difference is limited to a factor of about 2), also every 5 levels the
amount of cpu time is halved, which is very easy to remember.
If you need more dynamic range, is there a law that prevents us from going
beyond 19? For example:
for (i=20;i<=30;i++) print i, " : ", (20-i)*5, " : ", 100*1.25^-i, " : ", e(l(2)*(-i/5))*100, "\n";
20 : 0 : 1.15292150460684697600 : 6.25000000000000000000
21 : -5 : .92233720368547758000 : 5.44094102060077586900
22 : -10 : .73786976294838206400 : 4.73661427034499400700
23 : -15 : .59029581035870565100 : 4.12346222116529456000
24 : -20 : .47223664828696452100 : 3.58968235936573439600
25 : -25 : .37778931862957161700 : 3.12500000000000000000
26 : -30 : .30223145490365729300 : 2.72047051030038793400
27 : -35 : .24178516392292583400 : 2.36830713517249700300
28 : -40 : .19342813113834066700 : 2.06173111058264728000
29 : -45 : .15474250491067253400 : 1.79484117968286719800
30 : -50 : .12379400392853802700 : 1.56250000000000000000
setpriority() accepts such values without error.
bye, Roman
^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [PATCH] CFS: Fix missing digit off in wmult table
2007-07-16 11:58 ` Roman Zippel
2007-07-16 12:12 ` Ingo Molnar
@ 2007-07-16 17:47 ` Linus Torvalds
2007-07-16 18:12 ` Roman Zippel
2007-07-18 10:27 ` Peter Zijlstra
1 sibling, 2 replies; 43+ messages in thread
From: Linus Torvalds @ 2007-07-16 17:47 UTC (permalink / raw)
To: Roman Zippel
Cc: Ingo Molnar, James Bruce, Thomas Gleixner, Mike Galbraith,
Andrea Arcangeli, Andi Kleen, Andrew Morton, linux-kernel,
Arjan van de Ven, Chris Wright
On Mon, 16 Jul 2007, Roman Zippel wrote:
>
> To illustrate the problem a little different: a task with a nice level -20
> got around 700% more cpu time (or 8 times more), now it gets 8500% more
> cpu time (or 86.7 times more).
Ingo, that _does_ sound excessive.
How about trying a much less aggressive nice-level (and preferably linear,
not exponential)?
Linus
^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [PATCH] CFS: Fix missing digit off in wmult table
2007-07-16 17:47 ` Linus Torvalds
@ 2007-07-16 18:12 ` Roman Zippel
2007-07-18 10:27 ` Peter Zijlstra
1 sibling, 0 replies; 43+ messages in thread
From: Roman Zippel @ 2007-07-16 18:12 UTC (permalink / raw)
To: Linus Torvalds
Cc: Ingo Molnar, James Bruce, Thomas Gleixner, Mike Galbraith,
Andrea Arcangeli, Andi Kleen, Andrew Morton, linux-kernel,
Arjan van de Ven, Chris Wright
Hi,
On Mon, 16 Jul 2007, Linus Torvalds wrote:
> How about trying a much less aggressive nice-level (and preferably linear,
> not exponential)?
I think the exponential increase isn't the problem. The old code did
approximate something like this rather crudely with the result that there
was a big gap between level 0 and -1.
Something like this:
echo 'for (i=-20;i<=20;i++) print i, " : ", 1024*e(l(2)*(-i/20*3)), "\n";' | bc -l
would produce a range similiar to the old code. Replacing the factor 3
with 4 would be IMO a more reasonable increase and had the advantage for
the user that it's easier to understand that every 5 levels the time a
process gets is doubled.
bye, Roman
^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [PATCH] CFS: Fix missing digit off in wmult table
2007-07-16 17:47 ` Linus Torvalds
2007-07-16 18:12 ` Roman Zippel
@ 2007-07-18 10:27 ` Peter Zijlstra
2007-07-18 12:45 ` Roman Zippel
1 sibling, 1 reply; 43+ messages in thread
From: Peter Zijlstra @ 2007-07-18 10:27 UTC (permalink / raw)
To: Linus Torvalds
Cc: Roman Zippel, Ingo Molnar, James Bruce, Thomas Gleixner,
Mike Galbraith, Andrea Arcangeli, Andi Kleen, Andrew Morton,
linux-kernel, Arjan van de Ven, Chris Wright
On Mon, 2007-07-16 at 10:47 -0700, Linus Torvalds wrote:
>
> On Mon, 16 Jul 2007, Roman Zippel wrote:
> >
> > To illustrate the problem a little different: a task with a nice level -20
> > got around 700% more cpu time (or 8 times more), now it gets 8500% more
> > cpu time (or 86.7 times more).
>
> Ingo, that _does_ sound excessive.
>
> How about trying a much less aggressive nice-level (and preferably linear,
> not exponential)?
I actually like the extra range, it allows for a much softer punch of
background tasks even on somewhat slower boxen.
I've been testing CFS on my 1200 MHz lappy for some time and a strongly
niced kbuild leaves a very usable system.
The old scheduler would leave the thing rather jumpy. And while CFS
fully fixes the jumpyness, I just did a nice +13 (which should be
equivalent to the old schedulers nice +19 for my HZ) and did a nice +19
kbuild and I can definitely feel the difference between them.
Early CFS versions had an pretty aggressive nice range (0.1% for +19),
and that has been toned down based on feedback. The current levels seem
to work well, at least on my boxen.
- Peter
^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [PATCH] CFS: Fix missing digit off in wmult table
2007-07-18 10:27 ` Peter Zijlstra
@ 2007-07-18 12:45 ` Roman Zippel
2007-07-18 12:52 ` Peter Zijlstra
0 siblings, 1 reply; 43+ messages in thread
From: Roman Zippel @ 2007-07-18 12:45 UTC (permalink / raw)
To: Peter Zijlstra
Cc: Linus Torvalds, Ingo Molnar, James Bruce, Thomas Gleixner,
Mike Galbraith, Andrea Arcangeli, Andi Kleen, Andrew Morton,
linux-kernel, Arjan van de Ven, Chris Wright
Hi,
On Wed, 18 Jul 2007, Peter Zijlstra wrote:
> I actually like the extra range, it allows for a much softer punch of
> background tasks even on somewhat slower boxen.
The extra range is not really a problem, in
http://www.ussg.iu.edu/hypermail/linux/kernel/0707.2/0850.html
I suggested how we can have both.
bye, Roman
^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [PATCH] CFS: Fix missing digit off in wmult table
2007-07-18 12:45 ` Roman Zippel
@ 2007-07-18 12:52 ` Peter Zijlstra
2007-07-18 12:59 ` Ingo Molnar
` (2 more replies)
0 siblings, 3 replies; 43+ messages in thread
From: Peter Zijlstra @ 2007-07-18 12:52 UTC (permalink / raw)
To: Roman Zippel
Cc: Linus Torvalds, Ingo Molnar, James Bruce, Thomas Gleixner,
Mike Galbraith, Andrea Arcangeli, Andi Kleen, Andrew Morton,
linux-kernel, Arjan van de Ven, Chris Wright
On Wed, 2007-07-18 at 14:45 +0200, Roman Zippel wrote:
> Hi,
>
> On Wed, 18 Jul 2007, Peter Zijlstra wrote:
>
> > I actually like the extra range, it allows for a much softer punch of
> > background tasks even on somewhat slower boxen.
>
> The extra range is not really a problem, in
>
> http://www.ussg.iu.edu/hypermail/linux/kernel/0707.2/0850.html
>
> I suggested how we can have both.
By breaking the UNIX model of nice levels. Not an option in my book.
^ permalink raw reply [flat|nested] 43+ messages in thread* Re: [PATCH] CFS: Fix missing digit off in wmult table
2007-07-18 12:52 ` Peter Zijlstra
@ 2007-07-18 12:59 ` Ingo Molnar
2007-07-18 13:07 ` Roman Zippel
2007-07-18 13:26 ` Roman Zippel
2 siblings, 0 replies; 43+ messages in thread
From: Ingo Molnar @ 2007-07-18 12:59 UTC (permalink / raw)
To: Peter Zijlstra
Cc: Roman Zippel, Linus Torvalds, James Bruce, Thomas Gleixner,
Mike Galbraith, Andrea Arcangeli, Andi Kleen, Andrew Morton,
linux-kernel, Arjan van de Ven, Chris Wright
* Peter Zijlstra <peterz@infradead.org> wrote:
> On Wed, 2007-07-18 at 14:45 +0200, Roman Zippel wrote:
> > Hi,
> >
> > On Wed, 18 Jul 2007, Peter Zijlstra wrote:
> >
> > > I actually like the extra range, it allows for a much softer punch of
> > > background tasks even on somewhat slower boxen.
> >
> > The extra range is not really a problem, in
> >
> > http://www.ussg.iu.edu/hypermail/linux/kernel/0707.2/0850.html
> >
> > I suggested how we can have both.
>
> By breaking the UNIX model of nice levels. Not an option in my book.
yeah, that's pretty much out of question.
Ingo
^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [PATCH] CFS: Fix missing digit off in wmult table
2007-07-18 12:52 ` Peter Zijlstra
2007-07-18 12:59 ` Ingo Molnar
@ 2007-07-18 13:07 ` Roman Zippel
2007-07-18 13:27 ` Peter Zijlstra
2007-07-18 13:48 ` Ingo Molnar
2007-07-18 13:26 ` Roman Zippel
2 siblings, 2 replies; 43+ messages in thread
From: Roman Zippel @ 2007-07-18 13:07 UTC (permalink / raw)
To: Peter Zijlstra
Cc: Linus Torvalds, Ingo Molnar, James Bruce, Thomas Gleixner,
Mike Galbraith, Andrea Arcangeli, Andi Kleen, Andrew Morton,
linux-kernel, Arjan van de Ven, Chris Wright
Hi,
On Wed, 18 Jul 2007, Peter Zijlstra wrote:
> By breaking the UNIX model of nice levels. Not an option in my book.
Breaking user expectations of nice levels is?
bye, Roman
^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [PATCH] CFS: Fix missing digit off in wmult table
2007-07-18 13:07 ` Roman Zippel
@ 2007-07-18 13:27 ` Peter Zijlstra
2007-07-18 13:58 ` Roman Zippel
2007-07-18 13:48 ` Ingo Molnar
1 sibling, 1 reply; 43+ messages in thread
From: Peter Zijlstra @ 2007-07-18 13:27 UTC (permalink / raw)
To: Roman Zippel
Cc: Linus Torvalds, Ingo Molnar, James Bruce, Thomas Gleixner,
Mike Galbraith, Andrea Arcangeli, Andi Kleen, Andrew Morton,
linux-kernel, Arjan van de Ven, Chris Wright
On Wed, 2007-07-18 at 15:07 +0200, Roman Zippel wrote:
> Hi,
>
> On Wed, 18 Jul 2007, Peter Zijlstra wrote:
>
> > By breaking the UNIX model of nice levels. Not an option in my book.
>
> Breaking user expectations of nice levels is?
http://www.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap03.html
specifically:
"3.239 Nice Value
A number used as advice to the system to alter process scheduling.
Numerically smaller values give a process additional preference when
scheduling a process to run. Numerically larger values reduce the
preference and make a process less likely to run. Typically, a process
with a smaller nice value runs to completion more quickly than an
equivalent process with a higher nice value. The symbol {NZERO}
specifies the default nice value of the system."
The only expectation is that a process with a lower nice level gets more
time. Any other expectation is a bug.
^ permalink raw reply [flat|nested] 43+ messages in thread* Re: [PATCH] CFS: Fix missing digit off in wmult table
2007-07-18 13:27 ` Peter Zijlstra
@ 2007-07-18 13:58 ` Roman Zippel
0 siblings, 0 replies; 43+ messages in thread
From: Roman Zippel @ 2007-07-18 13:58 UTC (permalink / raw)
To: Peter Zijlstra
Cc: Linus Torvalds, Ingo Molnar, James Bruce, Thomas Gleixner,
Mike Galbraith, Andrea Arcangeli, Andi Kleen, Andrew Morton,
linux-kernel, Arjan van de Ven, Chris Wright
Hi,
On Wed, 18 Jul 2007, Peter Zijlstra wrote:
> The only expectation is that a process with a lower nice level gets more
> time. Any other expectation is a bug.
Yes, users are buggy, they expect a lot of stupid things...
Is this really reason enough to break this?
What exactly is the damage if setpriority() accepts a few more levels?
bye, Roman
^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [PATCH] CFS: Fix missing digit off in wmult table
2007-07-18 13:07 ` Roman Zippel
2007-07-18 13:27 ` Peter Zijlstra
@ 2007-07-18 13:48 ` Ingo Molnar
2007-07-18 14:14 ` Roman Zippel
1 sibling, 1 reply; 43+ messages in thread
From: Ingo Molnar @ 2007-07-18 13:48 UTC (permalink / raw)
To: Roman Zippel
Cc: Peter Zijlstra, Linus Torvalds, James Bruce, Thomas Gleixner,
Mike Galbraith, Andrea Arcangeli, Andi Kleen, Andrew Morton,
linux-kernel, Arjan van de Ven, Chris Wright
* Roman Zippel <zippel@linux-m68k.org> wrote:
> > By breaking the UNIX model of nice levels. Not an option in my book.
>
> Breaking user expectations of nice levels is?
_changing_ it is an option within reason, and we've done it a couple of
times already in the past, and even within CFS (as Peter correctly
observed) we've been through a couple of iterations already. And as i
mentioned it before, the outer edge of nice levels (+19, by far the most
commonly used nice level) was inconsistent to begin with: 3%, 5%, 9% of
nice-0, depending on HZ. So changing that to a consistent (and
user-requested) 1.5% is a much smaller change than you seem to make it
out to be. CFS itself is a far larger "change of expectations" than this
tweak to nice levels. So by your standard we could never change the
scheduler. (which your ultimate argument might be after all =B-)
Ingo
^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [PATCH] CFS: Fix missing digit off in wmult table
2007-07-18 13:48 ` Ingo Molnar
@ 2007-07-18 14:14 ` Roman Zippel
2007-07-18 16:02 ` Ingo Molnar
0 siblings, 1 reply; 43+ messages in thread
From: Roman Zippel @ 2007-07-18 14:14 UTC (permalink / raw)
To: Ingo Molnar
Cc: Peter Zijlstra, Linus Torvalds, James Bruce, Thomas Gleixner,
Mike Galbraith, Andrea Arcangeli, Andi Kleen, Andrew Morton,
linux-kernel, Arjan van de Ven, Chris Wright
Hi,
On Wed, 18 Jul 2007, Ingo Molnar wrote:
> _changing_ it is an option within reason, and we've done it a couple of
> times already in the past, and even within CFS (as Peter correctly
> observed) we've been through a couple of iterations already. And as i
> mentioned it before, the outer edge of nice levels (+19, by far the most
> commonly used nice level) was inconsistent to begin with: 3%, 5%, 9% of
> nice-0, depending on HZ.
Why do you constantly stress level 19? Yes, that one is special, all other
positive levels were already relatively consistent.
> So changing that to a consistent (and
> user-requested)
How old is CFS and how many users did it have so far? How many users has
the old scheduler, which will be exposed to the new one soon?
> 1.5% is a much smaller change than you seem to make it
> out to be.
The percentage levels are off by a factor of upto _seven_, sorry I fail
see how you can characterize this as "small".
> So by your standard we could never change the
> scheduler. (which your ultimate argument might be after all =B-)
Careful, you make assertion about me, for which you have absolutely no
base, adding a smiley doesn't make this any funnier.
bye, Roman
^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [PATCH] CFS: Fix missing digit off in wmult table
2007-07-18 14:14 ` Roman Zippel
@ 2007-07-18 16:02 ` Ingo Molnar
2007-07-20 15:03 ` Roman Zippel
0 siblings, 1 reply; 43+ messages in thread
From: Ingo Molnar @ 2007-07-18 16:02 UTC (permalink / raw)
To: Roman Zippel
Cc: Peter Zijlstra, Linus Torvalds, James Bruce, Thomas Gleixner,
Mike Galbraith, Andrea Arcangeli, Andi Kleen, Andrew Morton,
linux-kernel, Arjan van de Ven, Chris Wright
* Roman Zippel <zippel@linux-m68k.org> wrote:
> > _changing_ it is an option within reason, and we've done it a couple
> > of times already in the past, and even within CFS (as Peter
> > correctly observed) we've been through a couple of iterations
> > already. And as i mentioned it before, the outer edge of nice levels
> > (+19, by far the most commonly used nice level) was inconsistent to
> > begin with: 3%, 5%, 9% of nice-0, depending on HZ.
>
> Why do you constantly stress level 19? Yes, that one is special, all
> other positive levels were already relatively consistent.
i constantly stress it for the reason i mentioned a good number of
times: because it's by far the most commonly used (and complained about)
nice level. =B-)
but because you are asking, i'm glad to give you some first-hand
historic background about Linux nice levels (in case you are interested)
and the motivations behind their old and new implementations:
nice levels were always so weak under Linux (just read Peter's report)
that people continuously bugged me about making nice +19 tasks use up
much less CPU time. Unfortunately that was not that easy to implement
(otherwise we'd have done it long ago) because nice level support was
historically coupled to timeslice length, and timeslice units were
driven by the HZ tick, so the smallest timeslice was 1/HZ.
In the O(1) scheduler (about 4 years ago) i changed negative nice levels
to be much stronger than they were before in 2.4 (and people were happy
about that change), and i also intentionally calibrated the linear
timeslice rule so that nice +19 level would be _exactly_ 1 jiffy. To
better understand it, the timeslice graph went like this (cheesy ASCII
art alert!):
A
\ | [timeslice length]
\ |
\ |
\ |
\ |
\|___100msecs
|^ . _
| ^ . _
| ^ . _
-*----------------------------------*-----> [nice level]
-20 | +19
|
|
so that if someone wants to really renice tasks, +19 would give a much
bigger hit than the normal linear rule would do. (The solution of
changing the ABI to extend priorities was discarded early on.)
This approach worked to some degree for some time, but later on with
HZ=1000 it caused 1 jiffy to be 1 msec, which meant 0.1% CPU usage which
we felt to be a bit excessive. Excessive _not_ because it's too small of
a CPU utilization, but because it causes too frequent (once per
millisec) rescheduling. (and would thus trash the cache, etc. Remember,
this was 4-5 years ago when hardware was weaker and caches were smaller,
and people were running number crunching apps at nice +19.)
So for HZ=1000 i changed nice +19 to 5msecs, because that felt like the
right minimal granularity - and this translates to 5% CPU utilization.
But the fundamental HZ-sensitive property for nice+19 still remained,
and i never got a single complaint about nice +19 being too _weak_ in
terms of CPU utilization, i only got complaints about it (still) being
way too _strong_.
To sum it up: i always wanted to make nice levels more consistent, but
within the constraints of HZ and jiffies and their nasty design level
coupling to timeslices and granularity it was not really viable.
The second (less frequent but still periodically occuring) complaint
about Linux's nice level support was its assymetry around the origo
(which you can see demonstrated in the picture above), or more
accurately: the fact that nice level behavior depended on the _absolute_
nice level as well, while the nice API itself is fundamentally
"relative":
int nice(int inc);
asmlinkage long sys_nice(int increment)
(the first one is the glibc API, the second one is the syscall API.)
Note that the 'inc' is relative to the current nice level. Tools like
bash's "nice" command mirror this relative API.
With the old scheduler, if you for example started a niced task with +1
and another task with +2, the CPU split between the two tasks would
depend on the nice level of the parent shell - if it was at nice -10 the
CPU split was different than if it was at +5 or +10.
A third complaint against Linux's nice level support was that negative
nice levels were not 'punchy enough', so lots of people had to resort to
run audio (and other multimedia) apps under RT priorities such as
SCHED_FIFO. But this caused other problems: SCHED_FIFO is not starvation
proof, and a buggy SCHED_FIFO app can also lock up the system for good.
CFS addresses all three types of complaints:
To address the first complaint (of nice levels being not "punchy"
enough), i decoupled the scheduler from 'time slice' and HZ concepts
(and made granularity a separate concept from nice levels) and thus CFS
was able to implement better and more consistent nice +19 support: now
in CFS nice +19 tasks get a HZ-independent 1.5%, instead of the variable
3%-5%-9% range they got in the old scheduler.
To address the second complaint (of nice levels not being consistent), i
made nice(1) have the same CPU utilization effect on tasks, regardless
of their absolute nice levels. So on CFS, running a nice +10 and a nice
+11 task has the same CPU utilization "split" between them as running a
nice -5 and a nice -4 task. (one will get 55% of the CPU, the other
45%.) That is why I changed nice levels to be "multiplicative" (or
exponential) - that way it does not matter which nice level you start
out from, the 'relative result' will always be the same.
The third complaint (of negative nice levels not being "punchy" enough
and forcing audio apps to run under the more dangerous SCHED_FIFO
scheduling policy) is addressed by CFS almost automatically: stronger
negative nice levels are an automatic side-effect of the recalibrated
dynamic range of nice levels.
Hope this helps,
Ingo
^ permalink raw reply [flat|nested] 43+ messages in thread* Re: [PATCH] CFS: Fix missing digit off in wmult table
2007-07-18 16:02 ` Ingo Molnar
@ 2007-07-20 15:03 ` Roman Zippel
0 siblings, 0 replies; 43+ messages in thread
From: Roman Zippel @ 2007-07-20 15:03 UTC (permalink / raw)
To: Ingo Molnar
Cc: Peter Zijlstra, Linus Torvalds, James Bruce, Thomas Gleixner,
Mike Galbraith, Andrea Arcangeli, Andi Kleen, Andrew Morton,
linux-kernel, Arjan van de Ven, Chris Wright
Hi,
On Wed, 18 Jul 2007, Ingo Molnar wrote:
> > Why do you constantly stress level 19? Yes, that one is special, all
> > other positive levels were already relatively consistent.
>
> i constantly stress it for the reason i mentioned a good number of
> times: because it's by far the most commonly used (and complained about)
> nice level. =B-)
How do you know that? Most complained about makes most commonly used?
> but because you are asking, i'm glad to give you some first-hand
> historic background about Linux nice levels (in case you are interested)
> and the motivations behind their old and new implementations:
I guess I should be thankful now?
I'm curious why you post this now, after I "asked" about this. Most of the
information is either rather generic or not specific enough for the
problem at hand. If you had posted this information earlier, it had been
far more valueable as it could have been a nice base for a discussion.
But posting it this late I can't lose the feeling you're more interested
in "teaching" me.
> nice levels were always so weak under Linux (just read Peter's report)
-ENOLINK
> Hope this helps,
Not completely.
For negative nice levels you mentioned audio apps, but these aren't really
interested in a fair share, they would use the higher percentage only to
guarantee they get the amount of time they need independent of the
current load. I think they would be better served with e.g. a deadline
scheduler, which guarantees them an absolute time share not a relative
one.
On the other end with positive levels I more remember requests for
something closer to idle scheduling, where a process only runs when
nothing else is running.
So assuming we had scheduling classes for the above use cases, what other
reasons are left for such extreme nice levels?
My proposed nice levels have otherwise the same properties as yours (e.g.
being consistent). There is one propery you haven't commented on at all
yet. My proposed levels give the average use a far better idea what they
actually mean, i.e. that every 5 levels the process gets double/halve the
cpu time. This is IMO a considerable advantage.
bye, Roman
^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [PATCH] CFS: Fix missing digit off in wmult table
2007-07-18 12:52 ` Peter Zijlstra
2007-07-18 12:59 ` Ingo Molnar
2007-07-18 13:07 ` Roman Zippel
@ 2007-07-18 13:26 ` Roman Zippel
2007-07-18 13:31 ` Peter Zijlstra
2 siblings, 1 reply; 43+ messages in thread
From: Roman Zippel @ 2007-07-18 13:26 UTC (permalink / raw)
To: Peter Zijlstra
Cc: Linus Torvalds, Ingo Molnar, James Bruce, Thomas Gleixner,
Mike Galbraith, Andrea Arcangeli, Andi Kleen, Andrew Morton,
linux-kernel, Arjan van de Ven, Chris Wright
Hi,
On Wed, 18 Jul 2007, Peter Zijlstra wrote:
> By breaking the UNIX model of nice levels. Not an option in my book.
BTW what is the "UNIX model of nice levels"?
SUS specifies the limit via NZERO, which is defined as "Minimum Acceptable
Value: 20", I can't find any information that it must be 20.
bye, Roman
^ permalink raw reply [flat|nested] 43+ messages in thread
* Re: [PATCH] CFS: Fix missing digit off in wmult table
2007-07-18 13:26 ` Roman Zippel
@ 2007-07-18 13:31 ` Peter Zijlstra
0 siblings, 0 replies; 43+ messages in thread
From: Peter Zijlstra @ 2007-07-18 13:31 UTC (permalink / raw)
To: Roman Zippel
Cc: Linus Torvalds, Ingo Molnar, James Bruce, Thomas Gleixner,
Mike Galbraith, Andrea Arcangeli, Andi Kleen, Andrew Morton,
linux-kernel, Arjan van de Ven, Chris Wright
On Wed, 2007-07-18 at 15:26 +0200, Roman Zippel wrote:
> Hi,
>
> On Wed, 18 Jul 2007, Peter Zijlstra wrote:
>
> > By breaking the UNIX model of nice levels. Not an option in my book.
>
> BTW what is the "UNIX model of nice levels"?
>
> SUS specifies the limit via NZERO, which is defined as "Minimum Acceptable
> Value: 20", I can't find any information that it must be 20.
I have never encountered a UNIX where it is anything other than 20.
Convention (alas not specification) does dictate 20.
^ permalink raw reply [flat|nested] 43+ messages in thread
end of thread, other threads:[~2007-07-20 15:04 UTC | newest]
Thread overview: 43+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-07-16 14:44 [PATCH] CFS: Fix missing digit off in wmult table Al Boldi
-- strict thread matches above, loose matches on Subject: below --
2007-07-10 8:31 -mm merge plans for 2.6.23 Andrew Morton
2007-07-11 12:43 ` x86 status was " Andi Kleen
2007-07-11 17:42 ` Ingo Molnar
2007-07-11 21:16 ` Andi Kleen
2007-07-11 21:46 ` Andrea Arcangeli
2007-07-11 22:09 ` Linus Torvalds
2007-07-13 2:23 ` Roman Zippel
2007-07-13 4:47 ` Mike Galbraith
2007-07-13 17:23 ` Roman Zippel
2007-07-13 19:43 ` [PATCH] CFS: Fix missing digit off in wmult table Thomas Gleixner
2007-07-16 6:18 ` James Bruce
2007-07-16 7:06 ` Ingo Molnar
2007-07-16 7:41 ` Ingo Molnar
2007-07-16 15:02 ` James Bruce
2007-07-16 10:18 ` Roman Zippel
2007-07-16 11:20 ` Ingo Molnar
2007-07-16 11:58 ` Roman Zippel
2007-07-16 12:12 ` Ingo Molnar
2007-07-16 12:42 ` Roman Zippel
2007-07-16 13:40 ` Ingo Molnar
2007-07-16 14:01 ` Roman Zippel
2007-07-16 20:31 ` Matt Mackall
2007-07-16 21:18 ` Ingo Molnar
2007-07-16 22:13 ` Roman Zippel
2007-07-16 22:29 ` Ingo Molnar
2007-07-17 0:02 ` Roman Zippel
2007-07-17 3:20 ` Roman Zippel
2007-07-17 8:02 ` Ingo Molnar
2007-07-17 14:06 ` Roman Zippel
2007-07-18 10:40 ` Ingo Molnar
2007-07-18 12:40 ` Roman Zippel
2007-07-18 16:17 ` Ingo Molnar
2007-07-20 13:38 ` Roman Zippel
2007-07-16 21:25 ` Roman Zippel
2007-07-17 7:53 ` Ingo Molnar
2007-07-17 15:12 ` Roman Zippel
2007-07-16 17:47 ` Linus Torvalds
2007-07-16 18:12 ` Roman Zippel
2007-07-18 10:27 ` Peter Zijlstra
2007-07-18 12:45 ` Roman Zippel
2007-07-18 12:52 ` Peter Zijlstra
2007-07-18 12:59 ` Ingo Molnar
2007-07-18 13:07 ` Roman Zippel
2007-07-18 13:27 ` Peter Zijlstra
2007-07-18 13:58 ` Roman Zippel
2007-07-18 13:48 ` Ingo Molnar
2007-07-18 14:14 ` Roman Zippel
2007-07-18 16:02 ` Ingo Molnar
2007-07-20 15:03 ` Roman Zippel
2007-07-18 13:26 ` Roman Zippel
2007-07-18 13:31 ` Peter Zijlstra
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox