All of lore.kernel.org
 help / color / mirror / Atom feed
* -mm merge plans for 2.6.21
@ 2007-02-08 23:07 Andrew Morton
  2007-02-08 23:12 ` Roland Dreier
                   ` (9 more replies)
  0 siblings, 10 replies; 65+ messages in thread
From: Andrew Morton @ 2007-02-08 23:07 UTC (permalink / raw)
  To: linux-kernel


I'm getting fed up of holding onto hundreds of patches against subsystem
trees, sending them over and over again seeing and nothing happen.  I sent 242
patches out to subsystem maintainers on Monday and look at what's still here.



rtc-pcf8563-detect-polarity-of-century-bit-automatically.patch
ufs-restore-back-support-of-openstep.patch
hugetlb-preserve-hugetlb-pte-dirty-state.patch
md-fix-various-bugs-with-aligned-reads-in-raid5.patch
knfsd-fix-a-race-in-closing-nfsd-connections.patch
md-avoid-possible-bug_on-in-md-bitmap-handling.patch
v9fs_vfs_mkdir-fix-a-double-free.patch
enable-mouse-button-23-emulation-for-x86-macs.patch
mm-show-bounce-pages-in-oom-killer-output.patch
add-install_special_mapping.patch
i386-vdso-use-install_special_mapping.patch
x86_64-ia32-vdso-use-install_special_mapping.patch
powerpc-vdso-use-install_special_mapping.patch
sh-vdso-use-install_special_mappingpatch.patch

  Submitted.

x86-fix-vdso-mapping-for-aout-executables.patch

  a.out executables are presently non-functional.  This patch needs more work.

use-correct-macros-in-raid-code-not-raw-asm.patch
use-correct-macros-in-raid-code-not-raw-asm-include.patch

  -> neilb

acpi-bay-remove-acpi-driver-struct.patch
acpi-bay-driver-warning-fix.patch
acpi-i686-x86_64-fix-laptop-bootup-hang-in-init_acpi.patch
asus_acpi-add-support-for-asus-z81sp.patch
exit-acpi-processor-module-gracefully-if-acpi-is-disabled.patch
toshiba-acpi-use-array_size-macro-when-appropriate.patch
ifdef-acpi_future_usage-acpi_os_readable.patch

  -> lenb

agpgart-allow-drm-populated-agp-memory-types-tidy.patch

  -> davej

arm-imx-serial-fix-tx-buffer-overflows.patch
arm-imx-serial-fix-irq-allocation.patch
amba-pl010-add-reference-to-ep93xx-to-kconfig-help-entry.patch
at91-correct-value-for-at91_rstc_key.patch
arch-arm-use-array_size-macro-when-appropriate.patch

  -> rmk

avr32-fix-build-breakage.patch
arch-avr32-use-array_size-macro-when-appropriate.patch

  -> hskinnemoen

remove-hotplug-cpu-crap-from-cpufreq.patch
rewrite-lock-in-cpufreq-to-eliminate-cpufreq-hotplug-related-issues.patch
ondemand-governor-restructure-the-work-callback.patch
ondemand-governor-use-new-cpufreq-rwsem-locking-in-work-callback.patch
cpu_freq_table-shouldnt-be-a-def_tristate.patch

  -> davej

powerpc-rtas-msi-support.patch

  -> paulus, I guess.  The MSI people still need to argue about this.

fix-gregkh-driver-sys-modules-holders.patch
kobject-kobj-k_name-verification-fix.patch
spider-fix-gregkh-driver-network-device.patch
driver-core-per-subsystem-multithreaded-probing.patch
powerpc-make-it-compile.patch
driver-core-dont-fail-attaching-the-device-if-it.patch
fix-warning-in-device_add_attrs.patch

  -> gregkh

drivers-char-drm-drm_mmc-remove-unused-exports.patch
update-readmedrm-bugzilla-7933.patch
drm-use-array_size-macro-when-appropriate.patch

  -> airlied

avoid-race-when-deregistering-the-ir-control-for-dvb-usb.patch
kthread-api-conversion-for-dvb_frontend-and-av7110.patch
kthread-api-conversion-for-dvb_frontend-and-av7110-fix.patch

  -> mchehab

i2c-tsl2550-support.patch

  -> khali

infiniband-work-around-gcc-bug-on-sparc64.patch
ehca-fix-memleak-on-module-unloading.patch

  -> roland

crash-on-evdev-disconnect.patch
change-incorrect-config_input_atixl-to-config_mouse_atixl.patch
hil-small-fix.patch
wistron-button-support-for-fujitsu-siemens-amilo-d88x0.patch
setstream-param-for-psmouse.patch
input-schedule-removal-of-compaq-touchscreen.patch

  -> dtor

search-a-little-harder-for-mkimage.patch
make-mkcompile_h-use-lang=c-and-lc_all=c-for-cc-v.patch
add-mailmap-for-proper-git-shortlog-output.patch
qconf-immediately-update-integer-and-string-values-in-xconfig-display-take-2.patch
qconf-relocate-search-command.patch
qconf-fix-showing-help-info-on-failed-search.patch
qconf-back-button-behaviour-normalization.patch
kbuild-remove-references-to-deprecated-prepare-all-target.patch
new-toplevel-target-headers_check_all.patch

  kbuild stuff.  Will merge.

sis-warning-fixes.patch
libata-add-a-host-flag-to-indicate-lack-of-iordy.patch
git-libata-all-lib-iomapc-fix-for-config_pci=n.patch

  -> jeff

libata-fix-hopefully-all-the-remaining-problems-with.patch

  Hold.

git-md-accel-fixes.patch
git-md-accel-warning-fixes.patch

  -> dan.j.williams

mips-eisa-registration-with-config_eisa.patch
mips-turbochannel-update-to-the-driver-model.patch
mips-turbochannel-update-to-the-driver-model-fix.patch
mips-turbochannel-support-for-the-decstation.patch
mips-pmag-ba-fb-convert-to-the-driver-model.patch
mips-pmagb-b-fb-convert-to-the-driver-model.patch
mips-dec_esp-driver-model-for-the-pmaz-a.patch
mips-remove-smp_tune_scheduling.patch

  umm, not sure.  I thought Ralf was going to merge these but he got shy. 
  They'll get into 2.6.21 somehow.

mtd_ck804xrom-must-depend-on-pci.patch
mtd-add-missing-kernel-doc-item.patch

  -> dwmw2

8139too-force-media-setting-fix.patch
sundance-change-phy-address-search-from-phy=1-to-phy=0.patch
user-of-the-jiffies-rounding-code-e1000.patch
revert-drivers-net-tulip-dmfe-support-basic-carrier-detection.patch

  -> jeff

3x59x-fix-pci-resource-management.patch
update-smc91x-driver-with-arm-versatile-board-info.patch
drivers-net-ns83820c-add-paramter-to-disable-auto.patch
natsemi-add-support-for-using-mii-port-with-no-phy.patch

 Hold.

tulip-fix-shutdown-dma-irq-race.patch
tulip-fix-for-64-bit-mips.patch
tulip-natsemi-dp83840a-phy-fix.patch

 -> val_henson

atm-use-array_size-macro-when-appropriate.patch

 -> davem

ioat-warning-fix.patch
fix-i-oat-for-kexec.patch

 -> christopher.leech

auth_gss-unregister-gss_domain-when-unloading-module.patch
nfs-kill-the-obsolete-nfs_paranoia.patch
nfs-fix-congestion-control-v4.patch

 -> trond.myklebust

parisc-fix-module_param-iommu-permission.patch
pa-risc-fix-bogus-warnings-from-modpost.patch
use-__u64-rather-than-u64-in-parisc-statfs-structs.patch

 -> kyle

remove-useless-find_first_bit-macro-from-cardbusc.patch

 -> Dominik

r8169-warning-fixes.patch

 -> romieu

8250-uart-backup-timer.patch
serial-trivial-code-flow-simplification.patch
make-sure-uart-is-powered-up-when-dumping-mctrl-status.patch
perle-multimodem-card-pci-ras-detection.patch
serial-replace-kmallocmemset-with-kzalloc.patch
fix-pnx8550-serial-breakage.patch
pnx8550-uart-driver.patch
pnx8550-uart-driver-fixes.patch
8250-make-probing-for-txen-bug-a-config-option.patch

 argh, serial patches.  I'll rereview these and will likely submit most or
 all of them.

make-cardbus_mem_size-and-cardbus_io_size-boot-options.patch
bugfixes-pci-devices-get-assigned-redundant-irqs.patch
pci-add-systems-for-automatic-breadth-first-device-sorting.patch
pci-add-systems-for-automatic-breadth-first-device-sorting-update.patch

 -> greg

pci-device-ensure-sysdata-initialised-v2.patch
x86-fix-dev_to_node-for-x86-and-x86_64.patch

 -> jeff

s390-kmalloc-kzalloc-casting-cleanups.patch
s390-drivers-use-array_size-macro-when-appropriate.patch

 -> schwidefsky

drivers-scsi-small-cleanups.patch
drivers-scsi-advansysc-cleanups.patch
megaraid-fix-warnings-when-config_proc_fs=n.patch
remove-unnecessary-check-in-drivers-scsi-sgc.patch
remove-extra-newline-from-info-message.patch
fix-scsi-scsi_transporth-compile-error.patch
pci_module_init-convertion-in-the-legacy-megaraid-driver.patch
pci_module_init-convertion-in-tmscsimc.patch
drivers-scsi-dpt_i2oc-remove-dead-code.patch
mpt-fusion-handle-pci-layer-error-on-resume.patch
drivers-scsi-ncr5380c-replacing-yield-with-a.patch
drivers-scsi-megaraidc-replacing-yield-with-a.patch
scsi-whitespace-cleanup-in-the-dpt-driver.patch
drivers-scsi-mca_53c9xc-save_flags-cli-removal.patch
drivers-scsi-aic7xxx-make-functions-static.patch
sym53c8xx_2-claims-cpqarray-device.patch
drivers-scsi-wd33c93c-cleanups.patch
scsi-cover-up-bugs-fix-up-compiler-warnings-in-megaraid-driver.patch
fix-the-reproducible-oops-in-scsi.patch
scsi-handle-bad-inquiry-responses.patch
drivers-scsi-qla4xxx-possible-cleanups.patch
make-seagate_st0x_detect-static.patch
remove-some-unused-scsi-related-kernel-config-variables.patch
scsi-fix-obvious-typo-spin_lock_irqrestore-in-gdthc.patch
drivers-scsi-aacraid-cleanups.patch
scsi-megaraid_sas-stop-cmd-processing-if.patch
scsi-megaraid_sas-added-bios_param-in.patch
scsi-megaraid_sas-throttle-io-if-fw-is-busy.patch
scsi-megaraid_sas-update-version-and-author-info.patch

 -> James.Bottomley

git-block-dupe-definitions.patch
git-block-xfs-barriers-broke.patch

 -> jens.axboe

fix-gregkh-usb-usbcore-remove-unused-bandwith-related-code.patch
fix-gregkh-usb-usb-linux-usb_ch9h-becomes-linux-usb-ch9h.patch
nokia-e70-is-an-unusual-device.patch
usb_rtl8150-must-select-mii.patch
input-hid-add-cidc-usb-device-to-hid-blacklist.patch
usb-mass-storage-us_fl_ignore_residue-needed-for-aiptek-mp3-player.patch
fix-misspelled-usbnet_mii-kernel-config-option.patch
usb-in-init_endpoint_class-use-ptr_err-to-obtain-an-errno-value-not-is_err.patch
fix-apparent-typo-config_usb_cdcether.patch
pl2303-willcom-ws002in-support.patch
use-__u32-rather-than-u32-in-userspace-ioctls-in-usbdevice_fsh.patch
usb-p990i-is-an-unusual-device.patch
usb-fix-concurrent-buffer-access-in-the-hub-driver.patch
ueagle-atmc-needs-schedh.patch

 -> greg

replace-incorrect-macro-name-wireless_ext-with.patch

 -> linville

x86_64-irq-simplfy-__assign_irq_vector.patch
x86_64-irq-handle-irqs-pending-in-irr-during-irq-migration.patch
x86_64-do-not-enable-the-nmi-watchdog-by-default.patch
x86-64-system-crashes-when-no-memory-populating-node-0.patch
mm-set-hashdist_default-to-1-for-x86_64-numa.patch
spin_lock_irq-enable-interrupts-while-spinning-preparatory-patch.patch
spin_lock_irq-enable-interrupts-while-spinning-x86_64-implementation.patch
spin_lock_irq-enable-interrupts-while-spinning-i386-implementation.patch
mmconfig-cleanup.patch
mmconfig-fix-unreachable_devices.patch
#i386-modpost-apic-related-warning-fixes.patch
arch-i386-kernel-alternativec-should-include-asm-bugsh.patch
arch-i386-kernel-alternativec-dont-include-bugsh.patch
i386-probe_roms-cleanup.patch
x86_64-survive-having-no-irq-mapping-for-a-vector-fix.patch
fix-mtrr-compat-ioctl.patch

 -> ak

xfs-remove-useless-wmb-memory-barrier.patch

 -> dcg

slab-remove-broken-pageslab-check-from-kfree_debugcheck.patch
slab-cache-alloc-cleanups.patch
use-parameter-passed-to-cache_reap-to-determine-pointer-to.patch
remove-final-references-to-deprecated-map_anon-page-protection-flag.patch
add-vm_insert_pfn.patch
mm-vm_insert_pfn-tidy.patch
add-nopfn_refault-result-from-vm_ops-nopfn.patch
avoid-excessive-sorting-of-early_node_map.patch
avoid-excessive-sorting-of-early_node_map-tidy.patch
proc-zoneinfo-fix-vm-stats-display.patch
typeof-__page_to_pfn-with-sparsemem=y.patch
page_mkwrite-race-fix.patch
use-zvc-for-inactive-and-active-counts.patch
use-zvc-for-inactive-and-active-counts-up-fix.patch
use-zvc-for-free_pages.patch
use-zvc-for-free_pages-fix.patch
use-zvc-for-free_pages-fix-2.patch
use-zvc-for-free_pages-fix-3.patch
use-zvc-for-free_pages-fix-4.patch
reorder-zvcs-according-to-cacheline.patch
drop-free_pages.patch
drop-free_pages-fix.patch
drop-free_pages-sparc64-fix.patch
drop-nr_free_pages_pgdat.patch
drop-__get_zone_counts.patch
drop-get_zone_counts.patch

 MM.  Will merge.

lumpy-reclaim-v2.patch
lumpy-reclaim-v2-page_to_pfn-fix.patch
lumpy-reclaim-v2-tidy.patch
lumpy-reclaim-cleanup.patch

 Needs more work.

deal-with-cases-of-zone_dma-meaning-the-first-zone.patch
introduce-config_zone_dma.patch
optional-zone_dma-in-the-vm.patch
optional-zone_dma-in-the-vm-no-gfp_dma-check-in-the-slab-if-no-config_zone_dma-is-set.patch
optional-zone_dma-in-the-vm-no-gfp_dma-check-in-the-slab-if-no-config_zone_dma-is-set-reduce-config_zone_dma-ifdefs.patch
optional-zone_dma-in-the-vm-no-gfp_dma-check-in-the-slab-if-no-config_zone_dma-is-set-reduce-config_zone_dma-ifdefs-fix.patch
optional-zone_dma-in-the-vm-tidy.patch
optional-zone_dma-for-ia64.patch
remove-zone_dma-remains-from-parisc.patch
remove-zone_dma-remains-from-sh-sh64.patch
set-config_zone_dma-for-arches-with-generic_isa_dma.patch
zoneid-fix-up-calculations-for-zoneid_pgshift.patch

 barf.  Will probably merge.

simplify-shmem_aopsset_page_dirty-method.patch
convert-ramfs-to-use-__set_page_dirty_no_writeback.patch
do-not-disturb-page-referenced-state-when-unmapping-memory-range.patch

 Will merge.  The third patch here might perturb page aging a bit and needs
 monitoring.

implement-file-posix-capabilities.patch
file-capabilities-dont-do-file-caps-if-mnt_nosuid.patch
file-capabilities-honor-secure_noroot.patch

 I don't know.  Need to poke the security guys again.

make-reading-proc-sys-kernel-cap-bould-not-require.patch

 Will merge.

alpha-increase-percpu_enough_room.patch

 Will merge.

arch-arm26-use-array_size-macro-when-appropriate.patch

 Will merge.

pm-change-code-ordering-in-mainc.patch
swsusp-change-code-ordering-in-diskc.patch
swsusp-change-code-order-in-diskc-fix.patch
swsusp-change-code-ordering-in-userc.patch
swsusp-change-code-ordering-in-userc-sanity.patch
swsusp-change-pm_ops-handling-by-userland-interface.patch
swsusp-change-pm_ops-handling-by-userland-interface-fix.patch

 Will merge

m32r-build-fix-for-processors-without-isa_dsp_level2.patch
m32r-fix-do_page_fault-and-update_mmu_cache.patch
m32r-update-defconfig-files-for-v2619.patch
m32r-fix-kernel-entry-address-of-vmlinux.patch
m32r-cosmetic-updates-and-trivial-fixes.patch

 Will merge.

m68k-work-around-binutils-tokenizer-change.patch
kernel-time-clocksourcec-needs-struct-task_struct-on-m68k.patch
arch-m68knommu-user-array_size-macro-when-appropriate.patch
arch-m68k-user-array_size-macro-when-appropriate.patch
m68k-dont-include-asm-m68k-pageh-in-asm-m68k-userh.patch

 Will merge.

cris-local_irq_disable-is-redundant-after-local_irq_save.patch
cris-turn-local_save_flags-local_irq_disable-into-local_irq_save-in-headers.patch
arch-cris-user-array_size-macro-when-appropriate.patch

 Will merge.

uml-console-locking-fixes.patch
uml-return-hotplug-errors-to-host.patch
uml-console-whitespace-and-comment-tidying.patch
uml-lock-the-irqs_to_free-list.patch
uml-add-locking-to-network-transport-registration.patch
uml-network-driver-whitespace-and-style-fixes.patch
uml-watchdog-driver-locking.patch
uml-watchdog-driver-formatting.patch
uml-audio-driver-locking.patch
uml-audio-driver-formatting.patch
uml-mconsole-locking.patch
uml-make-two-variables-static.patch
uml-port-driver-formatting.patch
uml-kill-a-compilation-warning.patch
uml-network-driver-locking-and-code-cleanup.patch
uml-use-list_head-where-possible.patch
uml-locking-commentary-in-the-random-driver.patch
uml-mostly-const-a-structure.patch
uml-chan_userh-formatting-fices.patch
uml-console-locking-commentary-and-code-cleanup.patch
uml-fix-previous-console-locking.patch
uml-locking-comments-in-iomem-driver.patch
uml-memc-and-physmemc-formatting-fixes.patch
uml-initialize-a-list-head.patch
uml-make-time-data-per-cpu.patch
uml-delete-unused-file.patch
uml-remove-unused-variable-and-function.patch
uml-make-signal-handlers-static.patch
uml-const-a-variable.patch
uml-remove-code-controlled-by-non-existent-config-option.patch
uml-add-per-device-queues-and-locks-to-ubd-driver.patch
uml-locking-fixes-in-the-ubd-driver.patch
uml-locking-comments-in-memory-and-tempfile-code.patch
uml-locking-comments-in-startup-code.patch
uml-style-fixes-in-startup-code.patch
uml-libc-dependent-code-should-call-libc-directly.patch
uml-fix-style-violations.patch
uml-fix-apparent-config_64_bit-typo.patch
uml-irq-handler-tidying.patch
uml-sigio-locking-comment.patch
uml-sigio-formatting-fixes.patch
uml-umid-tidying.patch
uml-elf-locking-commentary.patch
uml-register-handling-formatting-fixes.patch
uml-aio-locking-and-tidying.patch

 Will merge.

arch-v850-user-array_size-macro-when-appropriate.patch

 Will merge.

deprecate-smbfs-in-favour-of-cifs.patch
deprecate-smbfs-in-favour-of-cifs-docs.patch

 Will re-poll sfrench.  Probably no-merge.

drivers-add-lcd-support-3.patch
drivers-add-lcd-support-3-Kconfig-fix.patch
drivers-add-lcd-support-update-4.patch
drivers-add-lcd-support-update-5.patch
drivers-add-lcd-support-update6.patch
drivers-add-lcd-support-update-7.patch
drivers-add-lcd-support-update-8.patch
drivers-add-lcd-support-update-9.patch
drivers-add-lcd-support-workqueue-fixups.patch

 Will merge.

cpuset-remove-sched-domain-hooks-from-cpusets.patch

 Hold.

doc-atomic_add_unless-doesnt-imply-mb-on-failure.patch

 Might hold.

add-retain_initrd-boot-option.patch
add-retain_initrd-boot-option-tweak.patch

 Vivek didn't like this.  I need to re-poll.

vt-refactor-console-sak-processing.patch
sysctl_ms_jiffies-fix-oldlen-semantics.patch
remove-include-linux-byteorder-pdp_endianh.patch
9p-use-kthread_stop-instead-of-sending-a-sigkill.patch
count_vm_events-warning-fix.patch
char-tty-delete-wake_up_interruptible-after-tty_wakeup.patch
disable-init-initramfsc-updated.patch
disable-init-initramfsc-updated-fix.patch
disable-init-initramfsc-architectures.patch
usr-gen_init_cpioc-support-for-hard-links.patch
ioc3-ioc4-pci-mem-space-resources.patch
char-isicom-remove-tty_hangwakeup-bottomhalves.patch
procfs-fix-race-between-proc_readdir-and-remove_proc_entry.patch
procfs-fix-race-between-proc_readdir-and-remove_proc_entry-fix.patch
struct-vfsmount-keep-mnt_count-mnt_expiry_mark-away-from-mnt_flags.patch
avoid-one-conditional-branch-in-touch_atime.patch
mxser-remove-ambiguous-redefinition-of-init_work.patch
make-drivers-char-mxser_newcmxser_hangup-static.patch
char-isicom-fix-locking-in-isr.patch
char-isicom-augment-card_reset.patch
char-isicom-check-card-state-in-isr.patch
char-isicom-support-higher-rates.patch
char-isicom-correct-probing-removing.patch
char-tty_wakeup-cleanup.patch
kill_pid_info-kill-acquired_tasklist_lock.patch
lockdep-also-check-for-freed-locks-in-kmem_cache_free.patch
lockdep-more-unlock-on-error-fixes.patch
lockdep-more-unlock-on-error-fixes-fix.patch
lockdep-add-graph-depth-information-to-proc-lockdep.patch
igrab-should-check-for-i_clear.patch
consolidate-line-discipline-number-definitions-v2.patch
consolidate-line-discipline-number-definitions-v2-sparc-fix.patch
consolidate-line-discipline-number-definitions-v2-fix-2.patch
scrub-non-__glibc__-checks-in-linux-socketh-and-linux-stath.patch
drivers-char-vc_screenc-proper-prototypes.patch
transform-kmem_cache_allocmemset0-kmem_cache_zalloc.patch
serial-serial_txx9-driver-update.patch
relay-add-cpu-hotplug-support.patch
ext2-skip-pages-past-number-of-blocks-in-ext2_find_entry.patch
char-mxser_new-mark-init-functions.patch
char-mxser_new-remove-useless-spinlock.patch
char-serial167-cleanup.patch
char-n_r3964-cleanup.patch
consolidate-default-sched_clock.patch
pktcdvd-cleanup.patch
pnp-export-pnp_bus_type.patch
char-mxser_new-remove-unused-stuff.patch
char-mxser-obsolete-old-nonexperimental-new.patch
char-mxser_new-remove-tty_wakeup-bottomhalf.patch
char-mxser_new-clean-request_irq-call.patch
doc-isicom-remove-reserved-ioctl-number.patch
char-mxser_new-alter-locking-in-isr.patch
char-mxser_new-header-file-cleanup.patch
char-mxser_new-less-loops-in-isr.patch
char-mxser_new-fix-twice-resource-releasing.patch
char-mxser_new-do-not-put-pdev.patch
char-mxser_new-upgrade-to-1915.patch
char-mxser_new-upgrade-to-1915-fix.patch
char-mxser_new-do-not-null-driver_data.patch
char-mxser_new-lock-count-and-flags.patch
char-mxser_new-fix-sparse-warning.patch
add-taint_user-and-ability-to-set-taint-flags-from-userspace.patch
add-taint_user-and-ability-to-set-taint-flags-from-userspace-fix.patch
add-taint_user-and-ability-to-set-taint-flags-from-userspace-fix-2.patch
char-moxa-remove-unused-allocated-page.patch
char-moxa-do-not-initialize-global-static.patch
char-moxa-timers-cleanup.patch
char-moxa-remove-hangup-bottomhalf.patch
char-moxa-remove-unused-functions.patch
char-moxa-devids-cleanup.patch
char-moxa-use-pci_device.patch
char-moxa-eliminate-typedefs.patch
char-moxa-macros-cleanup.patch
char-moxa-use-del_timer_sync.patch
char-moxa-remove-moxa_pci_devinfo.patch
char-moxa-variables-cleanup.patch
char-moxa-remove-useless-vairables.patch
char-moxa-pci_probing-prepare.patch
char-moxa-pci-probing.patch
docbook-html-generate-chapter-section-level-tocs-for-functions.patch
docbook-html-correction-of-recursive-a-tags-in-html-output.patch
export-invalidate_mapping_pages-to-modules.patch
remove-invalidate_inode_pages.patch
use-cycle_t-instead-of-u64-in-struct-time_interpolator.patch
fix-sparse-warnings-from-asmnet-checksumh.patch
add-an-rcu-version-of-list-splicing.patch
add-an-rcu-version-of-list-splicing-fix.patch
ipmi-fix-some-rcu-problems.patch
ipmi-fix-some-rcu-problems-update.patch
clone-flag-clone_parent_tidptr-leaves-invalid-results-in-memory.patch
factor-outstanding-i-o-error-handling.patch
factor-outstanding-i-o-error-handling-tidy.patch
sync_sb_inodes-propagate-errors.patch
block_write_full_page-handle-enospc.patch
get-rid-of-double-zeroing-of-allocated-pages.patch
relax-check-for-aix-in-msdos-partition-table.patch
msdos-partitions-fix-logic-error-in-aix-detection.patch
add-const-for-timespecval_compare-arguments.patch
schedule-obsolete-oss-drivers-for-removal-3rd-round.patch
sysctl-warning-fix.patch
proc_misc-warning-fix.patch
remove-unnecessary-memset0-calls-after-kzalloc-calls.patch
kernel-doc-allow-a-little-whitespace.patch
proc-remove-useless-and-buggy-nlink-settings.patch
sysrq-alphabetize-command-keys-doc.patch
kernel-doc-allow-more-whitespace.patch
tty-improve-encode_baud_rate-logic.patch
simplify-the-stacktrace-code.patch
discuss-a-couple-common-errors-in-kernel-doc-usage.patch
numerous-fixes-to-kernel-doc-info-in-source-files.patch
common-compat_sys_sysinfo-v2.patch
remove-a-couple-final-references-to-obsolete-verify_area.patch
local_t-documentation.patch
local_t-documentation-fix.patch
rtc-framework-driver-for-cmos-rtcs.patch
rtc-framework-driver-for-cmos-rtcs-fix.patch
rtc-framework-driver-for-cmos-rtcs-fix-2.patch
acpi-updates-rtc-cmos-device-platform_data.patch
make-bh_unwritten-a-first-class-bufferhead-flag-v2.patch
make-xfs-use-bh_unwritten-and-bh_delay-correctly.patch
docbook-add-edd-firmware-interfaces.patch
kernel-doc-fix-some-odd-spacing-issues.patch
serial-support-for-new-board.patch
cleanup-linux-byteorder-swabbh.patch
ext3-refuse-ro-to-rw-remount-of-fs-with-orphan.patch
ext4-refuse-ro-to-rw-remount-of-fs-with-orphan.patch
audit-fix-audit_filter_user_rules-initialization-bug.patch
raw-dont-allow-the-creation-of-a-raw-device-with-minor-number-0.patch
fix-rmmod-read-write-races-in-proc-entries.patch
sn2-use-static-proc_fops.patch
seq_file-conversion-coda.patch
fix-umask-when-noacl-kernel-meets-extn-tuned-for-acls.patch
seq_file-conversion-toshibac.patch
return-enoent-from-ext3_link-when-racing-with-unlink.patch
return-enoent-from-ext3_link-when-racing-with-unlink-fix.patch
remove-ext_inc_count-and-_dec_count.patch
remove-the-last-reference-to-rwlock_is_locked-macro.patch
consolidate-bust_spinlocks.patch
extract-and-use-wake_up_klogd.patch
extend-the-set-of-__attribute__-shortcut-macros.patch
documentation-rbtreetxt-updated.patch
replace-highest_possible_node_id-with-nr_node_ids.patch
replace-highest_possible_node_id-with-nr_node_ids-fix.patch
convert-highest_possible_processor_id-to-nr_cpu_ids.patch
convert-highest_possible_processor_id-to-nr_cpu_ids-fix.patch
slab-reduce-size-of-alien-cache-to-cover-only-possible-nodes.patch
buffer-memorder-fix.patch
remove-final-reference-to-superfluous-smp_commence.patch
cleanup-include-linux-xattrh.patch
cleanup-include-linux-reiserfs_xattrh.patch
replace-regular-code-with-appropriate-calls-to-container_of.patch
remove-dead-kernel-config-option-aedsp16_mpu401.patch
remove-references-to-obsolete-kernel-config-option-debug_rwsems.patch
remove-unused-kernel-config-option-zisofs_fs.patch
remove-unused-kernel-config-option-lcd_device.patch
remove-unused-kernel-config-option-paride_parport.patch
order-of-lockdep-off-on-in-vprintk-should-be-changed.patch
minimize-lockdep_on-off-side-effect.patch
some-rtc-documentation-updates.patch
drivers-block-dac960-converted-boolean-to-bool.patch
mxser-remove-useless-fields.patch
fix-apparent-typo-config_lockdep_debug.patch
ext-jbd-layer-function-called-instead-of-fs-specific-one.patch
highmem-catch-illegal-nesting.patch
change-constant-zero-to-notify_done-in-ratelimit_handler.patch
fix-sparse-annotation-of-spin-unlock-macros-in-one-case.patch
_proc_do_string-fix-short-reads.patch
move-task_xacct-task_io_accounting-up-in-menus.patch
ifdef-rchar-wchar-syscr-syscw-from-task_struct.patch
tty-cleanup-release_mem.patch
filesystem-disk-errors-at-boot-time-caused-by-probe.patch
filesystem-disk-errors-at-boot-time-caused-by-probe-tidy.patch
filesystem-disk-errors-at-boot-time-caused-by-probe-tidy-fixes.patch
rapidio-fix-multi-switch-enumeration.patch
allow-access-to-proc-pid-fd-after-setuid.patch
allow-access-to-proc-pid-fd-after-setuid-fix.patch
allow-access-to-proc-pid-fd-after-setuid-update.patch
char-amiserial-turn-local_save_flags-local_irq_disable-into-local_irq_save.patch
register_chrdev_region-dont-hand-out-the-local-experimental-majors.patch
register_blkdev-dont-hand-out-the-local-experimental-majors.patch
ntfs-rename-incorrect-check-of-ntfs_debug-with-just-debug.patch
serial-add-pcmcia-ids-for-quatech-dsp-100-dual-rs232.patch
fix-d_path-for-lazy-unmounts.patch
char-use-more-pci_device-macro.patch
char-cyclades-use-pci_device_id.patch
include-linux-kernelh-remove-labs.patch
quota-have-linux-quotah-include-linux-rwsemh-explicitly.patch
maintainers-remove-two-dead-e-mail.patch
shm-make-sysv-ipc-shared-memory-use-stacked-files.patch
fs-fix-__block_write_full_page-error-case-buffer-submission.patch
fix-the-defaults-mentioned-in-documentation-nfsroottxt.patch
scnprintf-fix-comment.patch
move-remove_dquot_ref-to-dqoutc.patch
remove-sb-s_files-and-file_list_lock-usage-in-dquotc.patch
inotify-read-return-val-fix.patch
debug-shared-irqs.patch
debug-shared-irqs-kconfig-fix.patch
kernel-shut-up-the-irq-mismatch-messages.patch
w1-use-array_size-macro-when-appropriate.patch
oss-use-array_size-macro-when-appropriate.patch
oss-use-array_size-macro-when-appropriate-2.patch
reiserfs-use-array_size-macro-when-appropriate.patch
ext2-3-4-fix-file-date-underflow-on-ext2-3-filesystems-on-64-bit-systems.patch
ipc-save-the-ipc-namespace-while-reading-proc-files.patch
warning-fix-unsigned-signed.patch
atmel_serial-use-__raw-i-o-register-access.patch
swiotlb-uninlinings.patch
kexec-fix-references-to-init-in-documentation-for-kexe.patch
lockdep-forward-declare-struct-task_struct.patch
com20020-build-fix.patch
fs-speedup-rw_verify_area.patch
drivers-isdn-gigaset-reduce-mutex-scope.patch
drivers-isdn-gigaset-reduce-kernel-message-spam.patch
close_files-add-scheduling-point.patch

 Misc.  Will mostly-merge.  A few of the above need people to be re-polled.

spi-kconfig-fix.patch
spi-controller-driver-for-omap-microwire.patch
spi-controller-driver-for-omap-microwire-tidy.patch
spi-controller-driver-for-omap-microwire-update.patch
spi-controller-driver-for-omap-microwire-update-fix.patch
spi-freescale-imx-spi-controller-driver-bis.patch
spi-freescale-imx-spi-controller-driver-v5.patch
spi-add-spi_set_drvdata-and-spi_get_drvdata.patch
spi-documentation-does-not-need-to-set-drivers-bus_type-field.patch
spi-remove-return-in-spi_unregister_driver.patch
spi_bitbang-use-overridable-setup_transfer-method.patch
spi-cleanup-method-param-becomes-non-const.patch
spi-doc-clarifications.patch
rtc-gets-sysfs-wakealarm-attribute.patch
spi-eeprom-driver.patch
spi-eeprom-driver-cleanups.patch
spi-eeprom-learns-about-8-and-24-bit-addressing.patch

 Will merge.

add-shared-version-of-apm-emulation.patch
arm-convert-to-use-shared-apm-emulation.patch
mips-convert-to-use-shared-apm-emulation.patch
mips-convert-to-use-shared-apm-emulation-fix.patch
sh-convert-to-use-shared-apm-emulation.patch

 Will merge.

minix-v3-support.patch

 Will merge.

make-static-counters-in-new_inode-and-iunique-be-32-bits.patch
change-libfs-sb-creation-routines-to-avoid-collisions-with-their-root-inodes.patch

 Am a bit wobbly about this due to the additional overhead.  Opinions are
 sought.


tty-make-__proc_set_tty-static.patch
tty-clarify-disassociate_ctty.patch
tty-fix-the-locking-for-signal-session-in-disassociate_ctty.patch
signal-use-kill_pgrp-not-kill_pg-in-the-sunos-compatibility-code.patch
signal-rewrite-kill_something_info-so-it-uses-newer-helpers.patch
pid-make-session_of_pgrp-use-struct-pid-instead-of-pid_t.patch
pid-use-struct-pid-for-talking-about-process-groups-in-exitc.patch
pid-replace-is_orphaned_pgrp-with-is_current_pgrp_orphaned.patch
tty-update-the-tty-layer-to-work-with-struct-pid.patch
pid-replace-do-while_each_task_pid-with-do-while_each_pid_task.patch
pid-remove-now-unused-do_each_task_pid-and-while_each_task_pid.patch
pid-remove-the-now-unused-kill_pg-kill_pg_info-and-__kill_pg_info.patch

 Will merge.

vmi-versus-hrtimers.patch
add-irq-flag-to-disable-balancing-for-an-interrupt.patch
add-a-functions-to-handle-interrupt-affinity-setting.patch
add-a-functions-to-handle-interrupt-affinity-setting-alpha-fix.patch
hz-free-ntp.patch
uninline-jiffiesh-functions.patch
fix-multiple-conversion-bugs-in-msecs_to_jiffies.patch
fix-timeout-overflow-with-jiffies.patch
gtod-persistent-clock-support.patch
i386-use-gtod-persistent-clock-support.patch
i386-remove-useless-code-in-tscc.patch
simplify-the-registration-of-clocksources.patch
x86-rewrite-smp-tsc-sync-code.patch
clocksource-replace-is_continuous-by-a-flag-field.patch
clocksource-replace-is_continuous-by-a-flag-field-fix.patch
clocksource-fixup-is_continous-changes-on-arm.patch
clocksource-fixup-is_continous-changes-on-avr32.patch
clocksource-fixup-is_continous-changes-on-s390.patch
clocksource-fixup-is_continous-changes-on-mips.patch
clocksource-remove-the-update-callback.patch
clocksource-add-verification-watchdog-helper.patch
mark-tsc-on-geodelx-reliable.patch
uninline-irq_enter.patch
fix-cascade-lookup-of-next_timer_interrupt.patch
extend-next_timer_interrupt-to-use-a-reference-jiffie.patch
hrtimers-namespace-and-enum-cleanup.patch
hrtimers-namespace-and-enum-cleanup-vs-git-input.patch
hrtimers-cleanup-locking.patch
hrtimers-add-state-tracking.patch
hrtimers-clean-up-callback-tracking.patch
hrtimers-move-and-add-documentation.patch
acpi-fix-missing-include-for-up.patch
acpi-keep-track-of-timer-broadcasting.patch
allow-early-access-to-the-power-management-timer.patch
i386-apic-clean-up-the-apic-code.patch
clockevents-add-core-functionality.patch
tick-management-core-functionality.patch
tick-management-broadcast-functionality.patch
tick-management-dyntick--highres-functionality.patch
#tick-management-dyntick--highres-functionality-fix.patch
#tick-management-dyntick--highres-functionality-fix-2.patch
clockevents-i383-drivers.patch
i386-rework-local-apic-timer-calibration.patch
i386-prepare-for-dyntick.patch
i386-prepare-nmi-watchdog-for-dynticks.patch
i386-enable-dynticks-in-kconfig.patch
hrtimers-add-high-resolution-timer-support.patch
hrtimers-prevent-possible-itimer-dos.patch
add-debugging-feature-proc-timer_stat.patch
add-debugging-feature-proc-timer_stat-cleanup.patch
add-debugging-feature-proc-timer_list.patch
add-sysrq-q-to-print-timer_list-debug-info.patch
generic-vsyscall-gtod-support-for-generic_time.patch
generic-vsyscall-gtod-support-for-generic_time-tidy.patch
time-x86_64-hpet_address-cleanup.patch
revert-x86_64-mm-ignore-long-smi-interrupts-in-clock-calibration.patch
time-x86_64-split-x86_64-kernel-timec-up.patch
time-x86_64-split-x86_64-kernel-timec-up-tidy.patch
time-x86_64-split-x86_64-kernel-timec-up-fix.patch
reapply-x86_64-mm-ignore-long-smi-interrupts-in-clock-calibration.patch
time-x86_64-convert-x86_64-to-use-generic_time.patch
time-x86_64-convert-x86_64-to-use-generic_time-fix.patch
time-x86_64-convert-x86_64-to-use-generic_time-tidy.patch
time-x86_64-hpet-fixup-clocksource-changes.patch
time-x86_64-tsc-fixup-clocksource-changes.patch
time-x86_64-re-enable-vsyscall-support-for-x86_64.patch
time-x86_64-re-enable-vsyscall-support-for-x86_64-tidy.patch
posix-timers-rcu-optimization-for-clock_gettime.patch
posix-timers-rcu-optimization-for-clock_gettime-fix.patch

 hrtimers, dynticks, use generic-time on x86_64: will merge.

genirq-do-not-mask-interrupts-by-default.patch
genirq-remove-irq_disabled.patch

 Will merge.

schedule_on_each_cpu-use-preempt_disable.patch
reimplement-flush_workqueue.patch
implement-flush_work.patch
implement-flush_work-sanity.patch
implement-flush_work_keventd.patch
flush_workqueue-use-preempt_disable-to-hold-off-cpu-hotplug.patch
flush_cpu_workqueue-dont-flush-an-empty-worklist.patch
aio-use-flush_work.patch
kblockd-use-flush_work.patch
relayfs-use-flush_keventd_work.patch
tg3-use-flush_keventd_work.patch
e1000-use-flush_keventd_work.patch
libata-use-flush_work.patch
phy-use-flush_work.patch

 umm, not sure.  Need to re-review and poke Oleg.


extend-notifier_call_chain-to-count-nr_calls-made.patch
extend-notifier_call_chain-to-count-nr_calls-made-fixes.patch
extend-notifier_call_chain-to-count-nr_calls-made-fixes-2.patch
extend-notifier_call_chain-to-count-nr_calls-made-fixes-3.patch
define-and-use-new-eventscpu_lock_acquire-and-cpu_lock_release.patch
define-and-use-new-eventscpu_lock_acquire-and-cpu_lock_release-fix.patch
eliminate-lock_cpu_hotplug-in-kernel-schedc.patch
eliminate-lock_cpu_hotplug-in-kernel-schedc-fix.patch
call-cpu_chain-with-cpu_down_failed-if-cpu_down_prepare-failed.patch
slab-use-cpu_lock_.patch
workqueue-fix-freezeable-workqueues-implementation.patch
workqueue-fix-flush_workqueue-vs-cpu_dead-race.patch
workqueue-dont-clear-cwq-thread-until-it-exits.patch
workqueue-dont-migrate-pending-works-from-the-dead-cpu.patch
workqueue-kill-run_scheduled_work.patch
workqueue-dont-save-interrupts-in-run_workqueue.patch
workqueue-dont-save-interrupts-in-run_workqueue-update-2.patch
workqueue-make-cancel_rearming_delayed_workqueue-work-on-idle-dwork.patch
workqueue-introduce-cpu_singlethread_map.patch
workqueue-introduce-workqueue_struct-singlethread.patch
workqueue-make-init_workqueues-__init.patch

 Will merge.

slab-shutdown-cache_reaper-when-cpu-goes-down.patch

 Will merge.

move-page-writeback-acounting-out-of-macros.patch
per-backing_dev-dirty-and-writeback-page-accounting.patch
per-backing_dev-dirty-and-writeback-page-accounting-fix.patch

 Hold.

ext2-reservations.patch
ext2-fix-reservation-extension.patch
make-ext2_get_blocks-static.patch
ext2-balloc-fix-_with_rsv-freeze.patch
ext2-balloc-reset-windowsz-when-full.patch
ext2-balloc-fix-off-by-one-against-rsv_end.patch
ext2-balloc-fix-off-by-one-against-grp_goal.patch
ext2-balloc-say-rb_entry-not-list_entry.patch
ext2-balloc-use-io_error-label.patch

 I don't know how much testing this has had.  Will hold.

edac-e752x-bit-mask-fix.patch
edac-e752x-byte-access-fix.patch
edac-fix-in-e752x-mc-driver.patch
edac-add-memory-scrubbing-controls-api-to-core.patch
edac-add-fully-buffered-dimm-apis-to-core.patch

 Will merge.

edac-new-opteron-athlon64-memory-controller-driver.patch
drivers-edac-make-code-static.patch
pci_module_init-convertion-for-k8_edacc.patch
edac-k8-driver-coding-tidy.patch
edac-k8-memory-scrubbing-patch.patch

 Can't seem to get Andi and Alan to agree over this.  Help.

gpio-core.patch
omap-gpio-wrappers.patch
omap-gpio-wrappers-tidy.patch
at91-gpio-wrappers.patch
at91-gpio-wrappers-tidy.patch
pxa-gpio-wrappers.patch
sa1100-gpio-wrappers.patch
s3c2410-gpio-wrappers.patch

 Will merge.

drivers-isdn-pcbit-proper-prototypes.patch
drivers-isdn-hisax-proper-prototypes.patch
drivers-isdn-sc-proper-prototypes.patch
isdn-capi-use-array_size-when-appropriate.patch
isdn-fix-typo-config_hisax_quadro-config_hisax_sct_quadro.patch
isdn-rename-some-debugging-macros-to-not-resemble-config.patch
isdn-rename-debug-option-config_serial_nopause_io.patch
isdn-remove-defunct-test-emulator.patch
isdn-rename-special-macro-config_hisax_hfc4s8s_pcimem.patch
drivers-isdn-hardware-eicon-convert-to-generic-boolean-values.patch
drivers-isdn-hisax-convert-to-generic-boolean-values.patch
workaround-capi-subsystem-locking-issue.patch
isdn-eicon-use-array_size-macro-when-appropriate.patch

 Will merge.

knfsd-sunrpc-update-internal-api-separate-pmap-register-and-temp-sockets.patch
knfsd-sunrpc-allow-creating-an-rpc-service-without-registering-with-portmapper.patch
knfsd-sunrpc-aplit-svc_sock_enqueue-out-of-svc_setup_socket.patch
knfsd-sunrpc-cache-remote-peers-address-in-svc_sock.patch
knfsd-sunrpc-dont-set-msg_name-and-msg_namelen-when-calling-sock_recvmsg.patch
knfsd-sunrpc-add-a-function-to-format-the-address-in-an-svc_rqst-for-printing.patch
knfsd-sunrpc-use-sockaddr_storage-to-store-address-in-svc_deferred_req.patch
knfsd-sunrpc-provide-room-in-svc_rqst-for-larger-addresses.patch
knfsd-sunrpc-make-rq_daddr-field-address-version-independent.patch
knfsd-sunrpc-teach-svc_sendto-to-deal-with-ipv6-addresses.patch
knfsd-sunrpc-teach-svc_sendto-to-deal-with-ipv6-addresses-tidy.patch
knfsd-sunrpc-add-a-generic-function-to-see-if-the-peer-uses-a-secure-port.patch
knfsd-sunrpc-support-ipv6-addresses-in-svc_tcp_accept.patch
knfsd-sunrpc-support-ipv6-addresses-in-rpc-servers-udp-receive-path.patch
knfsd-sunrpc-support-ipv6-addresses-in-rpc-servers-udp-receive-path-tidy.patch
knfsd-sunrpc-fix-up-svc_create_socket-to-take-a-sockaddr-struct-length.patch
include-linux-nfsd-consth-remove-nfs_super_magic.patch

 Will merge.

ecryptfs-public-key-transport-mechanism.patch
ecryptfs-public-key-transport-mechanism-fix.patch
ecryptfs-public-key-packet-management.patch
ecryptfs-public-key-packet-management-slab-fix.patch
ecryptfs-xattr-flags-and-mount-options.patch
ecryptfs-generalize-metadata-read-write.patch
ecryptfs-generalize-metadata-read-write-fix.patch
ecryptfs-generalize-metadata-read-write-fs-ecryptfs-make-code-static.patch
ecryptfs-encrypted-passthrough.patch
ecryptfs-convert-f_op-write-to-vfs_write.patch
ecryptfs-convert-kmap-to-kmap_atomic.patch
ecryptfs-open-code-flag-checking-and-manipulation.patch
ecryptfs-add-flush_dcache_page-calls.patch
ecryptfs-convert-lookup_one_len-to-lookup_one_len_nd.patch

 Will merge.

fsaio-add-a-wait-queue-arg-to-the-wait_bit-action-routine.patch
fsaio-add-a-wait-queue-arg-to-the-wait_bit-action-routine-gfs2-fix.patch
fsaio-rename-__lock_page-to-lock_page_blocking.patch
fsaio-interfaces-to-initialize-and-to-test-a-wait-bit-key.patch
fsaio-add-a-default-io-wait-bit-field-in-task-struct.patch
fsaio-enable-wait-bit-based-filtered-wakeups-to-work-for-aio.patch
fsaio-enable-wait-bit-based-filtered-wakeups-to-work-for-aio-fix.patch
fsaio-enable-wait-bit-based-filtered-wakeups-to-work-for-aio-fix-sparse-fix.patch
fsaio-enable-asynchronous-wait-page-and-lock-page.patch
fsaio-filesystem-aio-read.patch
fsaio-aio-o_sync-filesystem-write.patch

 Will wait to see what happens with febrils.

aio-is-unlikely.patch

 Will merge.

rework-compat_sys_io_submit.patch
fix-aioh-includes.patch
fix-access_ok-checks.patch
make-good_sigevent-non-static.patch
make-good_sigevent-non-static-fix.patch
make-__sigqueue_free-and.patch
aio-completion-signal-notification.patch
aio-completion-signal-notification-fix.patch
aio-completion-signal-notification-fixes-and-cleanups.patch
aio-completion-signal-notification-small-cleanup.patch
add-listio-syscall-support.patch

 I guess these are dependent upon fsaio.

sched-avoid-div-in-rebalance_tick.patch

 Will merge.

mm-only-sched-add-a-few-scheduler-event-counters.patch
sched2-sched-domain-sysctl.patch
sched2-sched-domain-sysctl-use-ctl_unnumbered.patch

 -mm only.

sched-add-above-background-load-function.patch
mm-implement-swap-prefetching.patch
mm-implement-swap-prefetching-vs-zvc-stuff.patch
mm-implement-swap-prefetching-vs-zvc-stuff-2.patch
mm-implement-swap-prefetching-use-ctl_unnumbered.patch
swap_prefetch-vs-zoned-counters.patch
add-include-linux-freezerh-and-move-definitions-from-prefetch.patch
zvc-support-nr_slab_reclaimable--nr_slab_unreclaimable-swap_prefetch.patch
reduce-max_nr_zones-swap_prefetch-remove-incorrect-use-of-zone_highmem.patch
sched-cleanup-remove-task_t-convert-to-struct-task_struct-prefetch.patch
numa-add-zone_to_nid-function-swap_prefetch.patch
remove-uses-of-kmem_cache_t-from-mm-and-include-linux-slabh-prefetch.patch

 Hold.

dynamic-kernel-command-line-common.patch
dynamic-kernel-command-line-alpha.patch
dynamic-kernel-command-line-arm.patch
dynamic-kernel-command-line-arm26.patch
dynamic-kernel-command-line-avr32.patch
dynamic-kernel-command-line-cris.patch
dynamic-kernel-command-line-frv.patch
dynamic-kernel-command-line-h8300.patch
dynamic-kernel-command-line-i386.patch
dynamic-kernel-command-line-ia64.patch
dynamic-kernel-command-line-ia64-fix.patch
dynamic-kernel-command-line-m32r.patch
dynamic-kernel-command-line-m68k.patch
dynamic-kernel-command-line-m68knommu.patch
dynamic-kernel-command-line-mips.patch
dynamic-kernel-command-line-parisc.patch
dynamic-kernel-command-line-powerpc.patch
dynamic-kernel-command-line-ppc.patch
dynamic-kernel-command-line-s390.patch
dynamic-kernel-command-line-sh.patch
dynamic-kernel-command-line-sh64.patch
dynamic-kernel-command-line-sparc.patch
dynamic-kernel-command-line-sparc64.patch
dynamic-kernel-command-line-um.patch
dynamic-kernel-command-line-v850.patch
dynamic-kernel-command-line-x86_64.patch
dynamic-kernel-command-line-xtensa.patch
dynamic-kernel-command-line-fixups.patch
i386-2048-byte-command-line.patch
x86_64-2048-byte-command-line.patch
ia64-2048-byte-command-line.patch

 Will merge.

rcutorture-use-array_size-macro-when-appropriate.patch
rcutorture-style-cleanup-avoid-=-null-in-boolean-tests.patch
rcutorture-remove-redundant-assignment-to-cur_ops-in.patch

 Will merge.

rcu-split-classic-rcu.patch
rcu-softirq-for-rcu.patch
rcu-fix-barriers.patch

 Will merge.

#rcu-preemptible-rcu.patch
#rcu-debug-trace-for-rcu.patch

 These are in disgrace because some code is assuming that rcu_read_lock()
 implies preempt_disable(), and these patches make that untrue.

lutimesat-simplify-utime2.patch
lutimesat-extend-do_utimes-with-flags.patch
lutimesat-actual-syscall-and-wire-up-on-i386.patch

 Do we want this?  Ulrich says so.  Will merge, I guess.

ufs2-write-mount-as-rw.patch
ufs2-write-inodes-write.patch
ufs2-write-block-allocation-update.patch

 Will merge.

kvm-optimize-inline-assembly.patch
kvm-fix-asm-constraint-for-lldt-instruction.patch
kvm-fix-gva_to_gpa.patch
kvm-vmx-handle-triple-faults-by-returning-exit_reason_shutdown-to-userspace.patch
kvm-fix-mmu-going-crazy-of-guest-sets-cr0wp-==-0.patch
kvm-svm-hack-initial-cpu-csbase-to-be-consistent-with-intel.patch
kvm-two-way-apic-tpr-synchronization.patch
kvm-vmx-reload-ds-and-es-even-in-64-bit-mode.patch
kvm-fix-mismatch-between-32-bit-and-64-bit-abi.patch
kvm-fix-vcpu-freeing-bug.patch
hotplug-allow-modules-to-use-the-cpu-hotplug-notifiers.patch
kvm-add-a-global-list-of-all-virtual-machines.patch
kvm-add-a-global-list-of-all-virtual-machines-tidy.patch
kvm-vmx-add-vcpu_clear.patch
kvm-cpu-hotplug-support.patch
kvm-host-suspend-resume-support.patch

 Will merge.

utrace-utrace-tracehook.patch
utrace-utrace-tracehook-ia64.patch
utrace-utrace-tracehook-sparc64.patch
utrace-utrace-tracehook-s390.patch
utrace-utrace-regset.patch
utrace-utrace-regset-ia64.patch
utrace-utrace-regset-sparc64.patch
utrace-utrace-regset-s390.patch
utrace-utrace-core.patch
utrace-utrace-ptrace-compat.patch
utrace-utrace-ptrace-compat-ia64.patch
utrace-utrace-ptrace-compat-sparc64.patch
utrace-utrace-ptrace-compat-s390.patch

 utrace just got added to -mm.

readahead-kconfig-options.patch
readahead-kconfig-options-fix.patch
radixtree-introduce-scan-hole-data-functions.patch
mm-introduce-probe_page.patch
mm-introduce-pg_readahead.patch
readahead-add-look-ahead-support-to-__do_page_cache_readahead.patch
readahead-insert-cond_resched-calls.patch
readahead-minmax_ra_pages.patch
readahead-events-accounting.patch
readahead-events-accounting-make-readahead_debug_level-static.patch
readahead-rescue_pages.patch
readahead-sysctl-parameters.patch
readahead-sysctl-parameters-use-ctl_unnumbered.patch
readahead-sysctl-parameters-fix.patch
readahead-sysctl-parameters-set-readahead_hit_rate=1.patch
readahead-min-max-sizes.patch
readahead-min-max-sizes-remove-get_readahead_bounds.patch
readahead-min-max-sizes-increase-vm_min_readahead-to-32kb.patch
readahead-state-based-method-aging-accounting.patch
readahead-state-based-method-aging-accounting-vs-zvc-changes.patch
readahead-state-based-method-routines.patch
readahead-state-based-method.patch
readahead-state-based-method-prevent-tiny-size.patch
readahead-state-based-method-move-readahead_ratio-out-of-compute_thrashing_threshold.patch
readahead-context-based-method.patch
readahead-context-based-method-locking-fix.patch
readahead-context-based-method-locking-fix-2.patch
readahead-context-based-method-update-ra_min.patch
readahead-context-based-method-remove-readahead_ratio.patch
readahead-initial-method-guiding-sizes.patch
readahead-initial-method-thrashing-guard-size.patch
readahead-initial-method-user-recommended-size.patch
readahead-initial-method-user-recommended-size-rename-to-read_ahead_initial_kb.patch
readahead-initial-method.patch
readahead-backward-prefetching-method.patch
readahead-thrashing-recovery-method.patch
readahead-thrashing-recovery-method-fix.patch
readahead-call-scheme.patch
readahead-call-scheme-ifdef-fix.patch
readahead-call-scheme-build-fix.patch
readahead-call-scheme-remove-get_readahead_bounds.patch
readahead-call-scheme-fix-thrashed-unaligned-read.patch
readahead-laptop-mode.patch
readahead-laptop-mode-fix.patch
readahead-loop-case.patch
readahead-nfsd-case.patch
readahead-nfsd-case-fix.patch
readahead-nfsd-case-fix-uninitialized-ra_min-ra_max.patch
readahead-nfsd-case-remove-ra_min.patch
readahead-turn-on-by-default.patch
readahead-remove-size-limit-on-read_ahead_kb.patch
readahead-remove-size-limit-of-max_sectors_kb-on-read_ahead_kb.patch

 Hold.

reiser4-sb_sync_inodes.patch
reiser4-sb_sync_inodes-fix.patch
reiser4-export-remove_from_page_cache.patch
reiser4-export-remove_from_page_cache-fix.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
reiser4-configh.patch
resier4-add-include-linux-freezerh-and-move-definitions-from.patch
reiser4-reiser4_drop_page-dont-call-remove_from_page_cache.patch
make-kmem_cache_destroy-return-void-reiser4.patch
reiser4-hardirq-include-fix.patch
reiser4-fix-trivial-tyops-which-were-hard-to-hit.patch
reiser4-run-truncate_inode_pages-in-reiser4_delete_inode.patch
reiser4-bug-fixes.patch
reiser4-fix-gcc-ws-compains.patch
fs-reiser4-possible-cleanups.patch
reiser4-get_sb_dev-fix.patch
reiser4-vs-zoned-allocator.patch
inode_diet-replace-inodeugeneric_ip-with-inodei_private-reiser4.patch
inode-diet-eliminate-i_blksize-and-use-a-per-superblock-default-reiser4.patch
reiser4-vs-streamline-generic_file_-interfaces-and-filemap.patch
reiser4-vs-streamline-generic_file_-interfaces-and-filemap-fix.patch
reiser4-rename-generic_sounding_globalspatch.patch
reiser4-get-rid-of-semaphores-wherever-it-is-possible.patch
reiser4-decribe-new-atom-locking-and-nested-atom-locks-to-lock-validator.patch
reiser4-use-generic-file-read.patch
reiser4-use-generic-file-read-fix-readpages-unix-file.patch
reiser4-simplify-reading-of-partially-converted-files.patch
reiser4-use-page_offset.patch
reiser4-use-reiser4_gfp_mask_get-in-reiser4-inode-allocation.patch
reiser4-re-add-page_count-check-to-reiser4_releasepage.patch
reiser4-restore-fibmap-ioctl-support-for-packed-files.patch
reiser4-possible-cleanups-2.patch
reiser4-format-subversion-numbers-heir-set-and-file-conversion.patch
reiser4-format-subversion-numbers-heir-set-and-file-conversion-fix-readpages-cryptcompress.patch
reiser4-cleanups-in-lzo-compression-library.patch
reiser4-get-rid-of-deprecated-crypto-api.patch
reiser4-get-rid-of-deprecated-crypto-api-build-fix.patch
reiser4-fix-missed-unlock-and-exit_context.patch
reiser4-use-list_head-instead-of-struct-blocknr.patch
reiser4-use-list_empty-instead-of-list_empty_careful-for.patch
reiser4-update-comments-fix-write-and-truncate-cryptcompress.patch
reiser4-temp-fix.patch
reiser4-fix-write_extent-1.patch
#reiser4-fix-write_extent.patch
fs-reiser4-possible-cleanups-2.patch
fs-reiser4-more-possible-cleanups.patch
reiser4-use-null-for-pointers.patch
reiser4-kmem_cache_t-removal.patch
reiser4-test_clear_page_dirty.patch
reiser4-fix-readpage_cryptcompress.patch
reiser4-improve-estimation-for-number-of-nodes-occupied.patch
reiser4-drop-check_cryptcompress.patch
reiser4-fix-freeze-and-corruption.patch
reiser4-vs-git-block.patch
reiser4-vs-git-block-2.patch
reiser4-vs-git-block3.patch

 Hold.

proper-backlight-selection-for-fbdev-drivers.patch
fbdev-driver-for-s3-trio-virge.patch
fbdev-driver-for-s3-trio-virge-update.patch
remove-broken-video-drivers-v4.patch
tgafb-switch-to-framebuffer_alloc.patch
tgafb-fix-copying-overlapping-areas.patch
tgafb-support-the-directcolor-visual.patch
tgafb-fix-the-mode-register-setting.patch
tgafb-module-support-fixes.patch
tgafb-sync-on-green-support-fixes.patch
tgafb-fix-the-pci-id-table.patch
remove-bogus-con_is_present-prototypes.patch
cyber2010-framebuffer-on-arm-netwinder-fix.patch
cyber2010-framebuffer-on-arm-netwinder-fix-tidy.patch
proper-prototype-for-tosh_smm.patch
recognize-video=gx1fb-option.patch
correct-apparent-typo-config_aty_ct-in-aty-video.patch
pm3fb-kill-pci_find_device-usage.patch
drivers-video-sis-convert-to-generic-boolean.patch
matroxfb-use-kzalloc.patch
remove-the-broken-fb_s3trio-driver.patch

 Will merge.

drivers-mdc-use-array_size-macro-when-appropriate.patch
md-dm-reduce-stack-usage-with-stacked-block-devices.patch

 -> neilb

 (The second one is getting idiotic.  When are we going to fix this??)

remove-555-unneeded-includes-of-schedh.patch

 Will merge.

statistics-infrastructure-prerequisite-list.patch
statistics-infrastructure-prerequisite-parser.patch
statistics-infrastructure-prerequisite-timestamp.patch
statistics-infrastructure-make-printk_clock-a-generic-kernel-wide-nsec-resolution.patch
statistics-infrastructure-make-printk_clock-a-generic-kernel-wide-nsec-resolution-ia64-fix.patch
statistics-infrastructure-documentation.patch
statistics-infrastructure.patch
statistics-infrastructure-fix-buffer-overflow-in-histogram-with-linear.patch
statistics-infrastructure-fix-buffer-overflow-in-histogram-with-linear-tidy.patch
statistics-infrastructure-adapt-output-format-of-utilisation-indicator.patch
statistics-use-the-enhanced-percpu-interface.patch
statistics-replace-inode-ugeneric_ip-with-i_private.patch
statistics-infrastructure-exploitation-zfcp.patch
zfcp-gather-hba-specific-latencies-in-statistics.patch

 Hold.

mark-pci_module_init-deprecated.patch

 Will merge.

oss-replace-kmallocmemset-combos-with-kzalloc.patch

 Will merge.

mprotect-patch-for-use-by-slim.patch
integrity-service-api-and-dummy-provider.patch
integrity-service-api-and-dummy-provider-cleanup-use-of-configh.patch
integrity-service-api-and-dummy-provider-compilation-warning-fix.patch
integrity-service-api-and-dummy-provider-fix.patch
slim-main-patch.patch
slim-main-patch-socket_post_create-hook-return-code.patch
slim-main-patch-misc-cleanups-requested-at-inclusion-time.patch
slim-main-patch-handle-failure-to-register.patch
slim-main-patch-fix-bug-with-mm_users-usage.patch
slim-main-patch-security-slim-slm_mainc-make-2-functions-static.patch
slim-main-include-fix.patch
slim-secfs-patch.patch
slim-secfs-patch-slim-correct-use-of-snprintf.patch
slim-secfs-patch-cleanup-use-of-configh.patch
slim-make-and-config-stuff.patch
slim-make-and-config-stuff-makefile-fix.patch
slim-debug-output.patch
slim-debug-output-slm_set_taskperm-remove-horrible-error-handling-code.patch
slim-fix-security-issue-with-the-task_post_setuid-hook.patch
slim-secfs-inode-i_private-build-fix.patch
slim-documentation.patch
fdtable-make-fdarray-and-fdsets-equal-in-size-slim.patch
panic-on-slim-selinux.patch

 Hold.

mark-struct-file_operations-const-1.patch
mark-struct-file_operations-const-2.patch
mark-struct-file_operations-const-2-fix.patch
mark-struct-file_operations-const-3.patch
mark-struct-file_operations-const-4.patch
mark-struct-file_operations-const-4-fix.patch
mark-struct-file_operations-const-5.patch
mark-struct-file_operations-const-6.patch
mark-struct-file_operations-const-7.patch
mark-struct-file_operations-const-8.patch
mark-struct-file_operations-const-9.patch
mark-struct-inode_operations-const-1.patch
mark-struct-inode_operations-const-2.patch
mark-struct-inode_operations-const-3.patch
mark-struct-super_operations-const.patch

 Will merge.

scheduled-removal-of-sa_xxx-interrupt-flags-fixups.patch
scheduled-removal-of-sa_xxx-interrupt-flags-fixups-2.patch
scheduled-removal-of-sa_xxx-interrupt-flags.patch
scheduled-removal-of-sa_xxx-interrupt-flags-ata-fix.patch

 This removes SA_INTERRUPT and friends, so 10000000 external drivers won't
 compile any more.  I think I'd prefer to find a way to get usage of SA_* to
 spit a deprecated warning.

sysctl-x25-remove-unnecessary-insert_at_head-from-register_sysctl_table.patch
sysctl-move-ctl_sunrpc-to-sysctlh-where-it-belongs.patch
sysctl-sunrpc-remove-unnecessary-insert_at_head-flag.patch
sysctl-sunrpc-dont-unnecessarily-set-ctl_table-de.patch
sysctl-rose-remove-unnecessary-insert_at_head-flag.patch
sysctl-netrom-remove-unnecessary-insert_at_head-flag.patch
sysctl-llc-remove-unnecessary-insert_at_head-flag.patch
sysctl-ipx-remove-unnecessary-insert_at_head-flag.patch
sysctl-decnet-remove-unnecessary-insert_at_head-flag.patch
sysctl-dccp-remove-unnecessary-insert_at_head-flag.patch
sysctl-ax25-remove-unnecessary-insert_at_head-flag.patch
sysctl-atalk-remove-unnecessary-insert_at_head-flag.patch
sysctl-xfs-remove-unnecessary-insert_at_head-flag.patch
sysctl-c99-convert-xfs-ctl_tables.patch
sysctl-c99-convert-xfs-ctl_tables-fixes.patch
sysctl-scsi-remove-unnecessary-insert_at_head-flag.patch
sysctl-md-remove-unnecessary-insert_at_head-flag.patch
sysctl-mac_hid-remove-unnecessary-insert_at_head-flag.patch
sysctl-ipmi-remove-unnecessary-insert_at_head-flag.patch
sysctl-cdrom-remove-unnecessary-insert_at_head-flag.patch
sysctl-cdrom-dont-set-de-owner.patch
sysctl-move-ctl_pm-into-sysctlh-where-it-belongs.patch
sysctl-frv-pm-remove-unnecessary-insert_at_head-flag.patch
sysctl-move-ctl_frv-into-sysctlh-where-it-belongs.patch
sysctl-frv-remove-unnecessary-insert_at_head-flag.patch
sysctl-c99-convert-arch-frv-kernel-pmc.patch
sysctl-c99-convert-arch-frv-kernel-sysctlc.patch
sysctl-sn-remove-sysctl-abi-breakage.patch
sysctl-c99-convert-arch-ia64-sn-kernel-xpc_mainc.patch
sysctl-c99-convert-arch-ia64-kernel-perfmon-and-remove-abi-breakage.patch
sysctl-mips-au1000-remove-sys_sysctl-support.patch
sysctl-c99-convert-the-ctl_tables-in-arch-mips-au1000-common-powerc.patch
sysctl-c99-convert-arch-mips-lasat-sysctlc-and-remove-abi-breakage.patch
sysctl-s390-move-sysctl-definitions-to-sysctlh.patch
sysctl-s390-move-sysctl-definitions-to-sysctlh-fix.patch
sysctl-s390-remove-unnecessary-use-of-insert_at_head.patch
sysctl-c99-convert-ctl_tables-in-arch-powerpc-kernel-idlec.patch
sysctl-c99-convert-ctl_tables-entries-in-arch-ppc-kernel-ppc_htabc.patch
sysctl-c99-convert-arch-sh64-kernel-trapsc-and-remove-abi-breakage.patch
sysctl-x86_64-remove-unnecessary-use-of-insert_at_head.patch
sysctl-c99-convert-ctl_tables-in-arch-x86_64-ia32-ia32_binfmtc.patch
sysctl-c99-convert-ctl_tables-in-arch-x86_64-kernel-vsyscallc.patch
sysctl-c99-convert-ctl_tables-in-arch-x86_64-mm-initc.patch
sysctl-remove-sys_sysctl-support-from-the-hpet-timer-driver.patch
sysctl-remove-sys_sysctl-support-from-drivers-char-rtcc.patch
sysctl-register-the-sysctl-number-used-by-the-arlan-driver.patch
sysctl-c99-convert-ctl_tables-in-drivers-parport-procfsc.patch
sysctl-c99-convert-ctl_tables-in-drivers-parport-procfsc-fix.patch
sysctl-c99-convert-coda-ctl_tables-and-remove-binary-sysctls.patch
sysctl-c99-convert-ctl_tables-in-ntfs-and-remove-sys_sysctl-support.patch
sysctl-c99-convert-ctl_tables-in-ntfs-and-remove-sys_sysctl-support-fix.patch
sysctl-register-the-ocfs2-sysctl-numbers.patch
sysctl-move-init_irq_proc-into-init-main-where-it-belongs.patch
sysctl-move-utsname-sysctls-to-their-own-file.patch
sysctl-move-utsname-sysctls-to-their-own-file-fix-2.patch
sysctl-move-sysv-ipc-sysctls-to-their-own-file.patch
sysctl-move-sysv-ipc-sysctls-to-their-own-file-fix.patch
sysctl-move-sysv-ipc-sysctls-to-their-own-file-fix-2.patch
sysctl-create-sys-fs-binfmt_misc-as-an-ordinary-sysctl-entry.patch
sysctl-create-sys-fs-binfmt_misc-as-an-ordinary-sysctl-entry-warning-fix.patch
sysctl-remove-support-for-ctl_any.patch
sysctl-remove-support-for-directory-strategy-routines.patch
sysctl-remove-insert_at_head-from-register_sysctl.patch
sysctl-remove-insert_at_head-from-register_sysctl-fix.patch
sysctl-factor-out-sysctl_head_next-from-do_sysctl.patch
sysctl-factor-out-sysctl_head_next-from-do_sysctl-warning-fix.patch
sysctl-allow-sysctl_perm-to-be-called-from-outside-of-sysctlc.patch
sysctl-reimplement-the-sysctl-proc-support.patch
sysctl-reimplement-the-sysctl-proc-support-fix.patch
sysctl-reimplement-the-sysctl-proc-support-warning-fix.patch
sysctl-reimplement-the-sysctl-proc-support-fix-2.patch
sysctl-reimplement-the-sysctl-proc-support-fix-3.patch
sysctl-add-a-parent-entry-to-ctl_table-and-set-the-parent-entry.patch
sysctl-remove-the-proc_dir_entry-member-for-the-sysctl-tables.patch
sysctl-remove-the-proc_dir_entry-member-for-the-sysctl-tables-fix.patch
sysctl-remove-the-proc_dir_entry-member-for-the-sysctl-tables-fix-2.patch
sysctl-remove-the-proc_dir_entry-member-for-the-sysctl-tables-ntfs-fix.patch

 Will merge if we can sort out the selinux problems.

make-sure-nobodys-leaking-resources.patch
journal_add_journal_head-debug.patch
page-owner-tracking-leak-detector.patch
firestream-warnings.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
i386-enable-4k-stacks-by-default.patch
mutex-subsystem-synchro-test-module.patch
mutex-subsystem-synchro-test-module-fix.patch
slab-leaks3-default-y.patch
profile-likely-unlikely-macros.patch
profile_likely-export-do_check_likely.patch
profile-likely-unlikely-macros_remove-likely-profiling-int-cast.patch
profile-likely-unlikely-macros-x86_64-fix.patch
vdso-print-fatal-signals.patch
vdso-improve-print_fatal_signals-support-by-adding-memory-maps.patch
vdso-print-fatal-signals-use-ctl_unnumbered.patch
restore-rogue-readahead-printk.patch
put_bh-debug.patch
e1000_7033_dump_ring.patch
e1000-printk-warning-fixes.patch
acpi_format_exception-debug.patch
lockdep-show-held-locks-when-showing-a-stackdump.patch
lockdep-show-held-locks-when-showing-a-stackdump-fix.patch
lockdep-show-held-locks-when-showing-a-stackdump-fix-2.patch
add-debugging-aid-for-memory-initialisation-problems.patch
add-debugging-aid-for-memory-initialisation-problems-fix.patch
kmap_atomic-debugging.patch
shrink_slab-handle-bad-shrinkers.patch
ia64-enable-config_debug_spinlock_sleep.patch
squash-ipc-warnings.patch
squash-udf-warnings.patch

 -mm only stuff.



^ permalink raw reply	[flat|nested] 65+ messages in thread

* Re: -mm merge plans for 2.6.21
  2007-02-08 23:07 -mm merge plans for 2.6.21 Andrew Morton
@ 2007-02-08 23:12 ` Roland Dreier
  2007-02-08 23:29 ` Jan Engelhardt
                   ` (8 subsequent siblings)
  9 siblings, 0 replies; 65+ messages in thread
From: Roland Dreier @ 2007-02-08 23:12 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

 > infiniband-work-around-gcc-bug-on-sparc64.patch
 > ehca-fix-memleak-on-module-unloading.patch

 >  -> roland

Sorry, I misunderstood your email.  I thought it was just a CC of
stuff you were already merging.  I will handle these patches.

 - R.

^ permalink raw reply	[flat|nested] 65+ messages in thread

* Re: -mm merge plans for 2.6.21
  2007-02-08 23:07 -mm merge plans for 2.6.21 Andrew Morton
  2007-02-08 23:12 ` Roland Dreier
@ 2007-02-08 23:29 ` Jan Engelhardt
  2007-02-08 23:44   ` Andrew Morton
  2007-02-09 10:57   ` Frederik Deweerdt
  2007-02-08 23:34 ` Kyle McMartin
                   ` (7 subsequent siblings)
  9 siblings, 2 replies; 65+ messages in thread
From: Jan Engelhardt @ 2007-02-08 23:29 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel


On Feb 8 2007 15:07, Andrew Morton wrote:

>scheduled-removal-of-sa_xxx-interrupt-flags-fixups.patch
>scheduled-removal-of-sa_xxx-interrupt-flags-fixups-2.patch
>scheduled-removal-of-sa_xxx-interrupt-flags.patch
>scheduled-removal-of-sa_xxx-interrupt-flags-ata-fix.patch
>
> This removes SA_INTERRUPT and friends, so 10000000 external drivers won't
> compile any more.  I think I'd prefer to find a way to get usage of SA_* to
> spit a deprecated warning.

Here's an idea:

#define SA_INTERRUPT sa_interrupt_with_warning()
static inline int sa_interrupt_with_warning(void) {
    if(more_or_less_often)
        printk(fat_warning);
    return 0x123456; /* whatever numerical value it is */
}


Jan
-- 
ft: http://freshmeat.net/p/chaostables/

^ permalink raw reply	[flat|nested] 65+ messages in thread

* Re: -mm merge plans for 2.6.21
  2007-02-08 23:07 -mm merge plans for 2.6.21 Andrew Morton
  2007-02-08 23:12 ` Roland Dreier
  2007-02-08 23:29 ` Jan Engelhardt
@ 2007-02-08 23:34 ` Kyle McMartin
  2007-02-08 23:53   ` Andrew Morton
  2007-02-09  5:32 ` Bharata B Rao
                   ` (6 subsequent siblings)
  9 siblings, 1 reply; 65+ messages in thread
From: Kyle McMartin @ 2007-02-08 23:34 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

On Thu, Feb 08, 2007 at 03:07:10PM -0800, Andrew Morton wrote:
> I'm getting fed up of holding onto hundreds of patches against subsystem
> trees, sending them over and over again seeing and nothing happen.  I sent 242
> patches out to subsystem maintainers on Monday and look at what's still here.
> 
> parisc-fix-module_param-iommu-permission.patch
> pa-risc-fix-bogus-warnings-from-modpost.patch
> use-__u64-rather-than-u64-in-parisc-statfs-structs.patch
> 
>  -> kyle
> 

Sorry, I thought the mails meant you were dumping to Linus. Will
merge.

^ permalink raw reply	[flat|nested] 65+ messages in thread

* Re: -mm merge plans for 2.6.21
  2007-02-08 23:29 ` Jan Engelhardt
@ 2007-02-08 23:44   ` Andrew Morton
  2007-02-09 15:02     ` Thomas Gleixner
  2007-02-09 10:57   ` Frederik Deweerdt
  1 sibling, 1 reply; 65+ messages in thread
From: Andrew Morton @ 2007-02-08 23:44 UTC (permalink / raw)
  To: Jan Engelhardt; +Cc: linux-kernel

On Fri, 9 Feb 2007 00:29:06 +0100 (MET)
Jan Engelhardt <jengelh@linux01.gwdg.de> wrote:

> 
> On Feb 8 2007 15:07, Andrew Morton wrote:
> 
> >scheduled-removal-of-sa_xxx-interrupt-flags-fixups.patch
> >scheduled-removal-of-sa_xxx-interrupt-flags-fixups-2.patch
> >scheduled-removal-of-sa_xxx-interrupt-flags.patch
> >scheduled-removal-of-sa_xxx-interrupt-flags-ata-fix.patch
> >
> > This removes SA_INTERRUPT and friends, so 10000000 external drivers won't
> > compile any more.  I think I'd prefer to find a way to get usage of SA_* to
> > spit a deprecated warning.
> 
> Here's an idea:
> 
> #define SA_INTERRUPT sa_interrupt_with_warning()
> static inline int sa_interrupt_with_warning(void) {
>     if(more_or_less_often)
>         printk(fat_warning);
>     return 0x123456; /* whatever numerical value it is */
> }
> 

Yeah, this seems to work.

--- a/include/linux/interrupt.h~deprecate-sa_interrupt-and-friends
+++ a/include/linux/interrupt.h
@@ -54,17 +54,32 @@
  * Migration helpers. Scheduled for removal in 1/2007
  * Do not use for new code !
  */
-#define SA_INTERRUPT		IRQF_DISABLED
-#define SA_SAMPLE_RANDOM	IRQF_SAMPLE_RANDOM
-#define SA_SHIRQ		IRQF_SHARED
-#define SA_PROBEIRQ		IRQF_PROBE_SHARED
-#define SA_PERCPU		IRQF_PERCPU
-
-#define SA_TRIGGER_LOW		IRQF_TRIGGER_LOW
-#define SA_TRIGGER_HIGH		IRQF_TRIGGER_HIGH
-#define SA_TRIGGER_FALLING	IRQF_TRIGGER_FALLING
-#define SA_TRIGGER_RISING	IRQF_TRIGGER_RISING
-#define SA_TRIGGER_MASK		IRQF_TRIGGER_MASK
+#define emit_old_interrupt_name(old, new)				\
+static inline unsigned __deprecated emit_old_interrupt_name##old(void)	\
+{									\
+	return (new);							\
+}
+
+emit_old_interrupt_name(SA_INTERRUPT, IRQF_DISABLED)
+#define SA_INTERRUPT emit_old_interrupt_nameSA_INTERRUPT()
+emit_old_interrupt_name(SA_SAMPLE_RANDOM, IRQF_SAMPLE_RANDOM)
+#define SA_SAMPLE_RANDOM emit_old_interrupt_nameSA_SAMPLE_RANDOM()
+emit_old_interrupt_name(SA_SHIRQ, IRQF_SHARED)
+#define SA_SHIRQ emit_old_interrupt_nameSA_SHIRQ()
+emit_old_interrupt_name(SA_PROBEIRQ, IRQF_PROBE_SHARED)
+#define SA_PROBEIRQ emit_old_interrupt_nameSA_PROBEIRQ()
+emit_old_interrupt_name(SA_PERCPU, IRQF_PERCPU)
+#define SA_PERCPU emit_old_interrupt_nameSA_PERCPU()
+emit_old_interrupt_name(SA_TRIGGER_LOW, IRQF_TRIGGER_LOW)
+#define SA_TRIGGER_LOW emit_old_interrupt_nameSA_TRIGGER_LOW()
+emit_old_interrupt_name(SA_TRIGGER_HIGH, IRQF_TRIGGER_HIGH)
+#define SA_TRIGGER_HIGH emit_old_interrupt_nameSA_TRIGGER_HIGH()
+emit_old_interrupt_name(SA_TRIGGER_FALLING, IRQF_TRIGGER_FALLING)
+#define SA_TRIGGER_FALLING emit_old_interrupt_nameSA_TRIGGER_FALLING()
+emit_old_interrupt_name(SA_TRIGGER_RISING, IRQF_TRIGGER_RISING)
+#define SA_TRIGGER_RISING emit_old_interrupt_nameSA_TRIGGER_RISING()
+emit_old_interrupt_name(SA_TRIGGER_MASK, IRQF_TRIGGER_MASK)
+#define SA_TRIGGER_MASK emit_old_interrupt_nameSA_TRIGGER_MASK()
 
 typedef irqreturn_t (*irq_handler_t)(int, void *);
 
_

For some reason

	enum foo {
		...
	} __deprecated;

doesn't work.

^ permalink raw reply	[flat|nested] 65+ messages in thread

* Re: -mm merge plans for 2.6.21
  2007-02-08 23:34 ` Kyle McMartin
@ 2007-02-08 23:53   ` Andrew Morton
  2007-02-09  0:55     ` Paul Mackerras
  0 siblings, 1 reply; 65+ messages in thread
From: Andrew Morton @ 2007-02-08 23:53 UTC (permalink / raw)
  To: Kyle McMartin; +Cc: linux-kernel

On Thu, 8 Feb 2007 18:34:49 -0500
Kyle McMartin <kyle@mcmartin.ca> wrote:

> On Thu, Feb 08, 2007 at 03:07:10PM -0800, Andrew Morton wrote:
> > I'm getting fed up of holding onto hundreds of patches against subsystem
> > trees, sending them over and over again seeing and nothing happen.  I sent 242
> > patches out to subsystem maintainers on Monday and look at what's still here.
> > 
> > parisc-fix-module_param-iommu-permission.patch
> > pa-risc-fix-bogus-warnings-from-modpost.patch
> > use-__u64-rather-than-u64-in-parisc-statfs-structs.patch
> > 
> >  -> kyle
> > 
> 
> Sorry, I thought the mails meant you were dumping to Linus. Will
> merge.

Once a subsystem has a subsystem tree (git or quilt) I basically never
merge anything which belongs to that tree.  It's always

	originator->mm->subsystemtree->Linus

If the subsystem tree maintainer wants to tell me "I can't be bothered
setting up a git pull for that, please merge it for me" then that's fine.

But unless I'm told that, or unless the maintainer is vacationing or totally
asleep or unless the fix has some sufficiently high obviousness*importance product,
I'll just keep buffering it up.  

^ permalink raw reply	[flat|nested] 65+ messages in thread

* Re: -mm merge plans for 2.6.21
  2007-02-08 23:53   ` Andrew Morton
@ 2007-02-09  0:55     ` Paul Mackerras
  2007-02-09  1:00       ` Andrew Morton
  0 siblings, 1 reply; 65+ messages in thread
From: Paul Mackerras @ 2007-02-09  0:55 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Kyle McMartin, linux-kernel

Andrew Morton writes:

> Once a subsystem has a subsystem tree (git or quilt) I basically never
> merge anything which belongs to that tree.  It's always
> 
> 	originator->mm->subsystemtree->Linus
> 
> If the subsystem tree maintainer wants to tell me "I can't be bothered
> setting up a git pull for that, please merge it for me" then that's fine.
> 
> But unless I'm told that, or unless the maintainer is vacationing or totally
> asleep or unless the fix has some sufficiently high obviousness*importance product,
> I'll just keep buffering it up.  

What about the sort of thing that crosses all archs?  For example, the
local_t changes?  Particularly in the case where the change has to be
made in generic code and in all archs at the same time, it makes sense
to me for you to send the whole batch to Linus at the same time,
rather than individual arch maintainers all sending their bit at
varying times.

Paul.

^ permalink raw reply	[flat|nested] 65+ messages in thread

* Re: -mm merge plans for 2.6.21
  2007-02-09  0:55     ` Paul Mackerras
@ 2007-02-09  1:00       ` Andrew Morton
  0 siblings, 0 replies; 65+ messages in thread
From: Andrew Morton @ 2007-02-09  1:00 UTC (permalink / raw)
  To: Paul Mackerras; +Cc: Kyle McMartin, linux-kernel

On Fri, 9 Feb 2007 11:55:40 +1100
Paul Mackerras <paulus@samba.org> wrote:

> Andrew Morton writes:
> 
> > Once a subsystem has a subsystem tree (git or quilt) I basically never
> > merge anything which belongs to that tree.  It's always
> > 
> > 	originator->mm->subsystemtree->Linus
> > 
> > If the subsystem tree maintainer wants to tell me "I can't be bothered
> > setting up a git pull for that, please merge it for me" then that's fine.
> > 
> > But unless I'm told that, or unless the maintainer is vacationing or totally
> > asleep or unless the fix has some sufficiently high obviousness*importance product,
> > I'll just keep buffering it up.  
> 
> What about the sort of thing that crosses all archs?  For example, the
> local_t changes?  Particularly in the case where the change has to be
> made in generic code and in all archs at the same time, it makes sense
> to me for you to send the whole batch to Linus at the same time,
> rather than individual arch maintainers all sending their bit at
> varying times.
> 

yup.  It's better of course if the changes aren't both-way dependent and
often we do it that way.  But if they really are that bound together then
I'll stage the patch in -mm, ensure that it doesn't conflict with any
queued-up arch patches and will merge it after the arch trees have gone in.


^ permalink raw reply	[flat|nested] 65+ messages in thread

* Re: -mm merge plans for 2.6.21
  2007-02-08 23:07 -mm merge plans for 2.6.21 Andrew Morton
                   ` (2 preceding siblings ...)
  2007-02-08 23:34 ` Kyle McMartin
@ 2007-02-09  5:32 ` Bharata B Rao
  2007-02-09  8:26   ` Sébastien Dugué
  2007-02-09  9:54 ` Lenar Lõhmus
                   ` (5 subsequent siblings)
  9 siblings, 1 reply; 65+ messages in thread
From: Bharata B Rao @ 2007-02-09  5:32 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

Andrew,

On 2/9/07, Andrew Morton <akpm@linux-foundation.org> wrote:
> fsaio-add-a-wait-queue-arg-to-the-wait_bit-action-routine.patch
> fsaio-add-a-wait-queue-arg-to-the-wait_bit-action-routine-gfs2-fix.patch
> fsaio-rename-__lock_page-to-lock_page_blocking.patch
> fsaio-interfaces-to-initialize-and-to-test-a-wait-bit-key.patch
> fsaio-add-a-default-io-wait-bit-field-in-task-struct.patch
> fsaio-enable-wait-bit-based-filtered-wakeups-to-work-for-aio.patch
> fsaio-enable-wait-bit-based-filtered-wakeups-to-work-for-aio-fix.patch
> fsaio-enable-wait-bit-based-filtered-wakeups-to-work-for-aio-fix-sparse-fix.patch
> fsaio-enable-asynchronous-wait-page-and-lock-page.patch
> fsaio-filesystem-aio-read.patch
> fsaio-aio-o_sync-filesystem-write.patch
>
>  Will wait to see what happens with febrils.
>
> aio-is-unlikely.patch
>
>  Will merge.
>
> rework-compat_sys_io_submit.patch
> fix-aioh-includes.patch
> fix-access_ok-checks.patch
> make-good_sigevent-non-static.patch
> make-good_sigevent-non-static-fix.patch
> make-__sigqueue_free-and.patch
> aio-completion-signal-notification.patch
> aio-completion-signal-notification-fix.patch
> aio-completion-signal-notification-fixes-and-cleanups.patch
> aio-completion-signal-notification-small-cleanup.patch
> add-listio-syscall-support.patch
>
>  I guess these are dependent upon fsaio.

No. AIO completion signal notification patches and listio patch work
independently of fsaio patches. Just that for buffered AIO case, the
fsaio patches will make the behaviour truly asynchronous.

Regards,
Bharata.

^ permalink raw reply	[flat|nested] 65+ messages in thread

* Re: -mm merge plans for 2.6.21
  2007-02-09  5:32 ` Bharata B Rao
@ 2007-02-09  8:26   ` Sébastien Dugué
  2007-02-09  9:05     ` Andrew Morton
  0 siblings, 1 reply; 65+ messages in thread
From: Sébastien Dugué @ 2007-02-09  8:26 UTC (permalink / raw)
  To: Bharata B Rao; +Cc: Andrew Morton, linux-kernel

On Fri, 9 Feb 2007 11:02:28 +0530 "Bharata B Rao" <bharata.rao@gmail.com> wrote:

> Andrew,
> 
> On 2/9/07, Andrew Morton <akpm@linux-foundation.org> wrote:
> > fsaio-add-a-wait-queue-arg-to-the-wait_bit-action-routine.patch
> > fsaio-add-a-wait-queue-arg-to-the-wait_bit-action-routine-gfs2-fix.patch
> > fsaio-rename-__lock_page-to-lock_page_blocking.patch
> > fsaio-interfaces-to-initialize-and-to-test-a-wait-bit-key.patch
> > fsaio-add-a-default-io-wait-bit-field-in-task-struct.patch
> > fsaio-enable-wait-bit-based-filtered-wakeups-to-work-for-aio.patch
> > fsaio-enable-wait-bit-based-filtered-wakeups-to-work-for-aio-fix.patch
> > fsaio-enable-wait-bit-based-filtered-wakeups-to-work-for-aio-fix-sparse-fix.patch
> > fsaio-enable-asynchronous-wait-page-and-lock-page.patch
> > fsaio-filesystem-aio-read.patch
> > fsaio-aio-o_sync-filesystem-write.patch
> >
> >  Will wait to see what happens with febrils.
> >
> > aio-is-unlikely.patch
> >
> >  Will merge.
> >
> > rework-compat_sys_io_submit.patch
> > fix-aioh-includes.patch
> > fix-access_ok-checks.patch
> > make-good_sigevent-non-static.patch
> > make-good_sigevent-non-static-fix.patch
> > make-__sigqueue_free-and.patch
> > aio-completion-signal-notification.patch
> > aio-completion-signal-notification-fix.patch
> > aio-completion-signal-notification-fixes-and-cleanups.patch
> > aio-completion-signal-notification-small-cleanup.patch
> > add-listio-syscall-support.patch
> >
> >  I guess these are dependent upon fsaio.
> 
> No. AIO completion signal notification patches and listio patch work
> independently of fsaio patches. Just that for buffered AIO case, the
> fsaio patches will make the behaviour truly asynchronous.
> 
> Regards,
> Bharata.

  I concur.

  Thanks,

  Sébastien.


^ permalink raw reply	[flat|nested] 65+ messages in thread

* Re: -mm merge plans for 2.6.21
  2007-02-09  8:26   ` Sébastien Dugué
@ 2007-02-09  9:05     ` Andrew Morton
  2007-02-09 10:10       ` Sébastien Dugué
  0 siblings, 1 reply; 65+ messages in thread
From: Andrew Morton @ 2007-02-09  9:05 UTC (permalink / raw)
  To: Sébastien Dugué; +Cc: Bharata B Rao, linux-kernel

On Fri, 9 Feb 2007 09:26:11 +0100 Sébastien Dugué <sebastien.dugue@bull.net> wrote:

> On Fri, 9 Feb 2007 11:02:28 +0530 "Bharata B Rao" <bharata.rao@gmail.com> wrote:
> 
> > Andrew,
> > 
> > On 2/9/07, Andrew Morton <akpm@linux-foundation.org> wrote:
> > > fsaio-add-a-wait-queue-arg-to-the-wait_bit-action-routine.patch
> > > fsaio-add-a-wait-queue-arg-to-the-wait_bit-action-routine-gfs2-fix.patch
> > > fsaio-rename-__lock_page-to-lock_page_blocking.patch
> > > fsaio-interfaces-to-initialize-and-to-test-a-wait-bit-key.patch
> > > fsaio-add-a-default-io-wait-bit-field-in-task-struct.patch
> > > fsaio-enable-wait-bit-based-filtered-wakeups-to-work-for-aio.patch
> > > fsaio-enable-wait-bit-based-filtered-wakeups-to-work-for-aio-fix.patch
> > > fsaio-enable-wait-bit-based-filtered-wakeups-to-work-for-aio-fix-sparse-fix.patch
> > > fsaio-enable-asynchronous-wait-page-and-lock-page.patch
> > > fsaio-filesystem-aio-read.patch
> > > fsaio-aio-o_sync-filesystem-write.patch
> > >
> > >  Will wait to see what happens with febrils.
> > >
> > > aio-is-unlikely.patch
> > >
> > >  Will merge.
> > >
> > > rework-compat_sys_io_submit.patch
> > > fix-aioh-includes.patch
> > > fix-access_ok-checks.patch
> > > make-good_sigevent-non-static.patch
> > > make-good_sigevent-non-static-fix.patch
> > > make-__sigqueue_free-and.patch
> > > aio-completion-signal-notification.patch
> > > aio-completion-signal-notification-fix.patch
> > > aio-completion-signal-notification-fixes-and-cleanups.patch
> > > aio-completion-signal-notification-small-cleanup.patch
> > > add-listio-syscall-support.patch
> > >
> > >  I guess these are dependent upon fsaio.
> > 
> > No. AIO completion signal notification patches and listio patch work
> > independently of fsaio patches. Just that for buffered AIO case, the
> > fsaio patches will make the behaviour truly asynchronous.
> > 
> > Regards,
> > Bharata.
> 
>   I concur.
> 

But is the proposed listio implementation still relevant if we go and add
the async syscalls? 

^ permalink raw reply	[flat|nested] 65+ messages in thread

* Re: -mm merge plans for 2.6.21
  2007-02-08 23:07 -mm merge plans for 2.6.21 Andrew Morton
                   ` (3 preceding siblings ...)
  2007-02-09  5:32 ` Bharata B Rao
@ 2007-02-09  9:54 ` Lenar Lõhmus
  2007-02-09 10:12   ` Andrew Morton
  2007-02-09 17:35 ` David Woodhouse
                   ` (4 subsequent siblings)
  9 siblings, 1 reply; 65+ messages in thread
From: Lenar Lõhmus @ 2007-02-09  9:54 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

Hello,

Andrew Morton wrote:
> sched-add-above-background-load-function.patch
> mm-implement-swap-prefetching.patch
> mm-implement-swap-prefetching-vs-zvc-stuff.patch
> mm-implement-swap-prefetching-vs-zvc-stuff-2.patch
> mm-implement-swap-prefetching-use-ctl_unnumbered.patch
> swap_prefetch-vs-zoned-counters.patch
> add-include-linux-freezerh-and-move-definitions-from-prefetch.patch
> zvc-support-nr_slab_reclaimable--nr_slab_unreclaimable-swap_prefetch.patch
> reduce-max_nr_zones-swap_prefetch-remove-incorrect-use-of-zone_highmem.patch
> sched-cleanup-remove-task_t-convert-to-struct-task_struct-prefetch.patch
> numa-add-zone_to_nid-function-swap_prefetch.patch
> remove-uses-of-kmem_cache_t-from-mm-and-include-linux-slabh-prefetch.patch
>
>  Hold.
Why hold?

It's been shown this patchset really helps desktop users. Why keep it in -mm
for so long?

L.


^ permalink raw reply	[flat|nested] 65+ messages in thread

* Re: -mm merge plans for 2.6.21
  2007-02-09  9:05     ` Andrew Morton
@ 2007-02-09 10:10       ` Sébastien Dugué
  0 siblings, 0 replies; 65+ messages in thread
From: Sébastien Dugué @ 2007-02-09 10:10 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Bharata B Rao, linux-kernel

On Fri, 9 Feb 2007 01:05:57 -0800 Andrew Morton <akpm@linux-foundation.org> wrote:

> On Fri, 9 Feb 2007 09:26:11 +0100 Sébastien Dugué <sebastien.dugue@bull.net> wrote:
> 
> > On Fri, 9 Feb 2007 11:02:28 +0530 "Bharata B Rao" <bharata.rao@gmail.com> wrote:
> > 
> > > Andrew,
> > > 
> > > On 2/9/07, Andrew Morton <akpm@linux-foundation.org> wrote:
> > > > fsaio-add-a-wait-queue-arg-to-the-wait_bit-action-routine.patch
> > > > fsaio-add-a-wait-queue-arg-to-the-wait_bit-action-routine-gfs2-fix.patch
> > > > fsaio-rename-__lock_page-to-lock_page_blocking.patch
> > > > fsaio-interfaces-to-initialize-and-to-test-a-wait-bit-key.patch
> > > > fsaio-add-a-default-io-wait-bit-field-in-task-struct.patch
> > > > fsaio-enable-wait-bit-based-filtered-wakeups-to-work-for-aio.patch
> > > > fsaio-enable-wait-bit-based-filtered-wakeups-to-work-for-aio-fix.patch
> > > > fsaio-enable-wait-bit-based-filtered-wakeups-to-work-for-aio-fix-sparse-fix.patch
> > > > fsaio-enable-asynchronous-wait-page-and-lock-page.patch
> > > > fsaio-filesystem-aio-read.patch
> > > > fsaio-aio-o_sync-filesystem-write.patch
> > > >
> > > >  Will wait to see what happens with febrils.
> > > >
> > > > aio-is-unlikely.patch
> > > >
> > > >  Will merge.
> > > >
> > > > rework-compat_sys_io_submit.patch
> > > > fix-aioh-includes.patch
> > > > fix-access_ok-checks.patch
> > > > make-good_sigevent-non-static.patch
> > > > make-good_sigevent-non-static-fix.patch
> > > > make-__sigqueue_free-and.patch
> > > > aio-completion-signal-notification.patch
> > > > aio-completion-signal-notification-fix.patch
> > > > aio-completion-signal-notification-fixes-and-cleanups.patch
> > > > aio-completion-signal-notification-small-cleanup.patch
> > > > add-listio-syscall-support.patch
> > > >
> > > >  I guess these are dependent upon fsaio.
> > > 
> > > No. AIO completion signal notification patches and listio patch work
> > > independently of fsaio patches. Just that for buffered AIO case, the
> > > fsaio patches will make the behaviour truly asynchronous.
> > > 
> > > Regards,
> > > Bharata.
> > 
> >   I concur.
> > 
> 
> But is the proposed listio implementation still relevant if we go and add
> the async syscalls? 

  I think the listio syscall could be emulated in userspace using async
syscalls.

  Even more, the whole POSIX AIO functions could benefit from this, rendering
aio.c obsolete.

  Sébastien.

^ permalink raw reply	[flat|nested] 65+ messages in thread

* Re: -mm merge plans for 2.6.21
  2007-02-09  9:54 ` Lenar Lõhmus
@ 2007-02-09 10:12   ` Andrew Morton
  2007-02-09 12:48     ` James
  2007-02-09 12:59     ` Lenar Lõhmus
  0 siblings, 2 replies; 65+ messages in thread
From: Andrew Morton @ 2007-02-09 10:12 UTC (permalink / raw)
  To: Lenar Lõhmus; +Cc: linux-kernel

On Fri, 09 Feb 2007 11:54:29 +0200 Lenar Lõhmus <lenar@vision.ee> wrote:

> Hello,
> 
> Andrew Morton wrote:
> > sched-add-above-background-load-function.patch
> > mm-implement-swap-prefetching.patch
> > mm-implement-swap-prefetching-vs-zvc-stuff.patch
> > mm-implement-swap-prefetching-vs-zvc-stuff-2.patch
> > mm-implement-swap-prefetching-use-ctl_unnumbered.patch
> > swap_prefetch-vs-zoned-counters.patch
> > add-include-linux-freezerh-and-move-definitions-from-prefetch.patch
> > zvc-support-nr_slab_reclaimable--nr_slab_unreclaimable-swap_prefetch.patch
> > reduce-max_nr_zones-swap_prefetch-remove-incorrect-use-of-zone_highmem.patch
> > sched-cleanup-remove-task_t-convert-to-struct-task_struct-prefetch.patch
> > numa-add-zone_to_nid-function-swap_prefetch.patch
> > remove-uses-of-kmem_cache_t-from-mm-and-include-linux-slabh-prefetch.patch
> >
> >  Hold.
> Why hold?
> 
> It's been shown this patchset really helps desktop users.

Has it?  I don't think I've ever observed any benefits from it and I don't
think anyone has ever got down and worked out what its drawbacks might be,
and seen if they can be demonstrated in practice.

I also have vague memories of some serious-sounding review comments about
the code from Nick.

> Why keep it in -mm for so long?

I'm waiting to be shown that its benefits exceed its costs.  Sometimes
that's hard.


^ permalink raw reply	[flat|nested] 65+ messages in thread

* Re: -mm merge plans for 2.6.21
  2007-02-08 23:29 ` Jan Engelhardt
  2007-02-08 23:44   ` Andrew Morton
@ 2007-02-09 10:57   ` Frederik Deweerdt
  2007-02-09 11:24     ` Arjan van de Ven
  1 sibling, 1 reply; 65+ messages in thread
From: Frederik Deweerdt @ 2007-02-09 10:57 UTC (permalink / raw)
  To: Jan Engelhardt; +Cc: Andrew Morton, linux-kernel, tglx

On Fri, Feb 09, 2007 at 12:29:06AM +0100, Jan Engelhardt wrote:
> 
> On Feb 8 2007 15:07, Andrew Morton wrote:
> 
> >scheduled-removal-of-sa_xxx-interrupt-flags-fixups.patch
> >scheduled-removal-of-sa_xxx-interrupt-flags-fixups-2.patch
> >scheduled-removal-of-sa_xxx-interrupt-flags.patch
> >scheduled-removal-of-sa_xxx-interrupt-flags-ata-fix.patch
> >
> > This removes SA_INTERRUPT and friends, so 10000000 external drivers won't
> > compile any more.  I think I'd prefer to find a way to get usage of SA_* to
> > spit a deprecated warning.
> 
> Here's an idea:
> 
> #define SA_INTERRUPT sa_interrupt_with_warning()
> static inline int sa_interrupt_with_warning(void) {
>     if(more_or_less_often)
>         printk(fat_warning);
>     return 0x123456; /* whatever numerical value it is */
> }
> 
I'd say that we want to warn the developper, not the user, isn't it?
The attached patch marks the variables as __deprecated, and re-schedules
the removal for January 2008.

Regards,
Frederik


diff --git a/Documentation/feature-removal-schedule.txt b/Documentation/feature-removal-schedule.txt
index b7c642c..4a5aad3 100644
--- a/Documentation/feature-removal-schedule.txt
+++ b/Documentation/feature-removal-schedule.txt
@@ -308,3 +308,12 @@ Why:   OSS drivers with ALSA replacements
 Who:   Adrian Bunk <bunk@stusta.de>
 
 ---------------------------
+
+What:	Interrupt only SA_* flags
+When:	January 2008
+Why:	The interrupt related SA_* flags are replaced by IRQF_* to move them
+	out of the signal namespace.
+
+Who:	Frederik Deweerdt <deweerdt@free.fr>
+
+---------------------------
diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h
index e66b458..472f2d2 100644
--- a/include/linux/interrupt.h
+++ b/include/linux/interrupt.h
@@ -52,6 +52,25 @@
 #define IRQF_PERCPU		0x00000400
 #define IRQF_NOBALANCING	0x00000800
 
+/*
+ * Migration helpers. Scheduled for removal in 1/2008
+ * SA_* flags are now deprecated, leaving time for out-of-the-tree drivers 
+ * to catch up.
+ *
+ * Do not use for new code !
+ */
+static const int __deprecated SA_INTERRUPT = IRQF_DISABLED;
+static const int __deprecated SA_SAMPLE_RANDOM = IRQF_SAMPLE_RANDOM;
+static const int __deprecated SA_SHIRQ = IRQF_SHARED;
+static const int __deprecated SA_PROBEIRQ = IRQF_PROBE_SHARED;
+static const int __deprecated SA_PERCPU = IRQF_PERCPU;
+
+static const int __deprecated SA_TRIGGER_LOW = IRQF_TRIGGER_LOW;
+static const int __deprecated SA_TRIGGER_HIGH = IRQF_TRIGGER_HIGH;
+static const int __deprecated SA_TRIGGER_FALLING = IRQF_TRIGGER_FALLING;
+static const int __deprecated SA_TRIGGER_RISING = IRQF_TRIGGER_RISING;
+static const int __deprecated SA_TRIGGER_MASK = IRQF_TRIGGER_MASK;
+
 typedef irqreturn_t (*irq_handler_t)(int, void *);
 
 struct irqaction {

^ permalink raw reply related	[flat|nested] 65+ messages in thread

* Re: -mm merge plans for 2.6.21
  2007-02-09 10:57   ` Frederik Deweerdt
@ 2007-02-09 11:24     ` Arjan van de Ven
  2007-02-09 11:39       ` Andrew Morton
  2007-02-10 11:42       ` Arnd Bergmann
  0 siblings, 2 replies; 65+ messages in thread
From: Arjan van de Ven @ 2007-02-09 11:24 UTC (permalink / raw)
  To: Frederik Deweerdt; +Cc: Jan Engelhardt, Andrew Morton, linux-kernel, tglx

On Fri, 2007-02-09 at 10:57 +0000, Frederik Deweerdt wrote:
> +static const int __deprecated SA_INTERRUPT = IRQF_DISABLED;
> +static const int __deprecated SA_SAMPLE_RANDOM = IRQF_SAMPLE_RANDOM;
> +static const int __deprecated SA_SHIRQ = IRQF_SHARED;
> +static const int __deprecated SA_PROBEIRQ = IRQF_PROBE_SHARED;
> +static const int __deprecated SA_PERCPU = IRQF_PERCPU;
> +
> +static const int __deprecated SA_TRIGGER_LOW = IRQF_TRIGGER_LOW;
> +static const int __deprecated SA_TRIGGER_HIGH = IRQF_TRIGGER_HIGH;
> +static const int __deprecated SA_TRIGGER_FALLING = IRQF_TRIGGER_FALLING;
> +static const int __deprecated SA_TRIGGER_RISING = IRQF_TRIGGER_RISING;
> +static const int __deprecated SA_TRIGGER_MASK = IRQF_TRIGGER_MASK;

this will include these in every .o file for which the .c file includes
the header. NOT GOOD(tm)

why not just bite the bullet?
removing version.h also broke the same all external modules, and they
got fixed in days.. no big deal. kernel api change all the time, this
one has been around in "double mode" quite some time...



^ permalink raw reply	[flat|nested] 65+ messages in thread

* Re: -mm merge plans for 2.6.21
  2007-02-09 11:24     ` Arjan van de Ven
@ 2007-02-09 11:39       ` Andrew Morton
  2007-02-09 12:32         ` Arjan van de Ven
  2007-02-09 13:04         ` Andi Kleen
  2007-02-10 11:42       ` Arnd Bergmann
  1 sibling, 2 replies; 65+ messages in thread
From: Andrew Morton @ 2007-02-09 11:39 UTC (permalink / raw)
  To: Arjan van de Ven; +Cc: Frederik Deweerdt, Jan Engelhardt, linux-kernel, tglx

On Fri, 09 Feb 2007 12:24:33 +0100 Arjan van de Ven <arjan@infradead.org> wrote:

> On Fri, 2007-02-09 at 10:57 +0000, Frederik Deweerdt wrote:
> > +static const int __deprecated SA_INTERRUPT = IRQF_DISABLED;
> > +static const int __deprecated SA_SAMPLE_RANDOM = IRQF_SAMPLE_RANDOM;
> > +static const int __deprecated SA_SHIRQ = IRQF_SHARED;
> > +static const int __deprecated SA_PROBEIRQ = IRQF_PROBE_SHARED;
> > +static const int __deprecated SA_PERCPU = IRQF_PERCPU;
> > +
> > +static const int __deprecated SA_TRIGGER_LOW = IRQF_TRIGGER_LOW;
> > +static const int __deprecated SA_TRIGGER_HIGH = IRQF_TRIGGER_HIGH;
> > +static const int __deprecated SA_TRIGGER_FALLING = IRQF_TRIGGER_FALLING;
> > +static const int __deprecated SA_TRIGGER_RISING = IRQF_TRIGGER_RISING;
> > +static const int __deprecated SA_TRIGGER_MASK = IRQF_TRIGGER_MASK;
> 
> this will include these in every .o file for which the .c file includes
> the header. NOT GOOD(tm)

As long as nobody takes the address of them (which wouldn't compile today
anyway) then the compiler should be able to not allocate store for these. 
That they're const might help too.

> why not just bite the bullet?
> removing version.h also broke the same all external modules, and they
> got fixed in days.. no big deal. kernel api change all the time, this
> one has been around in "double mode" quite some time...

Pretty much every driver in the world will want these symbols.  I expect
we'll help some people by doing this, and the cost to us is very small.  

Plus we're getting a bad reputation out there for breaking stuff and
screwing people around, which isn't good.


^ permalink raw reply	[flat|nested] 65+ messages in thread

* Re: -mm merge plans for 2.6.21
  2007-02-09 13:04         ` Andi Kleen
@ 2007-02-09 12:27           ` Jan Engelhardt
  0 siblings, 0 replies; 65+ messages in thread
From: Jan Engelhardt @ 2007-02-09 12:27 UTC (permalink / raw)
  To: Andi Kleen
  Cc: Andrew Morton, Arjan van de Ven, Frederik Deweerdt, linux-kernel, tglx


On Feb 9 2007 14:04, Andi Kleen wrote:
>Andrew Morton <akpm@linux-foundation.org> writes:
>> 
>> As long as nobody takes the address of them (which wouldn't compile today
>> anyway) then the compiler should be able to not allocate store for these. 
>
>This would only work for unit-at-a-time compilers (if it works at all,
>i'm not sure), but not older 3.x compilers
>
>> That they're const might help too.
>
>Don't think it does.

GCC 4.1 optimizes both Andrew's and Frederik Deweerdt's ideas 
perfectly out. Even if the const was not there in Frederik's example, 
gcc seems throw it out with -O2 (judging by `nm` output) since it is
1. static 2. unused. Gcc even gives out a warning that the item is 
unused when not marked with const.


Jan
-- 
ft: http://freshmeat.net/p/chaostables/

^ permalink raw reply	[flat|nested] 65+ messages in thread

* Re: -mm merge plans for 2.6.21
  2007-02-09 11:39       ` Andrew Morton
@ 2007-02-09 12:32         ` Arjan van de Ven
  2007-02-09 14:05           ` deweerdt
  2007-02-09 13:04         ` Andi Kleen
  1 sibling, 1 reply; 65+ messages in thread
From: Arjan van de Ven @ 2007-02-09 12:32 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Frederik Deweerdt, Jan Engelhardt, linux-kernel, tglx


> 
> As long as nobody takes the address of them (which wouldn't compile today
> anyway) then the compiler should be able to not allocate store for these. 
> That they're const might help too.

are you really sure?
> 
> > why not just bite the bullet?
> > removing version.h also broke the same all external modules, and they
> > got fixed in days.. no big deal. kernel api change all the time, this
> > one has been around in "double mode" quite some time...
> 
> Pretty much every driver in the world will want these symbols.  I expect
> we'll help some people by doing this, and the cost to us is very small.  


well the same people had to change for the request_irq prototype change
etc etc.

I suppose they'll all get fixed if some distro does this cleanup
anyway... otherwise no amount of deprecation will get things changed;
unless the compile actually breaks nobody will pay attention.

Also quite a few external drivers that are aiming for mainline inclusion
should already be using the new settings for a while anyway...


Another option is to back out the change again totally; having 2
constants for the same thing is just a bad idea, and old users will keep
sneaking in.

-- 
if you want to mail me at work (you don't), use arjan (at) linux.intel.com
Test the interaction between Linux and your BIOS via http://www.linuxfirmwarekit.org


^ permalink raw reply	[flat|nested] 65+ messages in thread

* Re: -mm merge plans for 2.6.21
  2007-02-09 10:12   ` Andrew Morton
@ 2007-02-09 12:48     ` James
  2007-02-09 12:59     ` Lenar Lõhmus
  1 sibling, 0 replies; 65+ messages in thread
From: James @ 2007-02-09 12:48 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Lenar Lõhmus, linux-kernel, Con Kolivas

On 2/9/07, Andrew Morton <akpm@linux-foundation.org> wrote:
> On Fri, 09 Feb 2007 11:54:29 +0200 Lenar Lõhmus <lenar@vision.ee> wrote:
>
> > Hello,
> >
> > Andrew Morton wrote:
> > > sched-add-above-background-load-function.patch
> > > mm-implement-swap-prefetching.patch
> > > mm-implement-swap-prefetching-vs-zvc-stuff.patch
> > > mm-implement-swap-prefetching-vs-zvc-stuff-2.patch
> > > mm-implement-swap-prefetching-use-ctl_unnumbered.patch
> > > swap_prefetch-vs-zoned-counters.patch
> > > add-include-linux-freezerh-and-move-definitions-from-prefetch.patch
> > > zvc-support-nr_slab_reclaimable--nr_slab_unreclaimable-swap_prefetch.patch
> > > reduce-max_nr_zones-swap_prefetch-remove-incorrect-use-of-zone_highmem.patch
> > > sched-cleanup-remove-task_t-convert-to-struct-task_struct-prefetch.patch
> > > numa-add-zone_to_nid-function-swap_prefetch.patch
> > > remove-uses-of-kmem_cache_t-from-mm-and-include-linux-slabh-prefetch.patch
> > >
> > >  Hold.
> > Why hold?
> >
> > It's been shown this patchset really helps desktop users.
>
> Has it?  I don't think I've ever observed any benefits from it and I don't
> think anyone has ever got down and worked out what its drawbacks might be,
> and seen if they can be demonstrated in practice.
>

Plenty of people replied with positive reviews when it was posted
earlier. I'd expect that you'd have a fair bit of ram, so you're less
likely to observe any benefit, as you wouldnt be digging into swap as
often as those on lesser systems.

http://lkml.org/lkml/2006/3/23/25

> I also have vague memories of some serious-sounding review comments about
> the code from Nick.

http://lkml.org/lkml/2006/3/23/55

Could that be it? Maybe repoll Con on those.

> > Why keep it in -mm for so long?
>
> I'm waiting to be shown that its benefits exceed its costs.  Sometimes
> that's hard.
>

Con's patchset is used pretty widely now, with many distro's (Arch,
Mandriva, PCLinuxOS among others) providing prebuilt kernels and
nobody has reported any drawbacks. I don't think anyone in -mm has
reported any either.

James
-- 
iphitus // Arch Developer // kernel26beyond // iphitus.loudas.com

^ permalink raw reply	[flat|nested] 65+ messages in thread

* Re: -mm merge plans for 2.6.21
  2007-02-09 10:12   ` Andrew Morton
  2007-02-09 12:48     ` James
@ 2007-02-09 12:59     ` Lenar Lõhmus
  1 sibling, 0 replies; 65+ messages in thread
From: Lenar Lõhmus @ 2007-02-09 12:59 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

Andrew Morton wrote:
> On Fri, 09 Feb 2007 11:54:29 +0200 Lenar Lõhmus <lenar@vision.ee> wrote:
> Has it?  I don't think I've ever observed any benefits from it and I don't
> think anyone has ever got down and worked out what its drawbacks might be,
> and seen if they can be demonstrated in practice.
>   
Who should get down? It seems no serious kernel developer cares enough
to get to it. It's just a desktop feature you know - no big iron - 
uninteresting.
>> Why keep it in -mm for so long?
>>     
>
> I'm waiting to be shown that its benefits exceed its costs.  Sometimes
> that's hard.
>   
Swap prefetch and those mystic _costs_. But nobody
hasn't communicated loud and clear what those costs are. I imagine
it must be really hard to fight to something you don't even exists.
Or prove that you are better than somebody you have never seen or heard of.

Please somebody qualified, take the time, dig that code, and show us 
those costs.
With details. So Con can make the code even better and included in 
mainline or
drop altogether if it's really bad and move on to other endeavours.

With best,
Lenar


^ permalink raw reply	[flat|nested] 65+ messages in thread

* Re: -mm merge plans for 2.6.21
  2007-02-09 11:39       ` Andrew Morton
  2007-02-09 12:32         ` Arjan van de Ven
@ 2007-02-09 13:04         ` Andi Kleen
  2007-02-09 12:27           ` Jan Engelhardt
  1 sibling, 1 reply; 65+ messages in thread
From: Andi Kleen @ 2007-02-09 13:04 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Arjan van de Ven, Frederik Deweerdt, Jan Engelhardt, linux-kernel, tglx

Andrew Morton <akpm@linux-foundation.org> writes:
> 
> As long as nobody takes the address of them (which wouldn't compile today
> anyway) then the compiler should be able to not allocate store for these. 

This would only work for unit-at-a-time compilers (if it works at all,
i'm not sure), but not older 3.x compilers

> That they're const might help too.

Don't think it does.

-Andi

^ permalink raw reply	[flat|nested] 65+ messages in thread

* Re: -mm merge plans for 2.6.21
  2007-02-09 12:32         ` Arjan van de Ven
@ 2007-02-09 14:05           ` deweerdt
  0 siblings, 0 replies; 65+ messages in thread
From: deweerdt @ 2007-02-09 14:05 UTC (permalink / raw)
  To: Arjan van de Ven
  Cc: Andrew Morton, Frederik Deweerdt, Jan Engelhardt, linux-kernel, tglx

Quoting Arjan van de Ven <arjan@infradead.org>:

>
> >
> > As long as nobody takes the address of them (which wouldn't compile today
> > anyway) then the compiler should be able to not allocate store for these.
> > That they're const might help too.
>
> are you really sure?
I've run some tests, and the compiler seems to do the right thing -I must admit,
that I trusted the compiler to do it blindly on my first attempt :)- , see
below:
> cat flag.h
static const int __attribute__((__deprecated__)) SA_INTERRUPT = 0x123456;
> cat use_flag.c
#include <stdio.h>
#include "flag.h"

int main()
{
        int flags = SA_INTERRUPT;
        printf("%d", flags);
}
> cat dont_use_flag.c
#include <stdio.h>
#include "flag.h"

int main()
{
        int flags = 0;
        printf("%d", flags);
}
> gcc --version
gcc (GCC) 4.1.1 (Gentoo 4.1.1-r3)
> for i in  *use_flag.c; do gcc -o $(echo $i | sed 's/.c//') -O2 -g $i; done
use_flag.c: In function 'main':
use_flag.c:6: warning: 'SA_INTERRUPT' is deprecated (declared at flag.h:1)
> size *use_flag
   text    data     bss     dec     hex filename
    897     260       4    1161     489 dont_use_flag
    897     260       4    1161     489 use_flag

# The relevant parts of the compiled code, see how the flag is replaced with
# the const value in the code. It does not result in a code size increment.
> objdump -d {dont_,}use_flag | grep -A11 '<main>'
080483b0 <main>:
 80483b0:       8d 4c 24 04             lea    0x4(%esp),%ecx
 80483b4:       83 e4 f0                and    $0xfffffff0,%esp
 80483b7:       ff 71 fc                pushl  0xfffffffc(%ecx)
 80483ba:       31 c0                   xor    %eax,%eax
 80483bc:       55                      push   %ebp
 80483bd:       89 e5                   mov    %esp,%ebp
 80483bf:       51                      push   %ecx
 80483c0:       83 ec 14                sub    $0x14,%esp
 80483c3:       89 44 24 04             mov    %eax,0x4(%esp)
 80483c7:       c7 04 24 b8 84 04 08    movl   $0x80484b8,(%esp)
 80483ce:       e8 05 ff ff ff          call   80482d8 <printf@plt>
--
080483b0 <main>:
 80483b0:       8d 4c 24 04             lea    0x4(%esp),%ecx
 80483b4:       83 e4 f0                and    $0xfffffff0,%esp
 80483b7:       ff 71 fc                pushl  0xfffffffc(%ecx)
 80483ba:       b8 56 34 12 00          mov    $0x123456,%eax
 80483bf:       55                      push   %ebp
 80483c0:       89 e5                   mov    %esp,%ebp
 80483c2:       51                      push   %ecx
 80483c3:       83 ec 14                sub    $0x14,%esp
 80483c6:       89 44 24 04             mov    %eax,0x4(%esp)
 80483ca:       c7 04 24 b8 84 04 08    movl   $0x80484b8,(%esp)
 80483d1:       e8 02 ff ff ff          call   80482d8 <printf@plt>


======== With 3.4.3 ==========

$ gcc --version
gcc (GCC) 3.4.3 20050227 (Red Hat 3.4.3-22.fc3)
$ size {dont_,}use_flag
   text    data     bss     dec     hex filename
    851     256       4    1111     457 dont_use_flag
    855     256       4    1115     45b use_flag
[def@bigboss ~]$ objdump -d {dont_,}use_flag | grep -A11 '<main>'
08048368 <main>:
 8048368:       55                      push   %ebp
 8048369:       89 e5                   mov    %esp,%ebp
 804836b:       83 ec 08                sub    $0x8,%esp
 804836e:       83 e4 f0                and    $0xfffffff0,%esp
 8048371:       83 ec 18                sub    $0x18,%esp
 8048374:       6a 00                   push   $0x0
 8048376:       68 64 84 04 08          push   $0x8048464
 804837b:       e8 30 ff ff ff          call   80482b0 <printf@plt>

--
08048368 <main>:
 8048368:       55                      push   %ebp
 8048369:       89 e5                   mov    %esp,%ebp
 804836b:       83 ec 08                sub    $0x8,%esp
 804836e:       83 e4 f0                and    $0xfffffff0,%esp
 8048371:       83 ec 18                sub    $0x18,%esp
 8048374:       68 56 34 12 00          push   $0x123456
 8048379:       68 68 84 04 08          push   $0x8048468
 804837e:       e8 2d ff ff ff          call   80482b0 <printf@plt>

So I'd say that both in 3.4.3 and 4.1.1, no extra space is needed for the "const
static int" flag.

Regards,
Frederik

^ permalink raw reply	[flat|nested] 65+ messages in thread

* Re: -mm merge plans for 2.6.21
  2007-02-08 23:44   ` Andrew Morton
@ 2007-02-09 15:02     ` Thomas Gleixner
  0 siblings, 0 replies; 65+ messages in thread
From: Thomas Gleixner @ 2007-02-09 15:02 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Jan Engelhardt, linux-kernel

On Thu, 2007-02-08 at 15:44 -0800, Andrew Morton wrote:
> Yeah, this seems to work.
> 
> +#define emit_old_interrupt_name(old, new)				\
> +static inline unsigned __deprecated emit_old_interrupt_name##old(void)	\
> +{									\
> +	return (new);							\
> +}
> +
> +emit_old_interrupt_name(SA_INTERRUPT, IRQF_DISABLED)
> +#define SA_INTERRUPT emit_old_interrupt_nameSA_INTERRUPT()

/me cringes, but if it makes people happy, so be it. Please update the
expiry date of this evil source of eye cancer.

	tglx

diff --git a/Documentation/feature-removal-schedule.txt b/Documentation/feature-removal-schedule.txt
index 2dc5e5d..125a1c6 100644
--- a/Documentation/feature-removal-schedule.txt
+++ b/Documentation/feature-removal-schedule.txt
@@ -199,7 +199,7 @@ Who:	Nick Piggin <npiggin@suse.de>
 ---------------------------
 
 What:	Interrupt only SA_* flags
-When:	Januar 2007
+When:	August 2007
 Why:	The interrupt related SA_* flags are replaced by IRQF_* to move them
 	out of the signal namespace.
 



^ permalink raw reply related	[flat|nested] 65+ messages in thread

* Re: -mm merge plans for 2.6.21
  2007-02-08 23:07 -mm merge plans for 2.6.21 Andrew Morton
                   ` (4 preceding siblings ...)
  2007-02-09  9:54 ` Lenar Lõhmus
@ 2007-02-09 17:35 ` David Woodhouse
  2007-02-09 21:45   ` Andrew Morton
  2007-02-10 13:03   ` Andi Kleen
  2007-02-09 19:37 ` Alan
                   ` (3 subsequent siblings)
  9 siblings, 2 replies; 65+ messages in thread
From: David Woodhouse @ 2007-02-09 17:35 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel, drepper

On Thu, 2007-02-08 at 15:07 -0800, Andrew Morton wrote:
> lutimesat-simplify-utime2.patch
> lutimesat-extend-do_utimes-with-flags.patch
> lutimesat-actual-syscall-and-wire-up-on-i386.patch
> 
>  Do we want this?  Ulrich says so.  Will merge, I guess.

I would strongly recommend that in the general case, you don't merge new
system calls unless the corresponding compat_ system call is
implemented.

This makes sure that people adding system calls will design the API for
the new system call appropriately, rather than trying to implement
compat support as an afterthought and only then realising that they wish
the original had been done differently. We've seen examples of this
where it would have been _trivial_ to adjust the API slightly to make
compat syscalls a non-issue, but the developer just didn't _think_ about
it until the syscall was set in stone.

This new system call seems to need compat_ support but lacks it, so I
would suggest you shouldn't merge it just yet.

-- 
dwmw2


^ permalink raw reply	[flat|nested] 65+ messages in thread

* Re: -mm merge plans for 2.6.21
  2007-02-08 23:07 -mm merge plans for 2.6.21 Andrew Morton
                   ` (5 preceding siblings ...)
  2007-02-09 17:35 ` David Woodhouse
@ 2007-02-09 19:37 ` Alan
  2007-02-09 21:51   ` Andrew Morton
  2007-02-10 13:06   ` Andi Kleen
  2007-02-09 22:18 ` Guillaume Chazarain
                   ` (2 subsequent siblings)
  9 siblings, 2 replies; 65+ messages in thread
From: Alan @ 2007-02-09 19:37 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

Please just push the EDAC K8 stuff. Andi will say "no" from now until the
end of time, but end users want it, distributions want it, and Andi is
not the EDAC maintainer so should consider himself overruled on what
isn't a technical issue but a personal political viewpoint.

Alan

^ permalink raw reply	[flat|nested] 65+ messages in thread

* Re: -mm merge plans for 2.6.21
  2007-02-09 17:35 ` David Woodhouse
@ 2007-02-09 21:45   ` Andrew Morton
  2007-02-09 21:49     ` Russell King
  2007-02-09 21:59     ` David Woodhouse
  2007-02-10 13:03   ` Andi Kleen
  1 sibling, 2 replies; 65+ messages in thread
From: Andrew Morton @ 2007-02-09 21:45 UTC (permalink / raw)
  To: David Woodhouse, Alexey Dobriyan; +Cc: linux-kernel, drepper

On Fri, 09 Feb 2007 17:35:35 +0000
David Woodhouse <dwmw2@infradead.org> wrote:

> On Thu, 2007-02-08 at 15:07 -0800, Andrew Morton wrote:
> > lutimesat-simplify-utime2.patch
> > lutimesat-extend-do_utimes-with-flags.patch
> > lutimesat-actual-syscall-and-wire-up-on-i386.patch
> > 
> >  Do we want this?  Ulrich says so.  Will merge, I guess.
> 
> I would strongly recommend that in the general case, you don't merge new
> system calls unless the corresponding compat_ system call is
> implemented.

Good point.

> This makes sure that people adding system calls will design the API for
> the new system call appropriately, rather than trying to implement
> compat support as an afterthought and only then realising that they wish
> the original had been done differently. We've seen examples of this
> where it would have been _trivial_ to adjust the API slightly to make
> compat syscalls a non-issue, but the developer just didn't _think_ about
> it until the syscall was set in stone.
> 
> This new system call seems to need compat_ support but lacks it, so I
> would suggest you shouldn't merge it just yet.

OK, thanks.

^ permalink raw reply	[flat|nested] 65+ messages in thread

* Re: -mm merge plans for 2.6.21
  2007-02-09 21:45   ` Andrew Morton
@ 2007-02-09 21:49     ` Russell King
  2007-02-09 21:53       ` David Woodhouse
  2007-02-09 22:00       ` Andrew Morton
  2007-02-09 21:59     ` David Woodhouse
  1 sibling, 2 replies; 65+ messages in thread
From: Russell King @ 2007-02-09 21:49 UTC (permalink / raw)
  To: Andrew Morton; +Cc: David Woodhouse, Alexey Dobriyan, linux-kernel, drepper

On Fri, Feb 09, 2007 at 01:45:16PM -0800, Andrew Morton wrote:
> On Fri, 09 Feb 2007 17:35:35 +0000
> David Woodhouse <dwmw2@infradead.org> wrote:
> 
> > On Thu, 2007-02-08 at 15:07 -0800, Andrew Morton wrote:
> > > lutimesat-simplify-utime2.patch
> > > lutimesat-extend-do_utimes-with-flags.patch
> > > lutimesat-actual-syscall-and-wire-up-on-i386.patch
> > > 
> > >  Do we want this?  Ulrich says so.  Will merge, I guess.
> > 
> > I would strongly recommend that in the general case, you don't merge new
> > system calls unless the corresponding compat_ system call is
> > implemented.
> 
> Good point.
> 
> > This makes sure that people adding system calls will design the API for
> > the new system call appropriately, rather than trying to implement
> > compat support as an afterthought and only then realising that they wish
> > the original had been done differently. We've seen examples of this
> > where it would have been _trivial_ to adjust the API slightly to make
> > compat syscalls a non-issue, but the developer just didn't _think_ about
> > it until the syscall was set in stone.
> > 
> > This new system call seems to need compat_ support but lacks it, so I
> > would suggest you shouldn't merge it just yet.
> 
> OK, thanks.

urgh, new system calls... wonder if they fit in the ARM ABI...  Looks
fine.

Are there any other new syscalls sitting around in -mm ?

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:

^ permalink raw reply	[flat|nested] 65+ messages in thread

* Re: -mm merge plans for 2.6.21
  2007-02-09 19:37 ` Alan
@ 2007-02-09 21:51   ` Andrew Morton
  2007-02-10  1:15     ` Carl-Daniel Hailfinger
  2007-02-10 13:06   ` Andi Kleen
  1 sibling, 1 reply; 65+ messages in thread
From: Andrew Morton @ 2007-02-09 21:51 UTC (permalink / raw)
  To: Alan; +Cc: linux-kernel

On Fri, 9 Feb 2007 19:37:53 +0000
Alan <alan@lxorguk.ukuu.org.uk> wrote:

> Please just push the EDAC K8 stuff.

OK.

> Andi will say "no" from now until the
> end of time, but end users want it, distributions want it, and Andi is
> not the EDAC maintainer so should consider himself overruled on what
> isn't a technical issue but a personal political viewpoint.

I'll just tell him I sent it by accident.

^ permalink raw reply	[flat|nested] 65+ messages in thread

* Re: -mm merge plans for 2.6.21
  2007-02-09 21:49     ` Russell King
@ 2007-02-09 21:53       ` David Woodhouse
  2007-02-09 22:03         ` Russell King
  2007-02-09 22:00       ` Andrew Morton
  1 sibling, 1 reply; 65+ messages in thread
From: David Woodhouse @ 2007-02-09 21:53 UTC (permalink / raw)
  To: Russell King; +Cc: Andrew Morton, Alexey Dobriyan, linux-kernel, drepper

On Fri, 2007-02-09 at 21:49 +0000, Russell King wrote:
> urgh, new system calls... wonder if they fit in the ARM ABI...  Looks
> fine.

Can you elucidate on _what_ you just checked for?

There was something about alignment of 64-bit arguments to syscalls
which affects MIPS and/or ARM which I can't quite remember-- something
about putting it them arguments in either an even-numbered or
odd-numbered position to make it work nicely. Is that actually written
anywhere, and does anyone bother to check?

-- 
dwmw2


^ permalink raw reply	[flat|nested] 65+ messages in thread

* Re: -mm merge plans for 2.6.21
  2007-02-09 21:45   ` Andrew Morton
  2007-02-09 21:49     ` Russell King
@ 2007-02-09 21:59     ` David Woodhouse
  2007-02-09 22:50       ` Davide Libenzi
  1 sibling, 1 reply; 65+ messages in thread
From: David Woodhouse @ 2007-02-09 21:59 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Alexey Dobriyan, linux-kernel, drepper, Davide Libenzi

On Fri, 2007-02-09 at 13:45 -0800, Andrew Morton wrote:
> > I would strongly recommend that in the general case, you don't merge new
> > system calls unless the corresponding compat_ system call is
> > implemented.
> 
> Good point. 

It's a _damn_ good point, but I see we went ahead and merged
sys_epoll_pwait without it anyway -- despite the fact that it's
include/linux/eventpoll.h which contains the example of why we should
think first :)

I think I even threw together an untested implementation of
compat_sys_epoll_pwait() at one point to assist with that task, but it
didn't seem to help much.

-- 
dwmw2


^ permalink raw reply	[flat|nested] 65+ messages in thread

* Re: -mm merge plans for 2.6.21
  2007-02-09 21:49     ` Russell King
  2007-02-09 21:53       ` David Woodhouse
@ 2007-02-09 22:00       ` Andrew Morton
  2007-02-09 22:06         ` Russell King
  1 sibling, 1 reply; 65+ messages in thread
From: Andrew Morton @ 2007-02-09 22:00 UTC (permalink / raw)
  To: Russell King; +Cc: David Woodhouse, Alexey Dobriyan, linux-kernel, drepper

On Fri, 9 Feb 2007 21:49:44 +0000
Russell King <rmk+lkml@arm.linux.org.uk> wrote:

> On Fri, Feb 09, 2007 at 01:45:16PM -0800, Andrew Morton wrote:
> > On Fri, 09 Feb 2007 17:35:35 +0000
> > David Woodhouse <dwmw2@infradead.org> wrote:
> > 
> > > On Thu, 2007-02-08 at 15:07 -0800, Andrew Morton wrote:
> > > > lutimesat-simplify-utime2.patch
> > > > lutimesat-extend-do_utimes-with-flags.patch
> > > > lutimesat-actual-syscall-and-wire-up-on-i386.patch
> > > > 
> > > >  Do we want this?  Ulrich says so.  Will merge, I guess.
> > > 
> > > I would strongly recommend that in the general case, you don't merge new
> > > system calls unless the corresponding compat_ system call is
> > > implemented.
> > 
> > Good point.
> > 
> > > This makes sure that people adding system calls will design the API for
> > > the new system call appropriately, rather than trying to implement
> > > compat support as an afterthought and only then realising that they wish
> > > the original had been done differently. We've seen examples of this
> > > where it would have been _trivial_ to adjust the API slightly to make
> > > compat syscalls a non-issue, but the developer just didn't _think_ about
> > > it until the syscall was set in stone.
> > > 
> > > This new system call seems to need compat_ support but lacks it, so I
> > > would suggest you shouldn't merge it just yet.
> > 
> > OK, thanks.
> 
> urgh, new system calls... wonder if they fit in the ARM ABI...  Looks
> fine.

What's the ARM ABI?

> Are there any other new syscalls sitting around in -mm ?

Yes, the AIO listio additions:




From: Bharata B Rao <bharata@in.ibm.com>

This patch provides POSIX listio support by means of a new system call.

long lio_submit(aio_context_t ctx_id, int mode, long nr,
	struct iocb __user * __user *iocbpp, struct sigevent __user *event)

This system call is similar to the io_submit() system call, but takes
two more arguments.

'mode' argument can be LIO_WAIT or LIO_NOWAIT.

'event' argument specifies the signal notification mechanism.

This patch is built on support provided by the aio signal notification
patch by Sebastien. The following two structures together provide
the support for grouping iocbs belonging to a list (lio).

struct aio_notify {
	struct task_struct	*target;
	__u16			signo;
	__u16			notify;
	sigval_t		value;
	struct sigqueue		*sigq;
};

struct lio_event {
	atomic_t		lio_users;
	struct aio_notify	lio_notify;
};

A single lio_event struct is maintained for the list of iocbs.  lio_users
holds the number of requests attached to this lio and lio_notify has the
necessary information for generating completion notification signal.

If the mode is LIO_WAIT, the event argument is ignored and the system call
waits until all the requests of the lio are completed.

If the mode is LIO_NOWAIT, the system call returns immediately after
submitting the io requests and may optionally notify the process on list io
completion depending on the event argument.

Signed-off-by: S_bastien Dugu_ <sebastien.dugue@bull.net>
Signed-off-by: Laurent Vivier <laurent.vivier@bull.net>
Signed-off-by: Bharata B Rao <bharata@in.ibm.com>
Cc: Bharata B Rao <bharata@in.ibm.com>
Cc: Christoph Hellwig <hch@infradead.org>
Cc: Suparna Bhattacharya <suparna@in.ibm.com>
Cc: Zach Brown <zach.brown@oracle.com>
Cc: Oleg Nesterov <oleg@tv-sign.ru>
Cc: Badari Pulavarty <pbadari@us.ibm.com>
Cc: Benjamin LaHaise <bcrl@linux.intel.com>
Cc: Jean Pierre Dion <jean-pierre.dion@bull.net>
Cc: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---

 arch/i386/kernel/syscall_table.S |    1 
 arch/x86_64/ia32/ia32entry.S     |    4 
 fs/aio.c                         |  188 +++++++++++++++++++++++++----
 fs/compat.c                      |  119 +++++++++++++++---
 include/asm-i386/unistd.h        |    3 
 include/asm-x86_64/unistd.h      |    4 
 include/linux/aio.h              |   14 +-
 include/linux/aio_abi.h          |    5 
 include/linux/syscalls.h         |    2 
 9 files changed, 295 insertions(+), 45 deletions(-)

diff -puN arch/i386/kernel/syscall_table.S~add-listio-syscall-support arch/i386/kernel/syscall_table.S
--- a/arch/i386/kernel/syscall_table.S~add-listio-syscall-support
+++ a/arch/i386/kernel/syscall_table.S
@@ -319,3 +319,4 @@ ENTRY(sys_call_table)
 	.long sys_move_pages
 	.long sys_getcpu
 	.long sys_epoll_pwait
+	.long sys_lio_submit		/* 320 */
diff -puN arch/x86_64/ia32/ia32entry.S~add-listio-syscall-support arch/x86_64/ia32/ia32entry.S
--- a/arch/x86_64/ia32/ia32entry.S~add-listio-syscall-support
+++ a/arch/x86_64/ia32/ia32entry.S
@@ -726,8 +726,10 @@ ia32_sys_call_table:
 	.quad compat_sys_get_robust_list
 	.quad sys_splice
 	.quad sys_sync_file_range
-	.quad sys_tee
+	.quad sys_tee			/* 315 */
 	.quad compat_sys_vmsplice
 	.quad compat_sys_move_pages
 	.quad sys_getcpu
+	.quad quiet_ni_syscall		/* sys_epoll_wait */
+	.quad compat_sys_lio_submit
 ia32_syscall_end:		
diff -puN fs/aio.c~add-listio-syscall-support fs/aio.c
--- a/fs/aio.c~add-listio-syscall-support
+++ a/fs/aio.c
@@ -416,6 +416,7 @@ static struct kiocb fastcall *__aio_get_
 	req->ki_ctx = ctx;
 	req->ki_cancel = NULL;
 	req->ki_retry = NULL;
+	req->ki_lio = NULL;
 	req->ki_dtor = NULL;
 	req->private = NULL;
 	req->ki_iovec = NULL;
@@ -997,6 +998,72 @@ out_unlock:
 	return -EINVAL;
 }
 
+/*
+ * lio_notify
+ * When all iocbs belonging to an lio are complete, this initiates
+ * the completion notification for the lio.
+ *
+ * NOTE: lio is freed here after the last iocb completes, but only
+ * for LIO_NOWAIT case. In case of LIO_WAIT, the submitting thread
+ * waits for iocbs to complete and later frees the lio.
+ */
+void lio_notify(struct lio_event *lio)
+{
+	int ret;
+
+	ret = atomic_dec_and_test(&lio->lio_users);
+
+	if (unlikely(ret) && lio->lio_notify.notify != SIGEV_NONE) {
+		/* last one -> notify process */
+		if (aio_send_signal(&lio->lio_notify))
+			__sigqueue_free(lio->lio_notify.sigq);
+		kfree(lio);
+	}
+}
+
+/*
+ * lio_create
+ * Allocates a lio_event structure which groups the iocbs belonging
+ * to the lio and sets up the completion notification.
+ *
+ * Case 1: LIO_NOWAIT and NULL sigevent - No need to group the iocbs
+ *	and hence lio_event is not created.
+ * Case 2: LIO_NOWAIT and sigvent - lio_event is created and notification
+ *	mechanism is setup.
+ * Case 3: LIO_WAIT - lio_event is created and sigevent is ignored.
+ */
+struct lio_event *lio_create(struct sigevent __user *user_event,
+			int mode)
+{
+	int ret = 0;
+	struct lio_event *lio = NULL;
+
+	if (unlikely((mode == LIO_NOWAIT) && !user_event))
+		return lio;
+
+	lio = kzalloc(sizeof(*lio), GFP_KERNEL);
+
+	if (!lio)
+		return ERR_PTR(-EAGAIN);
+
+	/*
+	 * Grab an initial ref on the lio to avoid races between
+	 * submission and completion.
+	 */
+	atomic_set(&lio->lio_users, 1);
+
+	lio->lio_notify.notify = SIGEV_NONE;
+
+	if (user_event && (mode == LIO_NOWAIT)) {
+		ret = aio_setup_sigevent(&lio->lio_notify, user_event);
+		if (ret) {
+			kfree(lio);
+			return ERR_PTR(ret);
+		}
+	}
+	return lio;
+}
+
 /* aio_complete
  *	Called when the io request on the given iocb is complete.
  *	Returns true if this is the last user of the request.  The 
@@ -1045,6 +1112,9 @@ int fastcall aio_complete(struct kiocb *
 	 * when the event got cancelled.
 	 */
 	if (kiocbIsCancelled(iocb)) {
+		if (iocb->ki_lio)
+			lio_notify(iocb->ki_lio);
+
 		if (iocb->ki_notify.sigq)
 			__sigqueue_free(iocb->ki_notify.sigq);
 		goto put_rq;
@@ -1087,6 +1157,8 @@ int fastcall aio_complete(struct kiocb *
 			__sigqueue_free(iocb->ki_notify.sigq);
 	}
 
+	if (iocb->ki_lio)
+		lio_notify(iocb->ki_lio);
 put_rq:
 	/* everything turned out well, dispose of the aiocb. */
 	ret = __aio_put_req(ctx, iocb);
@@ -1631,7 +1703,7 @@ static int aio_wake_function(wait_queue_
 }
 
 int fastcall io_submit_one(struct kioctx *ctx, struct iocb __user *user_iocb,
-			 struct iocb *iocb)
+			 struct iocb *iocb, struct lio_event *lio)
 {
 	struct kiocb *req;
 	struct file *file;
@@ -1692,6 +1764,9 @@ int fastcall io_submit_one(struct kioctx
 			goto out_sigqfree;
 	}
 
+	/* Attach this iocb to its lio */
+	req->ki_lio = lio;
+
 	ret = aio_setup_iocb(req);
 
 	if (ret)
@@ -1719,6 +1794,48 @@ out_put_req:
 	return ret;
 }
 
+static int io_submit_group(struct kioctx *ctx, long nr,
+	struct iocb __user * __user *iocbpp, struct lio_event *lio)
+{
+	int i;
+	long ret = 0;
+
+	/*
+	 * AKPM: should this return a partial result if some of the IOs were
+	 * successfully submitted?
+	 */
+	for (i = 0; i < nr; i++) {
+		struct iocb __user *user_iocb;
+		struct iocb tmp;
+
+		if (unlikely(__get_user(user_iocb, iocbpp + i))) {
+			ret = -EFAULT;
+			break;
+		}
+
+		if (unlikely(copy_from_user(&tmp, user_iocb, sizeof(tmp)))) {
+			ret = -EFAULT;
+			break;
+		}
+
+		if (lio)
+			atomic_inc(&lio->lio_users);
+
+		ret = io_submit_one(ctx, user_iocb, &tmp, lio);
+		if (ret) {
+			if (lio) {
+				/*
+				 * In case of listio, continue with
+				 * the subsequent requests
+				 */
+				atomic_dec(&lio->lio_users);
+			} else
+				break;
+		}
+	}
+	return i ? i : ret;
+}
+
 /* sys_io_submit:
  *	Queue the nr iocbs pointed to by iocbpp for processing.  Returns
  *	the number of iocbs queued.  May return -EINVAL if the aio_context
@@ -1736,7 +1853,6 @@ asmlinkage long sys_io_submit(aio_contex
 {
 	struct kioctx *ctx;
 	long ret = 0;
-	int i;
 
 	if (unlikely((nr*sizeof(*iocbpp)) < 0))
 		return -EINVAL;
@@ -1750,31 +1866,61 @@ asmlinkage long sys_io_submit(aio_contex
 		return -EINVAL;
 	}
 
-	/*
-	 * AKPM: should this return a partial result if some of the IOs were
-	 * successfully submitted?
-	 */
-	for (i=0; i<nr; i++) {
-		struct iocb __user *user_iocb;
-		struct iocb tmp;
+	ret = io_submit_group(ctx, nr, iocbpp, NULL);
 
-		if (unlikely(__get_user(user_iocb, iocbpp + i))) {
-			ret = -EFAULT;
-			break;
-		}
+	put_ioctx(ctx);
+	return ret;
+}
 
-		if (unlikely(copy_from_user(&tmp, user_iocb, sizeof(tmp)))) {
-			ret = -EFAULT;
-			break;
-		}
+asmlinkage long sys_lio_submit(aio_context_t ctx_id, int mode, long nr,
+	struct iocb __user * __user *iocbpp, struct sigevent __user *event)
+{
+	struct kioctx *ctx;
+	struct lio_event *lio = NULL;
+	long ret = 0;
 
-		ret = io_submit_one(ctx, user_iocb, &tmp);
-		if (ret)
-			break;
+	if (unlikely((nr*sizeof(*iocbpp)) < 0))
+		return -EINVAL;
+
+	if (unlikely(!access_ok(VERIFY_READ, iocbpp, (nr*sizeof(*iocbpp)))))
+		return -EFAULT;
+
+	ctx = lookup_ioctx(ctx_id);
+	if (unlikely(!ctx)) {
+		pr_debug("EINVAL: lio_submit: invalid context id\n");
+		return -EINVAL;
+	}
+
+	lio = lio_create(event, mode);
+
+	ret = PTR_ERR(lio);
+	if (IS_ERR(lio))
+		goto out_put_ctx;
+
+	ret = io_submit_group(ctx, nr, iocbpp, lio);
+
+	/* If we failed to submit even one request just return */
+	if (ret < 0 ) {
+		if (lio)
+			kfree(lio);
+		goto out_put_ctx;
+	}
+
+	/*
+	 * Drop extra ref on the lio now that we're done submitting requests.
+	 */
+	if (lio)
+		lio_notify(lio);
+
+	if (mode == LIO_WAIT) {
+		wait_event(ctx->wait, atomic_read(&lio->lio_users) == 0);
+		kfree(lio);
 	}
 
+out_put_ctx:
 	put_ioctx(ctx);
-	return i ? i : ret;
+
+	return ret;
 }
 
 /* lookup_kiocb
diff -puN fs/compat.c~add-listio-syscall-support fs/compat.c
--- a/fs/compat.c~add-listio-syscall-support
+++ a/fs/compat.c
@@ -644,24 +644,13 @@ out:
 	return ret;
 }
 
-asmlinkage long
-compat_sys_io_submit(aio_context_t ctx_id, int nr, u32 __user *iocb)
+static int compat_io_submit_group(struct kioctx *ctx, long nr,
+				  u32 __user *iocb, struct lio_event *lio)
 {
-	struct kioctx *ctx;
-	long ret = 0;
 	int i;
+	long ret = 0;
 
-	if (unlikely((nr * sizeof(u32)) < 0))
-		return -EINVAL;
-
-	if (unlikely(!access_ok(VERIFY_READ, iocb, (nr * sizeof(u32)))))
-		return -EFAULT;
-
-	ctx = lookup_ioctx(ctx_id);
-	if (unlikely(!ctx))
-		return -EINVAL;
-
-	for (i=0; i<nr; i++) {
+	for (i = 0; i < nr; i++) {
 		compat_uptr_t uptr;
 		struct iocb __user *user_iocb;
 		struct iocb tmp;
@@ -696,13 +685,105 @@ compat_sys_io_submit(aio_context_t ctx_i
 			tmp.aio_sigeventp = (__u64)event;
 		}
 
-		ret = io_submit_one(ctx, user_iocb, &tmp);
-		if (ret)
-			break;
+		if (lio)
+			atomic_inc(&lio->lio_users);
+
+		ret = io_submit_one(ctx, user_iocb, &tmp, lio);
+		if (ret) {
+			if (lio) {
+				/*
+				 * In case of listio, continue with
+				 * the subsequent requests
+				 */
+				atomic_dec(&lio->lio_users);
+			} else
+				break;
+		}
+
+
 	}
+	return i ? i : ret;
+}
 
+asmlinkage long
+compat_sys_io_submit(aio_context_t ctx_id, int nr, u32 __user *iocb)
+{
+	struct kioctx *ctx;
+	long ret = 0;
+
+	if (unlikely((nr*sizeof(u32)) < 0))
+		return -EINVAL;
+
+	if (unlikely(!access_ok(VERIFY_READ, iocb, (nr * sizeof(u32)))))
+		return -EFAULT;
+
+	ctx = lookup_ioctx(ctx_id);
+	if (unlikely(!ctx))
+		return -EINVAL;
+
+	ret = compat_io_submit_group(ctx, nr, iocb, NULL);
 	put_ioctx(ctx);
-	return i ? i: ret;
+	return ret;
+}
+
+asmlinkage long
+compat_sys_lio_submit(aio_context_t ctx_id, int mode, int nr, u32 __user *iocb,
+		struct compat_sigevent __user *sig_user)
+{
+	struct kioctx *ctx;
+	struct lio_event *lio = NULL;
+	struct sigevent __user *event = NULL;
+	long ret = 0;
+
+	if (unlikely((nr*sizeof(u32)) < 0))
+		return -EINVAL;
+
+	if (unlikely(!access_ok(VERIFY_READ, iocb, (nr * sizeof(u32)))))
+		return -EFAULT;
+
+	ctx = lookup_ioctx(ctx_id);
+	if (unlikely(!ctx))
+		return -EINVAL;
+
+	if (sig_user) {
+		struct sigevent kevent;
+		event = compat_alloc_user_space(sizeof(struct sigevent));
+		if (get_compat_sigevent(&kevent, sig_user) ||
+			copy_to_user(event, &kevent, sizeof(struct sigevent))) {
+			ret = -EFAULT;
+			goto out_put_ctx;
+		}
+	}
+
+	lio = lio_create(event, mode);
+
+	ret = PTR_ERR(lio);
+	if (IS_ERR(lio))
+		goto out_put_ctx;
+
+	ret = compat_io_submit_group(ctx, nr, iocb, lio);
+
+	/* If we failed to submit even one request just return */
+	if (ret < 0) {
+		if (lio)
+			kfree(lio);
+		goto out_put_ctx;
+	}
+
+	/*
+	 * Drop extra ref on the lio now that we're done submitting requests.
+	 */
+	if (lio)
+		lio_notify(lio);
+
+	if (mode == LIO_WAIT) {
+		wait_event(ctx->wait, atomic_read(&lio->lio_users) == 0);
+		kfree(lio);
+	}
+
+out_put_ctx:
+	put_ioctx(ctx);
+	return ret;
 }
 
 struct compat_ncp_mount_data {
diff -puN include/asm-i386/unistd.h~add-listio-syscall-support include/asm-i386/unistd.h
--- a/include/asm-i386/unistd.h~add-listio-syscall-support
+++ a/include/asm-i386/unistd.h
@@ -325,10 +325,11 @@
 #define __NR_move_pages		317
 #define __NR_getcpu		318
 #define __NR_epoll_pwait	319
+#define __NR_lio_submit		320
 
 #ifdef __KERNEL__
 
-#define NR_syscalls 320
+#define NR_syscalls 321
 
 #define __ARCH_WANT_IPC_PARSE_VERSION
 #define __ARCH_WANT_OLD_READDIR
diff -puN include/asm-x86_64/unistd.h~add-listio-syscall-support include/asm-x86_64/unistd.h
--- a/include/asm-x86_64/unistd.h~add-listio-syscall-support
+++ a/include/asm-x86_64/unistd.h
@@ -619,8 +619,10 @@ __SYSCALL(__NR_sync_file_range, sys_sync
 __SYSCALL(__NR_vmsplice, sys_vmsplice)
 #define __NR_move_pages		279
 __SYSCALL(__NR_move_pages, sys_move_pages)
+#define __NR_lio_submit		280
+__SYSCALL(__NR_lio_submit, sys_lio_submit)
 
-#define __NR_syscall_max __NR_move_pages
+#define __NR_syscall_max __NR_lio_submit
 
 #ifndef __NO_STUBS
 #define __ARCH_WANT_OLD_READDIR
diff -puN include/linux/aio.h~add-listio-syscall-support include/linux/aio.h
--- a/include/linux/aio.h~add-listio-syscall-support
+++ a/include/linux/aio.h
@@ -63,6 +63,11 @@ struct aio_notify {
 	struct sigqueue		*sigq;
 };
 
+struct lio_event {
+	atomic_t		lio_users;
+	struct aio_notify	lio_notify;
+};
+
 /* is there a better place to document function pointer methods? */
 /**
  * ki_retry	-	iocb forward progress callback
@@ -117,6 +122,8 @@ struct kiocb {
 	__u64			ki_user_data;	/* user's data for completion */
 	struct wait_bit_queue	ki_wait;
 	loff_t			ki_pos;
+	/* lio this iocb might be attached to */
+	struct lio_event	*ki_lio;
 
 	atomic_t		ki_bio_count;	/* num bio used for this iocb */
 	void			*private;
@@ -225,12 +232,15 @@ struct mm_struct;
 extern void FASTCALL(exit_aio(struct mm_struct *mm));
 extern struct kioctx *lookup_ioctx(unsigned long ctx_id);
 extern int FASTCALL(io_submit_one(struct kioctx *ctx,
-			struct iocb __user *user_iocb, struct iocb *iocb));
+			struct iocb __user *user_iocb, struct iocb *iocb,
+			struct lio_event *lio));
+struct lio_event *lio_create(struct sigevent __user *user_event, int mode);
+void lio_notify(struct lio_event *lio);
 
 /* semi private, but used by the 32bit emulations: */
 struct kioctx *lookup_ioctx(unsigned long ctx_id);
 int FASTCALL(io_submit_one(struct kioctx *ctx, struct iocb __user *user_iocb,
-				  struct iocb *iocb));
+				  struct iocb *iocb, struct lio_event *lio));
 
 #define get_ioctx(kioctx) do {						\
 	BUG_ON(atomic_read(&(kioctx)->users) <= 0);			\
diff -puN include/linux/aio_abi.h~add-listio-syscall-support include/linux/aio_abi.h
--- a/include/linux/aio_abi.h~add-listio-syscall-support
+++ a/include/linux/aio_abi.h
@@ -45,6 +45,11 @@ enum {
 	IOCB_CMD_PWRITEV = 8,
 };
 
+enum {
+	LIO_WAIT = 0,
+	LIO_NOWAIT = 1,
+};
+
 /* read() from /dev/aio returns these structures. */
 struct io_event {
 	__u64		data;		/* the data field from the iocb */
diff -puN include/linux/syscalls.h~add-listio-syscall-support include/linux/syscalls.h
--- a/include/linux/syscalls.h~add-listio-syscall-support
+++ a/include/linux/syscalls.h
@@ -317,6 +317,8 @@ asmlinkage long sys_io_getevents(aio_con
 				struct timespec __user *timeout);
 asmlinkage long sys_io_submit(aio_context_t, long,
 				struct iocb __user * __user *);
+asmlinkage long sys_lio_submit(aio_context_t, int, long,
+		struct iocb __user * __user *, struct sigevent __user *);
 asmlinkage long sys_io_cancel(aio_context_t ctx_id, struct iocb __user *iocb,
 			      struct io_event __user *result);
 asmlinkage ssize_t sys_sendfile(int out_fd, int in_fd,
_


^ permalink raw reply	[flat|nested] 65+ messages in thread

* Re: -mm merge plans for 2.6.21
  2007-02-09 21:53       ` David Woodhouse
@ 2007-02-09 22:03         ` Russell King
  2007-02-09 22:12           ` David Woodhouse
  2007-02-10  2:05           ` Oleg Verych
  0 siblings, 2 replies; 65+ messages in thread
From: Russell King @ 2007-02-09 22:03 UTC (permalink / raw)
  To: David Woodhouse; +Cc: Andrew Morton, Alexey Dobriyan, linux-kernel, drepper

On Fri, Feb 09, 2007 at 09:53:19PM +0000, David Woodhouse wrote:
> On Fri, 2007-02-09 at 21:49 +0000, Russell King wrote:
> > urgh, new system calls... wonder if they fit in the ARM ABI...  Looks
> > fine.
> 
> Can you elucidate on _what_ you just checked for?
> 
> There was something about alignment of 64-bit arguments to syscalls
> which affects MIPS and/or ARM which I can't quite remember--

It's something like that.

> something
> about putting it them arguments in either an even-numbered or
> odd-numbered position to make it work nicely.

We have a maximum of 7 32-bit registers to pass system call arguments.
In EABI, 64-bit arguments must be aligned to an even-numbered register
(starting at zero).  In OABI, 64-bit arguments do not have this
restriction.

So, for EABI:

sys_foo(int a, unsigned long long b, int c, unsigned long long d)

would allocate 'a' into r0, 'b' into r2,r3, 'c' into r4, and 'd' into
r6, and oops we're out of registers - so the above syscall prototype
can't be supported on ARM.

However:

sys_foo(int a, int c, unsigned long long b, unsigned long long d)

is entirely reasonable and leaves us with spare room for one additional
32-bit arg to be passed.

> Is that actually written anywhere, and does anyone bother to check?

Mostly mailing list archives I'd guess.  As far as anyone bothering
to check, that's me when I'm aware of new syscalls... which typically
happens a long time after the syscalls have been introduced on x86
etc.

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:

^ permalink raw reply	[flat|nested] 65+ messages in thread

* Re: -mm merge plans for 2.6.21
  2007-02-09 22:00       ` Andrew Morton
@ 2007-02-09 22:06         ` Russell King
  0 siblings, 0 replies; 65+ messages in thread
From: Russell King @ 2007-02-09 22:06 UTC (permalink / raw)
  To: Andrew Morton; +Cc: David Woodhouse, Alexey Dobriyan, linux-kernel, drepper

On Fri, Feb 09, 2007 at 02:00:49PM -0800, Andrew Morton wrote:
> +asmlinkage long sys_lio_submit(aio_context_t ctx_id, int mode, long nr,
> +	struct iocb __user * __user *iocbpp, struct sigevent __user *event)

Not a problem.  (r0 := ctx_id, r1 := mode, r2 := nr, r3 := iocbpp,
r4 := event)  Thanks.

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:

^ permalink raw reply	[flat|nested] 65+ messages in thread

* Re: -mm merge plans for 2.6.21
  2007-02-09 22:03         ` Russell King
@ 2007-02-09 22:12           ` David Woodhouse
  2007-02-09 22:42             ` David Woodhouse
  2007-02-10  2:05           ` Oleg Verych
  1 sibling, 1 reply; 65+ messages in thread
From: David Woodhouse @ 2007-02-09 22:12 UTC (permalink / raw)
  To: Russell King; +Cc: Andrew Morton, Alexey Dobriyan, linux-kernel, drepper

On Fri, 2007-02-09 at 22:03 +0000, Russell King wrote:
> > Is that actually written anywhere, and does anyone bother to check?
> 
> Mostly mailing list archives I'd guess.  As far as anyone bothering
> to check, that's me when I'm aware of new syscalls... which typically
> happens a long time after the syscalls have been introduced on x86
> etc.

I suspect we could do with a Documentation/syscalls.txt collecting such
rules from various architectures.

We could _also_ do with a way to warn about unimplemented syscalls on
any given architecture. I'm thinking about something along the lines of
a kernel/syscalls.c containing nothing but...

	#include <asm/unistd.h>

	#ifndef __NR_sys_foo
	#warning The sys_foo system call is not implemented on this architecture
	#endif

Ideally, that wants to be auto-generated from the union of all
<asm-*/unistd.h> files, but in practice I suspect we could do it just
from <asm-i386/unistd.h>. Even I usually manage to add new syscalls on
i386 after I've done PowerPC.

-- 
dwmw2


^ permalink raw reply	[flat|nested] 65+ messages in thread

* Re: -mm merge plans for 2.6.21
  2007-02-08 23:07 -mm merge plans for 2.6.21 Andrew Morton
                   ` (6 preceding siblings ...)
  2007-02-09 19:37 ` Alan
@ 2007-02-09 22:18 ` Guillaume Chazarain
  2007-02-10  9:58 ` -mm merge plans for 2.6.21 -- md-dm-reduce-stack-usage-with-stacked-block-devices.patch Heiko Carstens
  2007-02-11  0:31 ` -mm merge plans for 2.6.21 Dave Jones
  9 siblings, 0 replies; 65+ messages in thread
From: Guillaume Chazarain @ 2007-02-09 22:18 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

[-- Attachment #1: Type: text/plain, Size: 2063 bytes --]

Andrew Morton a écrit :
> factor-outstanding-i-o-error-handling.patch
> factor-outstanding-i-o-error-handling-tidy.patch
>   

I still like them. But the original problem is still present.

> sync_sb_inodes-propagate-errors.patch
>   

You explained in http://lkml.org/lkml/2007/1/2/238 that the mapping 
flags should be set at the lowest level, but with this change I have a 
hard time choosing a place to stick it. I don't like when a function 
both sets the mapping flags and returns an error code, I think it should 
be mutually exclusive, so that we know what to do (propagate the return 
code?) and what to expect (are the mapping flags up to date?), which 
seemed to be the case before this patch. For instance there is no point 
in propagating an error return code up to sys_sync() as it can only drop it.

The call trace that cleared the flags, the origin of the problem, is:

void do_sync(1)
void sync_inodes(1)
void __sync_inodes(1)
void sync_inodes_sb(sb, 1)
void sync_sb_inodes(sb, WB_SYNC_ALL)
int __writeback_single_inode(inode, WB_SYNC_ALL)
int __sync_single_inode(inode, WB_SYNC_ALL)
int filemap_fdatawait(mapping)
int wait_on_page_writeback_range(mapping)
int test_and_clear(...)


re-setting the flag at a too low level, would mean it is still set after 
a msync() or fsync() that could return the status to its caller. My 
interpretation is that low level functions up to 
__writeback_single_inode() can be used by fsync() and the like that can 
return the error to their caller, unlike high level functions starting 
at sync_sb_inodes() that don't need a return value as their caller can 
do nothing with it. So re-setting the flag in sync_sb_inodes() just 
after __writeback_single_inode() looks right to me, and I propose the 
exact same patch as the first time.


> block_write_full_page-handle-enospc.patch
>   

It seems to me that __block_write_full_page is always called more or 
less directly from __mpage_writepage, and the latter handles enospc in 
the mapping flags. So I am not sure this patch is needed.

Thanks.

-- 
Guillaume


[-- Attachment #2: sync_sb_inodes_handle_error.patch --]
[-- Type: text/x-patch, Size: 2199 bytes --]

I/O errors could go unnoticed when syncing, for example the following code could
write a file bigger than 10Mib on a 10Mib filesystem. With this patch, msync()
will report the error originally encountered by sync(). Tuning the number of
sync may be needed to reproduce the bug.
make_file.c:

#include <unistd.h>
#include <sys/fcntl.h>
#include <sys/mman.h>
#include <string.h>
#include <stdio.h>

#define NR_SYNC 3 /* Adjust me if needed */
#define SIZE ((10 << 20) + (100 << 10))

int main(void)
{
	int i, fd;
	char *mapping;
	fd = open("mnt/file", O_RDWR | O_CREAT, 0600);
	if (fd < 0) {
		perror("open");
		return 1;
	}

	if (ftruncate(fd, SIZE) < 0) {
		perror("ftruncate");
		return 1;
	}

	mapping = mmap(NULL, SIZE, PROT_WRITE, MAP_SHARED, fd, 0);
	if (mapping == MAP_FAILED) {
		perror("mmap");
		return 1;
	}

	memset(mapping, 0xFF, SIZE);

	for (i = 0; i < NR_SYNC; i++)
		sync();

	if (msync(mapping, SIZE, MS_SYNC) < 0) {
		perror("msync");
		return 1;
	}

	if (close(fd) < 0) {
		perror("close");
		return 1;
	}

	puts("File written successfully => bad!\n");
	return 0;
}

#!/bin/sh

dd if=/dev/zero of=fs.10M bs=10M count=0 seek=1
mkfs.ext2 -qF fs.10M
mkdir mnt
mount fs.10M mnt -o loop
./make_file

Signed-off-by: Guillaume Chazarain <guichaz@yahoo.fr>
---

 fs-writeback.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff -r ecb3a0d111ec fs/fs-writeback.c
--- a/fs/fs-writeback.c	Fri Feb 09 15:31:50 2007 +0100
+++ b/fs/fs-writeback.c	Fri Feb 09 23:10:47 2007 +0100
@@ -327,6 +327,7 @@ sync_sb_inodes(struct super_block *sb, s
 		struct address_space *mapping = inode->i_mapping;
 		struct backing_dev_info *bdi = mapping->backing_dev_info;
 		long pages_skipped;
+		int ret;
 
 		if (!bdi_cap_writeback_dirty(bdi)) {
 			list_move(&inode->i_list, &sb->s_dirty);
@@ -376,7 +377,8 @@ sync_sb_inodes(struct super_block *sb, s
 		BUG_ON(inode->i_state & I_FREEING);
 		__iget(inode);
 		pages_skipped = wbc->pages_skipped;
-		__writeback_single_inode(inode, wbc);
+		ret = __writeback_single_inode(inode, wbc);
+		mapping_set_error(mapping, ret);
 		if (wbc->sync_mode == WB_SYNC_HOLD) {
 			inode->dirtied_when = jiffies;
 			list_move(&inode->i_list, &sb->s_dirty);


^ permalink raw reply	[flat|nested] 65+ messages in thread

* Re: -mm merge plans for 2.6.21
  2007-02-09 22:12           ` David Woodhouse
@ 2007-02-09 22:42             ` David Woodhouse
  0 siblings, 0 replies; 65+ messages in thread
From: David Woodhouse @ 2007-02-09 22:42 UTC (permalink / raw)
  To: Russell King; +Cc: Andrew Morton, Alexey Dobriyan, linux-kernel, drepper

On Fri, 2007-02-09 at 22:12 +0000, David Woodhouse wrote:
> 
> We could _also_ do with a way to warn about unimplemented syscalls on
> any given architecture. I'm thinking about something along the lines
> of
> a kernel/syscalls.c containing nothing but...
> 
>         #include <asm/unistd.h>
> 
>         #ifndef __NR_sys_foo
>         #warning The sys_foo system call is not implemented on this
> architecture
>         #endif
> 
> Ideally, that wants to be auto-generated from the union of all
> <asm-*/unistd.h> files, but in practice I suspect we could do it just
> from <asm-i386/unistd.h>. Even I usually manage to add new syscalls on
> i386 after I've done PowerPC. 

Realistically speaking, I'm not going to have time to do anything useful
with this before I disappear for a week starting tomorrow. But in case
it helps, I'll throw this in to see if it inspires anyone...

 ( echo -e "#include <asm/unistd.h>\n#include
<asm-generic/optional-syscalls.h>" ; sed -n '/^#define/s/[^_]*__NR_
\([^[:space:]]*\).*/#if !defined (__NR_\1) \&\& !defined (__IGNORE_
\1)\n#warning System call \1 is not implemented\n#endif/p'
include/asm-i386/unistd.h ) > kernel/syscalls.c

Coupled with an include/optional-syscalls.h which defines __IGNORE_vm86,
__IGNORE_vm86old and then on 64-bit machines a bunch more
__IGNORE_stat64 et al., that should mostly do the trick...

-- 
dwmw2


^ permalink raw reply	[flat|nested] 65+ messages in thread

* Re: -mm merge plans for 2.6.21
  2007-02-09 21:59     ` David Woodhouse
@ 2007-02-09 22:50       ` Davide Libenzi
  2007-02-10 10:22         ` Heiko Carstens
  0 siblings, 1 reply; 65+ messages in thread
From: Davide Libenzi @ 2007-02-09 22:50 UTC (permalink / raw)
  To: David Woodhouse
  Cc: Andrew Morton, Alexey Dobriyan, Linux Kernel Mailing List,
	Ulrich Drepper

On Fri, 9 Feb 2007, David Woodhouse wrote:

> On Fri, 2007-02-09 at 13:45 -0800, Andrew Morton wrote:
> > > I would strongly recommend that in the general case, you don't merge new
> > > system calls unless the corresponding compat_ system call is
> > > implemented.
> > 
> > Good point. 
> 
> It's a _damn_ good point, but I see we went ahead and merged
> sys_epoll_pwait without it anyway -- despite the fact that it's
> include/linux/eventpoll.h which contains the example of why we should
> think first :)
> 
> I think I even threw together an untested implementation of
> compat_sys_epoll_pwait() at one point to assist with that task, but it
> didn't seem to help much.

Damn! I always forget. Doing it right now ...


- Davide



^ permalink raw reply	[flat|nested] 65+ messages in thread

* Re: -mm merge plans for 2.6.21
  2007-02-09 21:51   ` Andrew Morton
@ 2007-02-10  1:15     ` Carl-Daniel Hailfinger
  2007-02-10  1:29       ` Andrew Morton
  0 siblings, 1 reply; 65+ messages in thread
From: Carl-Daniel Hailfinger @ 2007-02-10  1:15 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Alan, linux-kernel

Andrew Morton wrote:
> On Fri, 9 Feb 2007 19:37:53 +0000
> Alan <alan@lxorguk.ukuu.org.uk> wrote:
> 
>> Please just push the EDAC K8 stuff.
> 
> OK.
> 
>> Andi will say "no" from now until the
>> end of time, but end users want it, distributions want it, and Andi is
>> not the EDAC maintainer so should consider himself overruled on what
>> isn't a technical issue but a personal political viewpoint.
> 
> I'll just tell him I sent it by accident.

Could you please merge ACPI-DSDT-in-initrd for the same reasons?

Regards,
Carl-Daniel

^ permalink raw reply	[flat|nested] 65+ messages in thread

* Re: -mm merge plans for 2.6.21
  2007-02-10  1:15     ` Carl-Daniel Hailfinger
@ 2007-02-10  1:29       ` Andrew Morton
  0 siblings, 0 replies; 65+ messages in thread
From: Andrew Morton @ 2007-02-10  1:29 UTC (permalink / raw)
  To: Carl-Daniel Hailfinger; +Cc: Alan, linux-kernel

On Sat, 10 Feb 2007 02:15:11 +0100
Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> wrote:

> Andrew Morton wrote:
> > On Fri, 9 Feb 2007 19:37:53 +0000
> > Alan <alan@lxorguk.ukuu.org.uk> wrote:
> > 
> >> Please just push the EDAC K8 stuff.
> > 
> > OK.
> > 
> >> Andi will say "no" from now until the
> >> end of time, but end users want it, distributions want it, and Andi is
> >> not the EDAC maintainer so should consider himself overruled on what
> >> isn't a technical issue but a personal political viewpoint.
> > 
> > I'll just tell him I sent it by accident.
> 
> Could you please merge ACPI-DSDT-in-initrd for the same reasons?
> 

I don't know what that is.

^ permalink raw reply	[flat|nested] 65+ messages in thread

* Re: -mm merge plans for 2.6.21
  2007-02-09 22:03         ` Russell King
  2007-02-09 22:12           ` David Woodhouse
@ 2007-02-10  2:05           ` Oleg Verych
  1 sibling, 0 replies; 65+ messages in thread
From: Oleg Verych @ 2007-02-10  2:05 UTC (permalink / raw)
  To: David Woodhouse, Andrew Morton, Alexey Dobriyan, linux-kernel, drepper

> From: Russell King
> Newsgroups: gmane.linux.kernel
> Subject: Re: -mm merge plans for 2.6.21
> Date: Fri, 9 Feb 2007 22:03:27 +0000
[]
> However:
>
> sys_foo(int a, int c, unsigned long long b, unsigned long long d)
>
> is entirely reasonable and leaves us with spare room for one additional
> 32-bit arg to be passed.
>
>> Is that actually written anywhere, and does anyone bother to check?
>
> Mostly mailing list archives I'd guess.  As far as anyone bothering
> to check, that's me when I'm aware of new syscalls... which typically
> happens a long time after the syscalls have been introduced on x86
> etc.

Why not to have "the most large argument first" rule here?

  sys_bar(largest,..., larger,..., smaller,..., small);

Put it in Documentation/ABI/README and bother only, when compiller
will bark on -mm tree.

____

^ permalink raw reply	[flat|nested] 65+ messages in thread

* Re: -mm merge plans for 2.6.21 -- md-dm-reduce-stack-usage-with-stacked-block-devices.patch
  2007-02-08 23:07 -mm merge plans for 2.6.21 Andrew Morton
                   ` (7 preceding siblings ...)
  2007-02-09 22:18 ` Guillaume Chazarain
@ 2007-02-10  9:58 ` Heiko Carstens
  2007-02-10 22:35     ` Alasdair G Kergon
  2007-02-11  0:31 ` -mm merge plans for 2.6.21 Dave Jones
  9 siblings, 1 reply; 65+ messages in thread
From: Heiko Carstens @ 2007-02-10  9:58 UTC (permalink / raw)
  To: Andrew Morton, Alasdair G Kergon, dm-devel, Neil Brown; +Cc: linux-kernel

On Thu, Feb 08, 2007 at 03:07:10PM -0800, Andrew Morton wrote:
> drivers-mdc-use-array_size-macro-when-appropriate.patch
> md-dm-reduce-stack-usage-with-stacked-block-devices.patch
>  
>  -> neilb
>  
>  (The second one is getting idiotic.  When are we going to fix this??)

Since it was me who asked to have the stack usage reduced and Neil was
kind enough to fix this, I'm wondering what the state of dm is.

I think more than a year ago we had this:

Alasdair G Kergon <agk@redhat.com> said:

 I can see nothing wrong with this in principle.

 For device-mapper at the moment though it's essential that, while the bio
 mappings may now get delayed, they still get processed in exactly
 the same order as they were passed to generic_make_request().

 My main concern is whether the timing changes implicit in this patch
 will make the rare data-corrupting races in the existing snapshot code
 more likely. (I'm working on a fix for these races, but the unfinished
 patch is already several hundred lines long.)

 It would be helpful if some people on this mailing list would test
 this patch in various scenarios and report back.

Alasdair, is dm already fixed or is there any chance that it will
ever get fixed?

^ permalink raw reply	[flat|nested] 65+ messages in thread

* Re: -mm merge plans for 2.6.21
  2007-02-09 22:50       ` Davide Libenzi
@ 2007-02-10 10:22         ` Heiko Carstens
  2007-02-10 10:32           ` David Woodhouse
  2007-02-10 21:05           ` Ralf Baechle
  0 siblings, 2 replies; 65+ messages in thread
From: Heiko Carstens @ 2007-02-10 10:22 UTC (permalink / raw)
  To: Davide Libenzi, ralf, linux-mips
  Cc: David Woodhouse, Andrew Morton, Alexey Dobriyan,
	Linux Kernel Mailing List, Ulrich Drepper

On Fri, Feb 09, 2007 at 02:50:12PM -0800, Davide Libenzi wrote:
> On Fri, 9 Feb 2007, David Woodhouse wrote:
> 
> > On Fri, 2007-02-09 at 13:45 -0800, Andrew Morton wrote:
> > > > I would strongly recommend that in the general case, you don't merge new
> > > > system calls unless the corresponding compat_ system call is
> > > > implemented.
> > > 
> > > Good point. 
> > 
> > It's a _damn_ good point, but I see we went ahead and merged
> > sys_epoll_pwait without it anyway -- despite the fact that it's
> > include/linux/eventpoll.h which contains the example of why we should
> > think first :)
> > 
> > I think I even threw together an untested implementation of
> > compat_sys_epoll_pwait() at one point to assist with that task, but it
> > didn't seem to help much.
> 
> Damn! I always forget. Doing it right now ...

Which remembers me that I think that MIPS is using the non-compat version
of sys_epoll_pwait for compat syscalls. But maybe MIPS doesn't need a compat
syscall for some reason. Dunno.

^ permalink raw reply	[flat|nested] 65+ messages in thread

* Re: -mm merge plans for 2.6.21
  2007-02-10 10:22         ` Heiko Carstens
@ 2007-02-10 10:32           ` David Woodhouse
  2007-02-10 21:34             ` Ralf Baechle
  2007-02-10 21:05           ` Ralf Baechle
  1 sibling, 1 reply; 65+ messages in thread
From: David Woodhouse @ 2007-02-10 10:32 UTC (permalink / raw)
  To: Heiko Carstens
  Cc: Davide Libenzi, ralf, linux-mips, Andrew Morton, Alexey Dobriyan,
	Linux Kernel Mailing List, Ulrich Drepper

On Sat, 2007-02-10 at 11:22 +0100, Heiko Carstens wrote:
> Which remembers me that I think that MIPS is using the non-compat version
> of sys_epoll_pwait for compat syscalls. But maybe MIPS doesn't need a compat
> syscall for some reason. Dunno. 

It's OK as long as the 64-bit kernel, N32 and O32 userspace all agree
there there's 32 bits of padding between the fields of this structure:

struct epoll_event {
        __u32 events;
        __u64 data;
};

I suspect it's a fairly safe bet that N32 userspace agrees; if the O32
ABI is different then it would need the compat syscall.

-- 
dwmw2


^ permalink raw reply	[flat|nested] 65+ messages in thread

* Re: -mm merge plans for 2.6.21
  2007-02-09 11:24     ` Arjan van de Ven
  2007-02-09 11:39       ` Andrew Morton
@ 2007-02-10 11:42       ` Arnd Bergmann
  2007-02-10 14:19         ` Frederik Deweerdt
  1 sibling, 1 reply; 65+ messages in thread
From: Arnd Bergmann @ 2007-02-10 11:42 UTC (permalink / raw)
  To: Arjan van de Ven
  Cc: Frederik Deweerdt, Jan Engelhardt, Andrew Morton, linux-kernel, tglx

On Friday 09 February 2007 12:24, Arjan van de Ven wrote:
> 
> On Fri, 2007-02-09 at 10:57 +0000, Frederik Deweerdt wrote:
> > +static const int __deprecated SA_INTERRUPT = IRQF_DISABLED;
> > +static const int __deprecated SA_SAMPLE_RANDOM = IRQF_SAMPLE_RANDOM;
> > +static const int __deprecated SA_SHIRQ = IRQF_SHARED;
> > +static const int __deprecated SA_PROBEIRQ = IRQF_PROBE_SHARED;
> > +static const int __deprecated SA_PERCPU = IRQF_PERCPU;
> > +
> > +static const int __deprecated SA_TRIGGER_LOW = IRQF_TRIGGER_LOW;
> > +static const int __deprecated SA_TRIGGER_HIGH = IRQF_TRIGGER_HIGH;
> > +static const int __deprecated SA_TRIGGER_FALLING = IRQF_TRIGGER_FALLING;
> > +static const int __deprecated SA_TRIGGER_RISING = IRQF_TRIGGER_RISING;
> > +static const int __deprecated SA_TRIGGER_MASK = IRQF_TRIGGER_MASK;
> 
> this will include these in every .o file for which the .c file includes
> the header. NOT GOOD(tm)
> 

How about this one instead then:

Mark SA_* constants as deprecated

Signed-off-by: Arnd Bergmann <arnd@arndb.de>

--- a/include/linux/interrupt.h
+++ b/include/linux/interrupt.h
@@ -53,17 +53,19 @@
  * Migration helpers. Scheduled for removal in 1/2007
  * Do not use for new code !
  */
-#define SA_INTERRUPT		IRQF_DISABLED
-#define SA_SAMPLE_RANDOM	IRQF_SAMPLE_RANDOM
-#define SA_SHIRQ		IRQF_SHARED
-#define SA_PROBEIRQ		IRQF_PROBE_SHARED
-#define SA_PERCPU		IRQF_PERCPU
-
-#define SA_TRIGGER_LOW		IRQF_TRIGGER_LOW
-#define SA_TRIGGER_HIGH		IRQF_TRIGGER_HIGH
-#define SA_TRIGGER_FALLING	IRQF_TRIGGER_FALLING
-#define SA_TRIGGER_RISING	IRQF_TRIGGER_RISING
-#define SA_TRIGGER_MASK		IRQF_TRIGGER_MASK
+typedef unsigned int __deprecated deprecated_irqf;
+
+#define SA_INTERRUPT		((deprecated_irqf)IRQF_DISABLED)
+#define SA_SAMPLE_RANDOM	((deprecated_irqf)IRQF_SAMPLE_RANDOM)
+#define SA_SHIRQ		((deprecated_irqf)IRQF_SHARED)
+#define SA_PROBEIRQ		((deprecated_irqf)IRQF_PROBE_SHARED)
+#define SA_PERCPU		((deprecated_irqf)IRQF_PERCPU)
+
+#define SA_TRIGGER_LOW		((deprecated_irqf)IRQF_TRIGGER_LOW)
+#define SA_TRIGGER_HIGH		((deprecated_irqf)IRQF_TRIGGER_HIGH)
+#define SA_TRIGGER_FALLING	((deprecated_irqf)IRQF_TRIGGER_FALLING)
+#define SA_TRIGGER_RISING	((deprecated_irqf)IRQF_TRIGGER_RISING)
+#define SA_TRIGGER_MASK		((deprecated_irqf)IRQF_TRIGGER_MASK)
 
 typedef irqreturn_t (*irq_handler_t)(int, void *);
 

^ permalink raw reply	[flat|nested] 65+ messages in thread

* Re: -mm merge plans for 2.6.21
  2007-02-09 17:35 ` David Woodhouse
  2007-02-09 21:45   ` Andrew Morton
@ 2007-02-10 13:03   ` Andi Kleen
  1 sibling, 0 replies; 65+ messages in thread
From: Andi Kleen @ 2007-02-10 13:03 UTC (permalink / raw)
  To: David Woodhouse; +Cc: Andrew Morton, linux-kernel, drepper

David Woodhouse <dwmw2@infradead.org> writes:

> On Thu, 2007-02-08 at 15:07 -0800, Andrew Morton wrote:
> > lutimesat-simplify-utime2.patch
> > lutimesat-extend-do_utimes-with-flags.patch
> > lutimesat-actual-syscall-and-wire-up-on-i386.patch
> > 
> >  Do we want this?  Ulrich says so.  Will merge, I guess.
> 
> I would strongly recommend that in the general case, you don't merge new
> system calls unless the corresponding compat_ system call is
> implemented.

... and there is a manpage ready to submit to manpages.

-Andi

^ permalink raw reply	[flat|nested] 65+ messages in thread

* Re: -mm merge plans for 2.6.21
  2007-02-09 19:37 ` Alan
  2007-02-09 21:51   ` Andrew Morton
@ 2007-02-10 13:06   ` Andi Kleen
  2007-02-10 13:48     ` Alan
  2007-02-12 20:56     ` Doug Thompson
  1 sibling, 2 replies; 65+ messages in thread
From: Andi Kleen @ 2007-02-10 13:06 UTC (permalink / raw)
  To: Alan; +Cc: Andrew Morton, linux-kernel

Alan <alan@lxorguk.ukuu.org.uk> writes:

> Please just push the EDAC K8 stuff. Andi will say "no" from now until the
> end of time, but end users want it, distributions want it, and Andi is
> not the EDAC maintainer so should consider himself overruled on what
> isn't a technical issue but a personal political viewpoint.

Well it's a technical issue -- it conflicts with the machine check
code that is already implemented by stealing away its events.
You would first need a CONFIG_MCE=n on x86-64 at least, otherwise
one of them will be unhappy.

The other issue is that the existing code does everything EDAC
K8 does already perfectly fine, just in a small fraction of 
the code.

-Andi

^ permalink raw reply	[flat|nested] 65+ messages in thread

* Re: -mm merge plans for 2.6.21
  2007-02-10 13:06   ` Andi Kleen
@ 2007-02-10 13:48     ` Alan
  2007-02-10 14:43       ` Andi Kleen
  2007-02-12 20:56     ` Doug Thompson
  1 sibling, 1 reply; 65+ messages in thread
From: Alan @ 2007-02-10 13:48 UTC (permalink / raw)
  To: Andi Kleen; +Cc: Andrew Morton, linux-kernel

> Well it's a technical issue -- it conflicts with the machine check
> code that is already implemented by stealing away its events.
> You would first need a CONFIG_MCE=n on x86-64 at least, otherwise
> one of them will be unhappy.

That is a fair point, albeit after far too long sitting stuck in the tree.
I'll have a look into this a bit further, probably MCE_K8 should feed off
the output of the MCE driver.

> The other issue is that the existing code does everything EDAC
> K8 does already perfectly fine, just in a small fraction of 
> the code.

Which is false. It provided a totally inconsistent interface to user
space, while the EDAC layer provides the consistency many people need and
want. Also unless it has changed remarkably the MCE driver doesn't do
scrubbing which is needed in software on some chip revisions.

The MCE driver is small, neat, incomplete for some cases and different
to all the other platforms as they use off CPU memory controllers. Its
ideal for a lot of uses but not big enterprise systems. Thats why we need
both.

Alan

^ permalink raw reply	[flat|nested] 65+ messages in thread

* Re: -mm merge plans for 2.6.21
  2007-02-10 11:42       ` Arnd Bergmann
@ 2007-02-10 14:19         ` Frederik Deweerdt
  0 siblings, 0 replies; 65+ messages in thread
From: Frederik Deweerdt @ 2007-02-10 14:19 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Arjan van de Ven, Jan Engelhardt, Andrew Morton, linux-kernel, tglx

On Sat, Feb 10, 2007 at 12:42:41PM +0100, Arnd Bergmann wrote:
> On Friday 09 February 2007 12:24, Arjan van de Ven wrote:
> > 
> > On Fri, 2007-02-09 at 10:57 +0000, Frederik Deweerdt wrote:
> > > +static const int __deprecated SA_INTERRUPT = IRQF_DISABLED;
> > > +static const int __deprecated SA_SAMPLE_RANDOM = IRQF_SAMPLE_RANDOM;
> > > +static const int __deprecated SA_SHIRQ = IRQF_SHARED;
> > > +static const int __deprecated SA_PROBEIRQ = IRQF_PROBE_SHARED;
> > > +static const int __deprecated SA_PERCPU = IRQF_PERCPU;
> > > +
> > > +static const int __deprecated SA_TRIGGER_LOW = IRQF_TRIGGER_LOW;
> > > +static const int __deprecated SA_TRIGGER_HIGH = IRQF_TRIGGER_HIGH;
> > > +static const int __deprecated SA_TRIGGER_FALLING = IRQF_TRIGGER_FALLING;
> > > +static const int __deprecated SA_TRIGGER_RISING = IRQF_TRIGGER_RISING;
> > > +static const int __deprecated SA_TRIGGER_MASK = IRQF_TRIGGER_MASK;
> > 
> > this will include these in every .o file for which the .c file includes
> > the header. NOT GOOD(tm)
> > 
> 
> How about this one instead then:
Well, the warning you get is not that obvious:

test.c: In function 'main':
test.c:11: warning: 'deprecated_irqf' is deprecated

And as far as I could test (gcc 4.1.1 and gcc 3.4.3), Arjan's comment is
not true, the "static const int" don't use extra space, they get
optimized away by the compiler (see http://lkml.org/lkml/2007/2/9/106).

Regards,
Frederik
> 
> Mark SA_* constants as deprecated
> 
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> 
> --- a/include/linux/interrupt.h
> +++ b/include/linux/interrupt.h
> @@ -53,17 +53,19 @@
>   * Migration helpers. Scheduled for removal in 1/2007
>   * Do not use for new code !
>   */
> -#define SA_INTERRUPT		IRQF_DISABLED
> -#define SA_SAMPLE_RANDOM	IRQF_SAMPLE_RANDOM
> -#define SA_SHIRQ		IRQF_SHARED
> -#define SA_PROBEIRQ		IRQF_PROBE_SHARED
> -#define SA_PERCPU		IRQF_PERCPU
> -
> -#define SA_TRIGGER_LOW		IRQF_TRIGGER_LOW
> -#define SA_TRIGGER_HIGH		IRQF_TRIGGER_HIGH
> -#define SA_TRIGGER_FALLING	IRQF_TRIGGER_FALLING
> -#define SA_TRIGGER_RISING	IRQF_TRIGGER_RISING
> -#define SA_TRIGGER_MASK		IRQF_TRIGGER_MASK
> +typedef unsigned int __deprecated deprecated_irqf;
> +
> +#define SA_INTERRUPT		((deprecated_irqf)IRQF_DISABLED)
> +#define SA_SAMPLE_RANDOM	((deprecated_irqf)IRQF_SAMPLE_RANDOM)
> +#define SA_SHIRQ		((deprecated_irqf)IRQF_SHARED)
> +#define SA_PROBEIRQ		((deprecated_irqf)IRQF_PROBE_SHARED)
> +#define SA_PERCPU		((deprecated_irqf)IRQF_PERCPU)
> +
> +#define SA_TRIGGER_LOW		((deprecated_irqf)IRQF_TRIGGER_LOW)
> +#define SA_TRIGGER_HIGH		((deprecated_irqf)IRQF_TRIGGER_HIGH)
> +#define SA_TRIGGER_FALLING	((deprecated_irqf)IRQF_TRIGGER_FALLING)
> +#define SA_TRIGGER_RISING	((deprecated_irqf)IRQF_TRIGGER_RISING)
> +#define SA_TRIGGER_MASK		((deprecated_irqf)IRQF_TRIGGER_MASK)
>  
>  typedef irqreturn_t (*irq_handler_t)(int, void *);
>  
> 

^ permalink raw reply	[flat|nested] 65+ messages in thread

* Re: -mm merge plans for 2.6.21
  2007-02-10 13:48     ` Alan
@ 2007-02-10 14:43       ` Andi Kleen
  0 siblings, 0 replies; 65+ messages in thread
From: Andi Kleen @ 2007-02-10 14:43 UTC (permalink / raw)
  To: Alan; +Cc: Andrew Morton, linux-kernel

On Saturday 10 February 2007 14:48, Alan wrote:
> > Well it's a technical issue -- it conflicts with the machine check
> > code that is already implemented by stealing away its events.
> > You would first need a CONFIG_MCE=n on x86-64 at least, otherwise
> > one of them will be unhappy.
> 
> That is a fair point, albeit after far too long sitting stuck in the tree.

I'm pretty sure I mentioned it earlier already.

> I'll have a look into this a bit further, probably MCE_K8 should feed off
> the output of the MCE driver.

You could probably write a simple edac driver that just feeds of the events 
mce.c generates and presents that as the EDAC drivers. Currently 
the user space device is the only consumer, but it wouldn't be hard
to full it off to other kernel users.

Possibly keeping the existing code that reads the DIMMs and 
then reads the address map of the NB and match that, then you
get the same output.

[However see below -- i think matching it to SMBIOS using the address
is a lot more useful for the user in the end]

> 
> > The other issue is that the existing code does everything EDAC
> > K8 does already perfectly fine, just in a small fraction of 
> > the code.
> 
> Which is false. It provided a totally inconsistent interface to user
> space, while the EDAC layer provides the consistency many people need and
> want.

I still don't get that argument because unlike mce.c+mcelog EDAC cannot
actually tell you where the DIMM that failed is located on your motherboard.

As far as i can make it out it's only useful for people who either
have full schematics of their motherboard and know how to read them
or did a full try'n'error of all combinations run once to 
figure out which channel is located where.

Somehow I cannot imagine either of that is very common in "enterprises" ;-)

Ok one argument was that some LinuxBIOS users don't seem to 
set up these tables and have the necessary information at hand
for their custom cluster hardware, but that's still a weird uncommon 
case and it would be far better if they just fixed LB.

> Also unless it has changed remarkably the MCE driver doesn't do 
> scrubbing which is needed in software on some chip revisions.

True, adding that might be a good idea.

[Although I guess that could be done with a small user utility
using /dev/mem though if you really wanted it?]

One thing EDAC also does that mcelog doesn't is decode the ECC 
syndromes -- but I haven't figured out a use case yet where that
is actually useful to know afterwards.

-Andi

^ permalink raw reply	[flat|nested] 65+ messages in thread

* Re: -mm merge plans for 2.6.21
  2007-02-10 10:22         ` Heiko Carstens
  2007-02-10 10:32           ` David Woodhouse
@ 2007-02-10 21:05           ` Ralf Baechle
  2007-02-11 10:37             ` Andi Kleen
  1 sibling, 1 reply; 65+ messages in thread
From: Ralf Baechle @ 2007-02-10 21:05 UTC (permalink / raw)
  To: Heiko Carstens
  Cc: Davide Libenzi, linux-mips, David Woodhouse, Andrew Morton,
	Alexey Dobriyan, Linux Kernel Mailing List, Ulrich Drepper,
	Andi Kleen

On Sat, Feb 10, 2007 at 11:22:05AM +0100, Heiko Carstens wrote:

> Which remembers me that I think that MIPS is using the non-compat version
> of sys_epoll_pwait for compat syscalls. But maybe MIPS doesn't need a compat
> syscall for some reason. Dunno.

Which reminds me that x86_64 i386 compat doesn't wire up sys_epoll_pwait ;-)

  Ralf

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

diff --git a/arch/x86_64/ia32/ia32entry.S b/arch/x86_64/ia32/ia32entry.S
index b4aa875..5993262 100644
--- a/arch/x86_64/ia32/ia32entry.S
+++ b/arch/x86_64/ia32/ia32entry.S
@@ -718,4 +718,5 @@ ia32_sys_call_table:
 	.quad compat_sys_vmsplice
 	.quad compat_sys_move_pages
 	.quad sys_getcpu
+	.quad sys_epoll_pwait
 ia32_syscall_end:		

^ permalink raw reply related	[flat|nested] 65+ messages in thread

* Re: -mm merge plans for 2.6.21
  2007-02-10 10:32           ` David Woodhouse
@ 2007-02-10 21:34             ` Ralf Baechle
  2007-02-11  4:53               ` Davide Libenzi
                                 ` (2 more replies)
  0 siblings, 3 replies; 65+ messages in thread
From: Ralf Baechle @ 2007-02-10 21:34 UTC (permalink / raw)
  To: David Woodhouse
  Cc: Heiko Carstens, Davide Libenzi, linux-mips, Andrew Morton,
	Alexey Dobriyan, Linux Kernel Mailing List, Ulrich Drepper

On Sat, Feb 10, 2007 at 10:32:07AM +0000, David Woodhouse wrote:

> On Sat, 2007-02-10 at 11:22 +0100, Heiko Carstens wrote:
> > Which remembers me that I think that MIPS is using the non-compat version
> > of sys_epoll_pwait for compat syscalls. But maybe MIPS doesn't need a compat
> > syscall for some reason. Dunno. 
> 
> It's OK as long as the 64-bit kernel, N32 and O32 userspace all agree
> there there's 32 bits of padding between the fields of this structure:
> 
> struct epoll_event {
>         __u32 events;
>         __u64 data;
> };
> 
> I suspect it's a fairly safe bet that N32 userspace agrees; if the O32
> ABI is different then it would need the compat syscall.

That is correct - and apparently for all ABIs because I wasn't able to find
a compat_sys_epoll_pwait at all.

Unfortunately struct epoll_event contains a gap so it bets on identical
padding rules between native and compat ABI and anyway, padding is wasted
space so the struct members should have been swapped when this structure
was created.  Oh well, too late.

  Ralf

^ permalink raw reply	[flat|nested] 65+ messages in thread

* Re: -mm merge plans for 2.6.21 -- md-dm-reduce-stack-usage-with-stacked-block-devices.patch
  2007-02-10  9:58 ` -mm merge plans for 2.6.21 -- md-dm-reduce-stack-usage-with-stacked-block-devices.patch Heiko Carstens
@ 2007-02-10 22:35     ` Alasdair G Kergon
  0 siblings, 0 replies; 65+ messages in thread
From: Alasdair G Kergon @ 2007-02-10 22:35 UTC (permalink / raw)
  To: Heiko Carstens; +Cc: Andrew Morton, mbroz, dm-devel, Neil Brown, linux-kernel

On Sat, Feb 10, 2007 at 10:58:58AM +0100, Heiko Carstens wrote:
> Alasdair, is dm already fixed or is there any chance that it will
> ever get fixed?

I still expect us to get this changed within the next few months.  We've
dealt with the changes necessary to the crypt target for this.  The final
problem remaining is the core dm bio splitting code, and there's a related
locking problem in that code to tackle at the same time.

Alasdair
-- 
agk@redhat.com

^ permalink raw reply	[flat|nested] 65+ messages in thread

* Re: -mm merge plans for 2.6.21 -- md-dm-reduce-stack-usage-with-stacked-block-devices.patch
@ 2007-02-10 22:35     ` Alasdair G Kergon
  0 siblings, 0 replies; 65+ messages in thread
From: Alasdair G Kergon @ 2007-02-10 22:35 UTC (permalink / raw)
  To: Heiko Carstens; +Cc: linux-kernel, Andrew Morton, dm-devel

On Sat, Feb 10, 2007 at 10:58:58AM +0100, Heiko Carstens wrote:
> Alasdair, is dm already fixed or is there any chance that it will
> ever get fixed?

I still expect us to get this changed within the next few months.  We've
dealt with the changes necessary to the crypt target for this.  The final
problem remaining is the core dm bio splitting code, and there's a related
locking problem in that code to tackle at the same time.

Alasdair
-- 
agk@redhat.com

^ permalink raw reply	[flat|nested] 65+ messages in thread

* Re: -mm merge plans for 2.6.21
  2007-02-08 23:07 -mm merge plans for 2.6.21 Andrew Morton
                   ` (8 preceding siblings ...)
  2007-02-10  9:58 ` -mm merge plans for 2.6.21 -- md-dm-reduce-stack-usage-with-stacked-block-devices.patch Heiko Carstens
@ 2007-02-11  0:31 ` Dave Jones
  9 siblings, 0 replies; 65+ messages in thread
From: Dave Jones @ 2007-02-11  0:31 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

On Thu, Feb 08, 2007 at 03:07:10PM -0800, Andrew Morton wrote:
 > 
 > I'm getting fed up of holding onto hundreds of patches against subsystem
 > trees, sending them over and over again seeing and nothing happen.  I sent 242
 > patches out to subsystem maintainers on Monday and look at what's still here.
 > 
  > agpgart-allow-drm-populated-agp-memory-types-tidy.patch
 > remove-hotplug-cpu-crap-from-cpufreq.patch
 > rewrite-lock-in-cpufreq-to-eliminate-cpufreq-hotplug-related-issues.patch
 > ondemand-governor-restructure-the-work-callback.patch
 > ondemand-governor-use-new-cpufreq-rwsem-locking-in-work-callback.patch
 > cpu_freq_table-shouldnt-be-a-def_tristate.patch
 > 
 >   -> davej

Apologies, I suck.
I'll dispose of these appropriately tonight.

		Dave

-- 
http://www.codemonkey.org.uk

^ permalink raw reply	[flat|nested] 65+ messages in thread

* Re: -mm merge plans for 2.6.21
  2007-02-10 21:34             ` Ralf Baechle
@ 2007-02-11  4:53               ` Davide Libenzi
  2007-02-11 15:33               ` David Woodhouse
  2007-02-11 16:14               ` Heiko Carstens
  2 siblings, 0 replies; 65+ messages in thread
From: Davide Libenzi @ 2007-02-11  4:53 UTC (permalink / raw)
  To: Ralf Baechle
  Cc: David Woodhouse, Heiko Carstens, linux-mips, Andrew Morton,
	Alexey Dobriyan, Linux Kernel Mailing List, Ulrich Drepper

On Sat, 10 Feb 2007, Ralf Baechle wrote:

> Unfortunately struct epoll_event contains a gap so it bets on identical
> padding rules between native and compat ABI and anyway, padding is wasted
> space so the struct members should have been swapped when this structure
> was created.  Oh well, too late.

You really should have needed padding in there, since even if you swapped 
the members, sizeof(struct epoll_event) would still need to be 16, if 
alignof(u64) == 8. Either adding an extra auxilliary u32, or make the two 
members be u64, would have been ok.
I'll be posting a patch that adds the compat_ layer for epoll in 
kernel/compat.c. Architectures that needs it (currently only ARM-EABI and 
IA64 use a compat code for epoll), should wire them up.



- Davide



^ permalink raw reply	[flat|nested] 65+ messages in thread

* Re: -mm merge plans for 2.6.21
  2007-02-10 21:05           ` Ralf Baechle
@ 2007-02-11 10:37             ` Andi Kleen
  0 siblings, 0 replies; 65+ messages in thread
From: Andi Kleen @ 2007-02-11 10:37 UTC (permalink / raw)
  To: Ralf Baechle
  Cc: Heiko Carstens, Davide Libenzi, linux-mips, David Woodhouse,
	Andrew Morton, Alexey Dobriyan, Linux Kernel Mailing List,
	Ulrich Drepper

On Saturday 10 February 2007 22:05, Ralf Baechle wrote:
> On Sat, Feb 10, 2007 at 11:22:05AM +0100, Heiko Carstens wrote:
> 
> > Which remembers me that I think that MIPS is using the non-compat version
> > of sys_epoll_pwait for compat syscalls. But maybe MIPS doesn't need a compat
> > syscall for some reason. Dunno.
> 
> Which reminds me that x86_64 i386 compat doesn't wire up sys_epoll_pwait ;-)

Added thanks.

-Andi

^ permalink raw reply	[flat|nested] 65+ messages in thread

* Re: -mm merge plans for 2.6.21
  2007-02-10 21:34             ` Ralf Baechle
  2007-02-11  4:53               ` Davide Libenzi
@ 2007-02-11 15:33               ` David Woodhouse
  2007-02-11 16:09                 ` Ralf Baechle
  2007-02-11 16:14               ` Heiko Carstens
  2 siblings, 1 reply; 65+ messages in thread
From: David Woodhouse @ 2007-02-11 15:33 UTC (permalink / raw)
  To: Ralf Baechle
  Cc: Heiko Carstens, Davide Libenzi, linux-mips, Andrew Morton,
	Alexey Dobriyan, Linux Kernel Mailing List, Ulrich Drepper

On Sat, 2007-02-10 at 21:34 +0000, Ralf Baechle wrote:
> Unfortunately struct epoll_event contains a gap so it bets on identical
> padding rules between native and compat ABI and anyway, padding is wasted
> space so the struct members should have been swapped when this structure
> was created.  Oh well, too late. 

Indeed. That was the example I was thinking of when I suggested the "no
new syscalls without _simultaneous_ compat version" rule.

-- 
dwmw2


^ permalink raw reply	[flat|nested] 65+ messages in thread

* Re: -mm merge plans for 2.6.21
  2007-02-11 15:33               ` David Woodhouse
@ 2007-02-11 16:09                 ` Ralf Baechle
  0 siblings, 0 replies; 65+ messages in thread
From: Ralf Baechle @ 2007-02-11 16:09 UTC (permalink / raw)
  To: David Woodhouse
  Cc: Heiko Carstens, Davide Libenzi, linux-mips, Andrew Morton,
	Alexey Dobriyan, Linux Kernel Mailing List, Ulrich Drepper

On Sun, Feb 11, 2007 at 04:33:41PM +0100, David Woodhouse wrote:

> On Sat, 2007-02-10 at 21:34 +0000, Ralf Baechle wrote:
> > Unfortunately struct epoll_event contains a gap so it bets on identical
> > padding rules between native and compat ABI and anyway, padding is wasted
> > space so the struct members should have been swapped when this structure
> > was created.  Oh well, too late. 
> 
> Indeed. That was the example I was thinking of when I suggested the "no
> new syscalls without _simultaneous_ compat version" rule.

The need for a compat ABI is not always obvious.

  Ralf

^ permalink raw reply	[flat|nested] 65+ messages in thread

* Re: -mm merge plans for 2.6.21
  2007-02-10 21:34             ` Ralf Baechle
  2007-02-11  4:53               ` Davide Libenzi
  2007-02-11 15:33               ` David Woodhouse
@ 2007-02-11 16:14               ` Heiko Carstens
  2007-02-11 16:34                 ` Davide Libenzi
  2007-02-11 18:01                 ` Ralf Baechle
  2 siblings, 2 replies; 65+ messages in thread
From: Heiko Carstens @ 2007-02-11 16:14 UTC (permalink / raw)
  To: Ralf Baechle
  Cc: David Woodhouse, Davide Libenzi, linux-mips, Andrew Morton,
	Alexey Dobriyan, Linux Kernel Mailing List, Ulrich Drepper

On Sat, Feb 10, 2007 at 09:34:47PM +0000, Ralf Baechle wrote:
> On Sat, Feb 10, 2007 at 10:32:07AM +0000, David Woodhouse wrote:
> 
> > On Sat, 2007-02-10 at 11:22 +0100, Heiko Carstens wrote:
> > > Which remembers me that I think that MIPS is using the non-compat version
> > > of sys_epoll_pwait for compat syscalls. But maybe MIPS doesn't need a compat
> > > syscall for some reason. Dunno. 
> > 
> > It's OK as long as the 64-bit kernel, N32 and O32 userspace all agree
> > there there's 32 bits of padding between the fields of this structure:
> > 
> > struct epoll_event {
> >         __u32 events;
> >         __u64 data;
> > };
> > 
> > I suspect it's a fairly safe bet that N32 userspace agrees; if the O32
> > ABI is different then it would need the compat syscall.
> 
> That is correct - and apparently for all ABIs because I wasn't able to find
> a compat_sys_epoll_pwait at all.

Hmm.. so you don't need to do some fancy compat conversion for the sigset_t
that gets passed? Why is that? I don't get it...

^ permalink raw reply	[flat|nested] 65+ messages in thread

* Re: -mm merge plans for 2.6.21
  2007-02-11 16:14               ` Heiko Carstens
@ 2007-02-11 16:34                 ` Davide Libenzi
  2007-02-11 18:01                 ` Ralf Baechle
  1 sibling, 0 replies; 65+ messages in thread
From: Davide Libenzi @ 2007-02-11 16:34 UTC (permalink / raw)
  To: Heiko Carstens
  Cc: Ralf Baechle, David Woodhouse, linux-mips, Andrew Morton,
	Alexey Dobriyan, Linux Kernel Mailing List, Ulrich Drepper

On Sun, 11 Feb 2007, Heiko Carstens wrote:

> On Sat, Feb 10, 2007 at 09:34:47PM +0000, Ralf Baechle wrote:
> > On Sat, Feb 10, 2007 at 10:32:07AM +0000, David Woodhouse wrote:
> > 
> > > On Sat, 2007-02-10 at 11:22 +0100, Heiko Carstens wrote:
> > > > Which remembers me that I think that MIPS is using the non-compat version
> > > > of sys_epoll_pwait for compat syscalls. But maybe MIPS doesn't need a compat
> > > > syscall for some reason. Dunno. 
> > > 
> > > It's OK as long as the 64-bit kernel, N32 and O32 userspace all agree
> > > there there's 32 bits of padding between the fields of this structure:
> > > 
> > > struct epoll_event {
> > >         __u32 events;
> > >         __u64 data;
> > > };
> > > 
> > > I suspect it's a fairly safe bet that N32 userspace agrees; if the O32
> > > ABI is different then it would need the compat syscall.
> > 
> > That is correct - and apparently for all ABIs because I wasn't able to find
> > a compat_sys_epoll_pwait at all.
> 
> Hmm.. so you don't need to do some fancy compat conversion for the sigset_t
> that gets passed? Why is that? I don't get it...

The compat_sys_epoll_pwait function has two sources of compat. One is the 
sigset_t and the other one is the struct epoll_event. The sigset_t compat 
is always needed, while the struct epoll_event may be needed. The code of 
(upcoming) compat_sys_epoll_pwait takes care of both, with a smart 
compile-time check to wire sys_epoll_wait or compat_sys_epoll_wait, 
depending on the need of the struct epoll_event compat handling.
So yes, compat_sys_epoll_pwait is needed.



- Davide



^ permalink raw reply	[flat|nested] 65+ messages in thread

* Re: -mm merge plans for 2.6.21
  2007-02-11 16:14               ` Heiko Carstens
  2007-02-11 16:34                 ` Davide Libenzi
@ 2007-02-11 18:01                 ` Ralf Baechle
  1 sibling, 0 replies; 65+ messages in thread
From: Ralf Baechle @ 2007-02-11 18:01 UTC (permalink / raw)
  To: Heiko Carstens
  Cc: David Woodhouse, Davide Libenzi, linux-mips, Andrew Morton,
	Alexey Dobriyan, Linux Kernel Mailing List, Ulrich Drepper

On Sun, Feb 11, 2007 at 05:14:46PM +0100, Heiko Carstens wrote:

> Hmm.. so you don't need to do some fancy compat conversion for the sigset_t
> that gets passed? Why is that? I don't get it...

Ah, I finally get your point.  Yes, that needs conversion.

  Ralf

^ permalink raw reply	[flat|nested] 65+ messages in thread

* Re: -mm merge plans for 2.6.21
  2007-02-10 13:06   ` Andi Kleen
  2007-02-10 13:48     ` Alan
@ 2007-02-12 20:56     ` Doug Thompson
  2007-02-12 21:46       ` Andi Kleen
  1 sibling, 1 reply; 65+ messages in thread
From: Doug Thompson @ 2007-02-12 20:56 UTC (permalink / raw)
  To: Andi Kleen, Alan; +Cc: Andrew Morton, linux-kernel


--- Andi Kleen <ak@suse.de> wrote:

> Alan <alan@lxorguk.ukuu.org.uk> writes:
> 
> > Please just push the EDAC K8 stuff. Andi will say "no" from now
> until the
> > end of time, but end users want it, distributions want it, and Andi
> is
> > not the EDAC maintainer so should consider himself overruled on
> what
> > isn't a technical issue but a personal political viewpoint.
> 
> Well it's a technical issue -- it conflicts with the machine check
> code that is already implemented by stealing away its events.
> You would first need a CONFIG_MCE=n on x86-64 at least, otherwise
> one of them will be unhappy.
> 
> The other issue is that the existing code does everything EDAC
> K8 does already perfectly fine, just in a small fraction of 
> the code.
> 
> -Andi

I assert that there is a greater than just a technical implementation
issue. I maintain that it is a design pattern issue.

The MCE hardware mechanism is a good mechanism for reporting Hardware
events. The problem comes in as to WHERE those events should be
handled.

EDAC was designed to be a 'stack' of drivers. The upper CORE module is
to provide an abstraction, whose presentation to user space is to be
uniform across processes and architectures. The individual lower
drivers, which register with the core, handle the machine and/or
architecture specifics of 'driving' the hardware and funnel events to
the core.

EDAC is operational now on MIPS and ARM architectures (phone device) as
well as on x86 and x86_64.

Additional features of a given arch/processor that can be utilized in
harvesting hardware events should be captured and then funneled to the
'low' level EDAC driver. That driver can then pass the event onto the
CORE module for further processings and presentation, as determined by
the controls into the CORE.  

MCE event processing should be funneled to the EDAC K8 driver and not
directly to userspace.

The design pattern I have been trying to utilize in EDAC, is the same
one used by the Network stack and the SCSI stack.  

If I have a new NIC, which has some great new hardware feature, should
the driver export that feature outside of the network stack, which does
not CURRENTLY support the processing of the feature. OR should the
network stack control paths be extended to provide a mechanism whereby
that new feature could be utilized?

Similiar design pattern exists on the SCSI stack, with device features
and hardware abilities.

I am currently developing enhancements to EDAC that provide for L1, L2,
etc cache ECC event harvesting, DMA ECC event harvest, interconnect
harvesting, and other chipset/processing ECC event harvesting. Some
events are polled others are software interupt delivered. This is on an
arch OTHER than x86 or x86_64. But these EDAC features can be used on
the x86/x86_64 as well.

As there IS an ECC event consumption race between MCE and EDAC, then at
least a 'config' mechanism can be utilized to switch between the two. 

Better yet, I would like to be able to capture the MCE events and
funnel them to EDAC, when loaded, as a downstream consumer of the MCE
event stream. Then EDAC would process the information and then proceed
to inform whether the event was handled or not by EDAC. Additionally,
it would inform whether a panic should occur or not.

When EDAC is not loaded, then MCE would act as it does now.

The downside with both EDAC and MCE being in place, is that there would
be ONE MCE processing pattern for the AMD x86_64 processors and the
EDAC pattern for all the other archs/processors. As far as I can tell,
other MCE processors don't generate the events as advertized. Maybe I
am wrong on that, but I can't find them. How much hardware specific
detail should be exported?

I assert the better solution is to have the ability to hook into the
MCE event stream by the EDAC K8 driver, then provide action rules (EDAC
controls) in processing those events, which EDAC would return to the
MCE stream.

As to the size of the MCE code doing everything EDAC K8 does, that is
mostly true. BUT then the x86_64 MCE mechanism becomes the exception
path. 

Even the company using EDAC on the phone device doesn't mind the 60
kilobytes.

doug t


^ permalink raw reply	[flat|nested] 65+ messages in thread

* Re: -mm merge plans for 2.6.21
  2007-02-12 20:56     ` Doug Thompson
@ 2007-02-12 21:46       ` Andi Kleen
  2007-02-12 22:45         ` Doug Thompson
  0 siblings, 1 reply; 65+ messages in thread
From: Andi Kleen @ 2007-02-12 21:46 UTC (permalink / raw)
  To: Doug Thompson; +Cc: Alan, Andrew Morton, linux-kernel


> I am currently developing enhancements to EDAC that provide for L1, L2,
> etc cache ECC event harvesting,

mce.c + mcelog do that already for all x86-64 cpus because
that's all reported as standard x86 machine checks.

> DMA ECC event harvest, interconnect 
> harvesting, and other chipset/processing ECC event harvesting. Some
> events are polled others are software interupt delivered. This is on an
> arch OTHER than x86 or x86_64. But these EDAC features can be used on
> the x86/x86_64 as well.

Well at least the CPU features are redundant.

> As there IS an ECC event consumption race between MCE and EDAC, then at
> least a 'config' mechanism can be utilized to switch between the two. 

Possibly, but it's still unclear why you want another interface
if an already existing one is there and works.

Anyways if you feel strongly about having redundant interfaces
you could probably do it.  For the CPU caches etc. it shouldn't
make much difference, although it is unlikely to be very useful
either.

But as I wrote earlier EDAC could be made a consumer of mce.c
events and munge them in whatever format you like there.

Basically it could be an additional presentation layer
for Alan's enterprise users with the hardware schematics
at hand.

My main objection to the K8 northbridge control was though
that it was done in a somewhat non practical way in EDAC (no
useful decoding) and it actually steals the events from the subsystem
that does the useful decoding.
 
> Better yet,

Beauty in the eye of the beholder i guess @)

> I would like to be able to capture the MCE events and 
> funnel them to EDAC, when loaded, as a downstream consumer of the MCE
> event stream. Then EDAC would process the information and then proceed
> to inform whether the event was handled or not by EDAC. Additionally,
> it would inform whether a panic should occur or not.

Yes, just mce.c has all that logic already. Not sure what adding
another layer would help there.

[In fact it has too much logic already, more powerful than current x86 CPUs
can support]

Or do you want that to be decided by user space code? That would seem
somewhat risky to me.

> When EDAC is not loaded, then MCE would act as it does now.
> 
> The downside with both EDAC and MCE being in place, is that there would
> be ONE MCE processing pattern for the AMD x86_64 processors 

No, mce.c handles all the machine checks on Intel CPUs just fine too.

The thing it doesn't do is process chipset events. I can see
the value of external drivers here, although that should be hopefully
a temporary state until Intel finally has integrated memory controllers
too.

Ok PCI error reporting will be likely always separate, but I'm not
sure that it fits very well because it should rather feed directly
into the drivers for them to report IO errors up the normal stacks.

> and the 
> EDAC pattern for all the other archs/processors. As far as I can tell,
> other MCE processors don't generate the events as advertized. Maybe I
> am wrong on that, but I can't find them. How much hardware specific
> detail should be exported?

All MCE capable processors generate events,
although how many of them are recoverable greatly varies
(often you just get a unrecoverable exception) 

> 
> I assert the better solution is to have the ability to hook into the
> MCE event stream by the EDAC K8 driver, then provide action rules (EDAC
> controls) 

The latest (pre released) mcelog 0.8pre has triggers for excessive
memory errors per DIMM. Is that something you want to do for EDAC too? 

> As to the size of the MCE code doing everything EDAC K8 does, that is
> mostly true. BUT then the x86_64 MCE mechanism becomes the exception
> path. 

Sorry you lost me on that one.

-Andi

^ permalink raw reply	[flat|nested] 65+ messages in thread

* Re: -mm merge plans for 2.6.21
  2007-02-12 21:46       ` Andi Kleen
@ 2007-02-12 22:45         ` Doug Thompson
  0 siblings, 0 replies; 65+ messages in thread
From: Doug Thompson @ 2007-02-12 22:45 UTC (permalink / raw)
  To: Andi Kleen; +Cc: Alan, Andrew Morton, linux-kernel


--- Andi Kleen <andi@firstfloor.org> wrote:
> > As to the size of the MCE code doing everything EDAC K8 does, that
> is
> > mostly true. BUT then the x86_64 MCE mechanism becomes the
> exception
> > path. 
> 
> Sorry you lost me on that one.
> 
> -Andi

In similiar manner of the original SATA driver model, the one that
didn't use the SCSI stack. Then the SATA model was enhanced to fit
under SCSI, then the SATA drivers ported to run under the SATA module.
At that point, the original SATA driver model was an exception to the
SATA model.

Yes, if all the world used the hardware MCE mechanism, then the MCE
device probably would satisify the requirements. But since linux runs
across so many architectures and processors, the export of a single
architecture's mechanism then implies that a second interface is
necessary anyway in order to provide for those "other" archs. 

At that point we then move the abstraction into userspace anyway.
Scripts will then need to "know" which arch they are on, in order to
pull ECC events from one or the other interface.

Thus, where is the line as to where the "portable" abstraction "fits"?

thanks for your comments

doug t



^ permalink raw reply	[flat|nested] 65+ messages in thread

end of thread, other threads:[~2007-02-12 22:45 UTC | newest]

Thread overview: 65+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-02-08 23:07 -mm merge plans for 2.6.21 Andrew Morton
2007-02-08 23:12 ` Roland Dreier
2007-02-08 23:29 ` Jan Engelhardt
2007-02-08 23:44   ` Andrew Morton
2007-02-09 15:02     ` Thomas Gleixner
2007-02-09 10:57   ` Frederik Deweerdt
2007-02-09 11:24     ` Arjan van de Ven
2007-02-09 11:39       ` Andrew Morton
2007-02-09 12:32         ` Arjan van de Ven
2007-02-09 14:05           ` deweerdt
2007-02-09 13:04         ` Andi Kleen
2007-02-09 12:27           ` Jan Engelhardt
2007-02-10 11:42       ` Arnd Bergmann
2007-02-10 14:19         ` Frederik Deweerdt
2007-02-08 23:34 ` Kyle McMartin
2007-02-08 23:53   ` Andrew Morton
2007-02-09  0:55     ` Paul Mackerras
2007-02-09  1:00       ` Andrew Morton
2007-02-09  5:32 ` Bharata B Rao
2007-02-09  8:26   ` Sébastien Dugué
2007-02-09  9:05     ` Andrew Morton
2007-02-09 10:10       ` Sébastien Dugué
2007-02-09  9:54 ` Lenar Lõhmus
2007-02-09 10:12   ` Andrew Morton
2007-02-09 12:48     ` James
2007-02-09 12:59     ` Lenar Lõhmus
2007-02-09 17:35 ` David Woodhouse
2007-02-09 21:45   ` Andrew Morton
2007-02-09 21:49     ` Russell King
2007-02-09 21:53       ` David Woodhouse
2007-02-09 22:03         ` Russell King
2007-02-09 22:12           ` David Woodhouse
2007-02-09 22:42             ` David Woodhouse
2007-02-10  2:05           ` Oleg Verych
2007-02-09 22:00       ` Andrew Morton
2007-02-09 22:06         ` Russell King
2007-02-09 21:59     ` David Woodhouse
2007-02-09 22:50       ` Davide Libenzi
2007-02-10 10:22         ` Heiko Carstens
2007-02-10 10:32           ` David Woodhouse
2007-02-10 21:34             ` Ralf Baechle
2007-02-11  4:53               ` Davide Libenzi
2007-02-11 15:33               ` David Woodhouse
2007-02-11 16:09                 ` Ralf Baechle
2007-02-11 16:14               ` Heiko Carstens
2007-02-11 16:34                 ` Davide Libenzi
2007-02-11 18:01                 ` Ralf Baechle
2007-02-10 21:05           ` Ralf Baechle
2007-02-11 10:37             ` Andi Kleen
2007-02-10 13:03   ` Andi Kleen
2007-02-09 19:37 ` Alan
2007-02-09 21:51   ` Andrew Morton
2007-02-10  1:15     ` Carl-Daniel Hailfinger
2007-02-10  1:29       ` Andrew Morton
2007-02-10 13:06   ` Andi Kleen
2007-02-10 13:48     ` Alan
2007-02-10 14:43       ` Andi Kleen
2007-02-12 20:56     ` Doug Thompson
2007-02-12 21:46       ` Andi Kleen
2007-02-12 22:45         ` Doug Thompson
2007-02-09 22:18 ` Guillaume Chazarain
2007-02-10  9:58 ` -mm merge plans for 2.6.21 -- md-dm-reduce-stack-usage-with-stacked-block-devices.patch Heiko Carstens
2007-02-10 22:35   ` Alasdair G Kergon
2007-02-10 22:35     ` Alasdair G Kergon
2007-02-11  0:31 ` -mm merge plans for 2.6.21 Dave Jones

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.