public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* 2.6.3-rc2-mm1
@ 2004-02-12  9:57 Andrew Morton
  2004-02-12 11:13 ` 2.6.3-rc2-mm1 Andrew Morton
                   ` (8 more replies)
  0 siblings, 9 replies; 33+ messages in thread
From: Andrew Morton @ 2004-02-12  9:57 UTC (permalink / raw)
  To: linux-kernel, linux-mm


ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.3-rc2/2.6.3-rc2-mm1/


- Added the big ISDN update

- Device Mapper update




Changes since 2.6.3-rc1-mm1:


 linus.patch
 bk-netdev.patch
 bk-input.patch
 bk-acpi.patch
 bk-ieee1394.patch
 bk-scsi.patch

 External trees

-remove-duplicated-hppa-sysctls.patch
-xattr-error-checking-fix.patch
-ide-cd-use-sector_t.patch
-nfs-01-rpc_pipe_timeout.patch
-nfs-02-auth_gss.patch
-nfs-03-pipe_close.patch
-nfs-04-fix_nfs4client.patch
-nfs-05-fix_idmap.patch
-nfs-06-fix_idmap2.patch
-nfs-07-gss_krb5.patch
-nfs-08-gss_missingkfree.patch
-nfs-09-memleaks.patch
-nfs-10-refleaks.patch
-nfs-11-krb5_cleanup.patch
-nfs-12-gss_nokmalloc.patch
-nfs-13-krb5_integ.patch
-nfs-14-clnt_seqno_to_req.patch
-nfs-15-encode_pages_tail.patch
-nfs-16-rpc_clones.patch
-nfs-17-rpc_clone2.patch
-nfs-18-renew_xdr.patch
-nfs-19-renewd.patch
-nfs-20-fsinfo_xdr.patch
-nfs-21-setclientid_xdr.patch
-nfs-22-errno.patch
-nfs-23-open_reclaim.patch
-nfs-24-state_recovery.patch
-nfs-25-soft.patch
-nfs-26-sock_disconnect.patch
-nfs-27-atomic_open.patch
-nfs-28-open_owner.patch
-nfs-29-fix_idmap3.patch
-nfs_idmap-warning-fix.patch
-nfs-30-lock.patch
-nfs-old-gcc-fix.patch
-gcc-35-xfs.patch

 Merged

+i4l.patch
+i4l-st5481-old-gcc-fix.patch
+i4l-sc-adapter-fix.patch
+i4l-fixups.patch
+gcc-35-hysdn.patch
+i4l-hisax-deadlock-fix.patch

 ISDN updates

+get_unmapped_area-fix.patch

 Fix up the get_unmapped_area() fixup

+buslogic-old-gcc-fix.patch

 Fix buslogic for older gcc's

+selinux-policy-loading-fixes.patch

 SELinux fix

+ppc32-boot-platform-fixes.patch
+ppc32-prep-use-todc_time.patch
+ppc32-save-restore-fix.patch

 PPC32 fixes

+alpha-extern-inline-fix.patch

 Alpha build fix

+slab-print-name.patch

 Better slab error diagnostic

+sysfs-class-10-vc.patch

 Bring back this patch, see if it triggers the tty race again.

+add-syscalls_h-4.patch
+add-syscalls_h-6.patch
+add-syscalls_h-7.patch

 More include/linux/syscalls.h work

-nfsd-02-ip_map_init-kmalloc-check.patch
-nfsd-03-sunrpc-cache-init-fixes.patch
+nfsd-02-sunrpc-cache-init-fixes.patch
+nfsd-03-ip_map_init-kmalloc-check.patch

 These were in the wrong order.  (The nfsd patches are updated and should
 oops less).

+dm-01-export-dm_vcalloc.patch
+dm-02-move-to_bytes-to_sectors.patch
+dm-03-remove-dm_deferred_io.patch
+dm-04-maintain-bio-ordering.patch
+dm-05-alloc_dev-error-cleanup.patch
+dm-07-dm_table_create-GFP-fix.patch
+dm-08-zero-size-target-fix.patch
+dm-09-dec_pending-locking-cleanup.patch
+dm-10-drop-BIO_SEG_VALID.patch

 Device Mapper update

+ia32-discontig-pfn_valid-fix.patch

 The real ia32 pfn_valid() fix.

-nforce-irq-setup-fix.patch

 This is in the ACPI patch

+altix-irq-accounting-speedup.patch
+altix-simulator-fix.patch

 Altix fixes

+cpufreq_scale-fix-cleanup.patch

 Fix cpufreq arithmetic

+alsa-vx_core-locking-fix.patch

 ALSA locking fix

+cross-compilation-fixes.patch

 Fixes for building Linux under Solaris

+proc-thread-visibility-fix.patch

 Fix visibility of threads in /proc/pid

+console-race-fix.patch

 Fix tty/console race, perhaps

+nfsd-needs-loff_t.patch

 NFSD large file fix

+show_free_areas-online-cpus.patch

 Reduce the amount of output from show_free_areas()

+nbd-proc-partitions-fix.patch

 Don't show NBD and ramdisk devices in /proc/partitions

+use-THREAD_SIZE.patch

 Don't open-code the knowledge that ia32 stacks are 8k all over the place.

+3c59x-enable_wol.patch

 Bring back the 3c59x enable_wol module parameter

+oprofile-nmi_timer_int-fix.patch

 oprofile fix

+oprofile-arm-support.patch

 oprofile support for the ARM architecture

+increase-max_anon.patch

 Remove the limit of 256 anonymous mounts

+release_region-race-fix.patch

 Fix locking in release_region()

+nfs-mount-oops-fix.patch

 Fix an error-path oops in the NFS mount code

-4g4g-uml-fix.patch

 This broke x86_64 (I think)

+blockdev-direct-io-speedup.patch

 Speed up O_DIRECT I/O against blockdevs





All 255 patches:


linus.patch

bk-netdev.patch

bk-input.patch

bk-acpi.patch

bk-ieee1394.patch

bk-scsi.patch

mm.patch
  add -mmN to EXTRAVERSION

i4l.patch
  ISDN udpate

i4l-st5481-old-gcc-fix.patch
  i4l: fix st5481 compile for gcc-2.9x

i4l-sc-adapter-fix.patch
  i4l: rename drivers/isdn/sc:adapter

i4l-fixups.patch
  i4l: more fixes

gcc-35-hysdn.patch
  gcc-3.5: ISDN fixes

i4l-hisax-deadlock-fix.patch
  i4l: hisax deadlock fix

speedo-warning-fix.patch
  eepro100.c warning fix

input-2wheel-mouse-fix.patch
  input: 2-wheel mouse fix

input-2wheel-mouse-fix-fix.patch
  From: Adrian Bunk <bunk@fs.tum.de>
  Subject: [patch] 2.6.2-mm1: fix warning introduced by input-2wheel-mouse-fix

dmapool-needs-pci.patch
  dmapool needs CONFIG_PCI

tulip-warning-fix.patch

kgdb-ga.patch
  kgdb stub for ia32 (George Anzinger's one)
  kgdbL warning fix
  kgdb buffer overflow fix
  kgdbL warning fix
  kgdb: CONFIG_DEBUG_INFO fix
  x86_64 fixes

kgdb-doc-fix.patch
  correct kgdb.txt Documentation link (against  2.6.1-rc1-mm2)

kgdboe-netpoll.patch
  kgdb-over-ethernet via netpoll

kgdboe-non-ia32-build-fix.patch

kgdb-warning-fixes.patch
  kgdb warning fixes

kgdb-x86_64-support.patch
  kgdb-x86_64-support.patch for 2.6.2-rc1-mm3

get_unmapped_area-fix.patch
  get_unmapped_area() fix

acpi-cpu_has_cpufreq-fix.patch
  acpi cpu_has_cpufreq() fix

buslogic-old-gcc-fix.patch
  Fix buslogic for older gccs

selinux-policy-loading-fixes.patch
  selinux: Fix bugs in policy loading code

must-fix.patch
  must fix lists update
  must fix list update
  mustfix update

must-fix-update-5.patch
  must-fix update

psmouse-drop-timed-out-bytes.patch
  psmouse: log and discard timed out bytes

ppc32-boot-platform-fixes.patch
  ppc32: boot and platform fixes

ppc32-prep-use-todc_time.patch
  ppc32: use todc time functions for PPC_PREP

ppc32-save-restore-fix.patch
  ppc32: IBM 40x and 4xx fixes

ppc64-prom-warnings.patch
  ppc64: Fix prom.c warnings

ppc64-spinlock-sleep-debugging.patch
  ppc64: spinlock sleep debugging

ppc64-reloc_hide.patch

alpha-extern-inline-fix.patch
  Alpha: fix "extern inline" logic for core IO functions

invalidate_inodes-speedup.patch
  invalidate_inodes speedup
  more invalidate_inodes speedup fixes

cfq-4.patch
  CFQ io scheduler
  CFQ fixes

config_spinline.patch
  uninline spinlocks for profiling accuracy.

ramdisk-cleanup.patch

pdflush-diag.patch

zap_page_range-debug.patch
  zap_page_range() debug

slab-print-name.patch
  slab: print slab name in kmem_cache_init()

ptrace-page-permission-fix.patch
  prevent ptrace from altering page permissions

get_user_pages-handle-VM_IO.patch
  fix get_user_pages() against mappings of /dev/mem

support-zillions-of-scsi-disks.patch
  support many SCSI disks

pci_set_power_state-might-sleep.patch

CONFIG_STANDALONE-default-to-n.patch
  Make CONFIG_STANDALONE default to N

extra-buffer-diags.patch

CONFIG_SYSFS.patch
  From: Pat Mochel <mochel@osdl.org>
  Subject: [PATCH] Add CONFIG_SYSFS

CONFIG_SYSFS-boot-from-disk-fix.patch

slab-leak-detector.patch
  slab leak detector

loop-remove-blkdev-special-case.patch

loop-highmem.patch
  remove useless highmem bounce from loop/cryptoloop

loop-bio-handling-fix.patch
  loop: BIO handling fix

loop-init-fix.patch
  loop.c doesn't fail init gracefully

loop-remove-redundant-assignment.patch
  loop: remove redundant initialisation

acpi-pm-timer-3.patch
  ACPI PM timer version 3

acpi-pm-timer-kill-printks.patch

use-TSC-for-delay_pmtmr-2.patch
  Use TSC for delay_pmtmr()

scale-nr_requests.patch
  scale nr_requests with TCQ depth

truncate_inode_pages-check.patch

local_bh_enable-warning-fix.patch

sysfs-class-10-vc.patch
  From: Greg KH <greg@kroah.com>
  Subject: [PATCH] add sysfs class support for vc devices [10/10]

sched-find_busiest_node-resolution-fix.patch
  sched: improved resolution in find_busiest_node

sched-domains.patch
  sched: scheduler domain support

sched-clock-fixes.patch
  fix sched_clock()

sched-build-fix.patch
  sched: fix for NR_CPUS > BITS_PER_LONG

sched-sibling-map-to-cpumask.patch
  sched: cpu_sibling_map to cpu_mask

p4-clockmod-sibling-map-fix.patch
  p4-clockmod sibling_map fix

p4-clockmod-more-than-two-siblings.patch
  p4-clockmod: handle more than two siblings

sched-domains-i386-ht.patch
  sched: implement domains for i386 HT

sched-find_busiest_group-fix.patch
  sched: Fix CONFIG_SMT oops on UP

sched-domain-tweak.patch
  i386-sched-domain code consolidation

sched-no-drop-balance.patch
  sched: handle inter-CPU jiffies skew

sched-arch_init_sched_domains-fix.patch
  Change arch_init_sched_domains to use cpu_online_map

sched-many-cpus-build-fix.patch
  Fix build with NR_CPUS > BITS_PER_LONG

sched-find_busiest_group-clarification.patch
  sched: clarify find_busiest_group

sched-find_busiest_group-arith-fix.patch
  sched: find_busiest_group arithmetic fix

sched-remove-noisy-printks.patch

sched-directed-migration.patch
  sched_balance_exec(): don't fiddle with the cpus_allowed mask

sched-domain-debugging.patch
  sched_domain debugging

ppc64-cpu_vm_mask-fix.patch
  ppc64: cpu_vm_mask fix

ide-siimage-seagate.patch

ide-ali-UDMA6-support.patch
  IDE: Add support of UDMA6 on ALi rev > 0xc4

fa311-mac-address-fix.patch
  wrong mac address with netgear FA311 ethernet card

laptop-mode-2.patch
  laptop-mode for 2.6, version 6
  Documentation/laptop-mode.txt
  laptop-mode documentation updates
  Laptop mode documentation addition

pid_max-fix.patch
  Bug when setting pid_max > 32k

use-soft-float.patch
  Use -msoft-float

DRM-cvs-update.patch
  DRM cvs update

drm-include-fix.patch

kthread-primitive.patch
  kthread primitive
  Fix race in kthread_stop
  kthread: block all signals
  kthread use-after-free fix

use-kthread-primitives.patch
  Use kthread primitives

module-removal-use-kthread.patch
  Module removal to use kthread
  kthread oops fixes

kthread-affinity-fix.patch
  Affinity of kthread fix

call_usermodehelper-affinity-fix.patch
  Affinity of call_usermode_helper fix

limit-hash-table-sizes.patch
  Limit hash table size

slab-poison-hex-dumping.patch
  slab: hexdump for check_poison

pentium-m-support.patch
  add Pentium M and Pentium-4 M options

old-gcc-supports-k6.patch
  gcc 2.95 supports -march=k6 (no need for check_gcc)

amd-elan-is-a-different-subarch.patch
  AMD Elan is a different subarch

better-i386-cpu-selection.patch
  better i386 CPU selection

cpu-options-default-to-y.patch
  cpu options default to "yes"

i386-default-to-n.patch

selinux-01-context-mount-support.patch
  SELinux: context mount support - LSM/FS

selinux-02-nfs-context-mounts.patch
  SELinux: context mount support - NFS

selinux-03-context-mounts-selinux.patch
  SELinux: context mount support - SELinux changes.

devfs-do_mount-fix.patch
  devfs do_mount fix

selinux-enforce-node-fix.patch
  selinux: Allow non-root processes to read selinuxfs enforce node

serial-02-fixups.patch
  serial fixups (untested)
  serial-02 fixes
  serial-02 fixes

serial-03-fixups.patch
  more serial driver fixups
  serial-03 fixes
  serial-03 fixes

nfs-31-attr.patch
  NFSv2/v3/v4: New attribute revalidation code

reserve-NUMA-API-syscall-slots.patch
  Reserve system calls for NUMA API

ghash.patch
  ghash.h from 2.4

tty_io-uml-fix.patch
  uml: make tty_init callable from UML functions

uml-update.patch
  UML update

uml-fixes-2.6.2-rc3-mm1-A2.patch
  uml-fixes-2.6.2-rc3-mm1-A2

blk_congestion_wait-return-remaining.patch
  return remaining jiffies from blk_congestion_wait()

vmscan-remove-priority.patch
  mm/vmscan.c: remove unused priority argument.

kswapd-throttling-fixes.patch
  kswapd throttling fixes

vm-dont-rotate-active-list.patch
  vmscan: avoid rotation of the active list

vm-lru-info.patch
  vmscan: make better use of referenced info

vm-shrink-zone.patch
  vmscan: several tuneups

vm-shrink-zone-div-by-0-fix.patch

vm-tune-throttle.patch
  vmscan: delay throttling a little

page_add_rmap-warning.patch

add-config-for-mregparm-3-ng.patch
  Add CONFIG for -mregparm=3
  arch/i386/Makefile,scripts/gcc-version.sh,Makefile small fixes

use-funit-at-a-time.patch
  Use -funit-at-a-time on ia32

add-noinline-attribute.patch
  Add noinline attribute

dont-inline-rest_init.patch
  use noinline for rest_init()

gcc-35-bonding.patch
  gcc-3.5: bonding

non-readable-binaries.patch
  Handle non-readable binfmt_misc executables

doc-remove-modules-conf-references.patch
  Documentation: remove /etc/modules.conf refs

more-MODULE_ALIASes.patch
  add some more MODULE_ALIASes

bonding-alias-revert-and-docco-fix.patch
  bonding alias revert and documentation fix

remove-kstat-cpu-notifiers.patch
  Remove kstat cpu notifiers

workqueue-cleanup-2.patch
  Minor workqueue.c cleanup

remove-more-cpu-notifiers.patch
  Remove More Unneccessary CPU Notifiers

use-CPU_UP_PREPARE-properly.patch
  Use CPU_UP_PREPARE properly

cpuhotplug-01-cpu_active_map.patch
  CPU Hotplug: add cpu_active_map

cpuhotplug-02-drain_local_pages.patch
  CPU Hotplug: drain downed CPU's local pages

cpuhotplug-03-core.patch
  CPU Hotplug: The Core

cpuhotplug-03-core-workqueue-fix.patch

cpuhotplug-03-core-numa-fix.patch
  cpu hotplug: compile fix

cpuhotplug-up-fixes.patch
  cpuhotplug: UP build fixes

set_cpus_allowed-fix.patch
  cpumask fix

cpuhotplug-04-x86-support.patch
  CPU Hotplug: i386 support

cpuhotplug-x86-up-fixes.patch
  cpuhotplug: x86 UP build fixes

sleep_on-needs_lock_kernel.patch
  sleep_on(): check for lock_kernel

i830-agp-pm-fix.patch
  Intel i830 AGP fix

x86_64-make-xconfig-fix.patch
  Fix make xconfig on /lib64 systems

usb-sddr09-documentation.patch
  add comments to sddr09.c

pcnet32-locking-fix.patch
  pcmet32 locking fixes

nfs-server-in-root_server_path.patch
  Pull NFS server address out of root_server_path

increase-NGROUPS.patch
  NGROUPS 2.6.2rc2 + fixups
  NGROUPS: remove TASK_SIZE usage
  NGROUPS: generalise condition for freeing sub-pages

increase-NGROUPS-nfsd-cleanup.patch
  NGROUPS: nfsd cleanup

increase-NGROUPS-cleanup-and-fix.patch
  NGROUPS: cleanup and fix

intermezzo-NGROUPS-is-broken.patch

compat-signal-noarch-2004-01-29.patch

compat-signal-ppc64-2004-01-29.patch

compat-signal-ia64-2004-01-29.patch

bd_set_size-i_size-fix.patch
  bd_set_size i_size handling

nfs-d_drop-lowmem.patch
  NFS: handle nfs_fhget() error

initramfs-kinit_command.patch
  initramfs: look for /sbin/init

access-permissions-fix.patch
  fix access() POSIX compliance

snprintf-fixes.patch
  snprintf fixes

devfs-race-fix-cleanup.patch
  devfs: race fixes and cleanup

centaur-crypto-core-support.patch
  First steps toward VIA crypto support

enable-largefile-coredumps.patch
  Enable coredumps > 2GB

adaptive-lazy-readahead.patch
  adaptive lazy readahead

mips-new-serial-drivers.patch
  MIPS: New 2.6 serial drivers

add-syscalls_h.patch
  add syscalls.h

add-syscalls_h-fixes.patch

add-syscalls-update.patch
  syscalls.h update1

add-syscalls_h-3.patch
  more syscalls.h stuff

add-syscalls_h-4.patch
  syscalls.h fixes

add-syscalls_h-6.patch
  syscalls.h (updates # 6)

add-syscalls_h-7.patch
  syscalls update ver. 7

ifdef-cleanups.patch
  #if versus #ifdef cleanup

nfsd-01-schedule-in-spinlock-fix.patch
  kNFSd: Fix possible scheduling_while_atomic in cache.c

nfsd-02-sunrpc-cache-init-fixes.patch
  kNFSd: Allow sunrpc/svc cache init function to modify the "key"

nfsd-03-ip_map_init-kmalloc-check.patch
  kNFSd: ip_map_init does a kmalloc which isn't checked...

nfsd-04-convert-proc-to-seq_file.patch
  kNFSd: convert NFS /proc interfaces to seq_file

nfsd-05-no-procfs-build-fix.patch
  kNFSd:fix build problems in nfs w/o proc_fs on 2.6.0-test5

md-01-START_ARRAY-is-deprecated.patch
  md: Print "deprecated" warning when START_ARRAY is used.

md-02-split-end_request-handlers.patch
  md: Split read and write end_request handlers

md-03-discard-r1_bio-cmd-field.patch
  md: Discard the cmd field from r1_bio structure

md-04-r1_bio-cleanup.patch
  md: Remove some un-needed fields from r1bio_s

md-05-avoid-bio-allocation.patch
  md: Avoid unnecessary bio allocation during raid1 resync

md-06-raid1-limit-bio-sizes.patch
  md: Dynamically limit size of bio requests used for raid1 resync

md-07-allow-partitioning.patch
  md: Allow partitioning of MD devices.

dm-01-export-dm_vcalloc.patch
  dm: Export dm_vcalloc()

dm-02-move-to_bytes-to_sectors.patch
  dm: Move to_bytes() and to_sectors() into dm.h

dm-03-remove-dm_deferred_io.patch
  dm: Get rid of struct dm_deferred_io in dm.c

dm-04-maintain-bio-ordering.patch
  dm: Maintain ordering when deferring bios

dm-05-alloc_dev-error-cleanup.patch
  dm: Tidy up the error path for alloc_dev()

dm-07-dm_table_create-GFP-fix.patch
  dm: Correct GFP flag in dm_table_create()

dm-08-zero-size-target-fix.patch
  dm: Zero size target sanity check

dm-09-dec_pending-locking-cleanup.patch
  dm: Remove redundant spin lock in dec_pending()

dm-10-drop-BIO_SEG_VALID.patch
  dm: drop BIO_SEG_VALID bit

nfs-avoid-i_size_write.patch
  NFS: avoid unlocked i_size_write()

ia32-discontig-pfn_valid-fix.patch
  fix pfn_valid on ia32 discontigmem

ia32-pfn_to_nid-fix.patch
  ia32: pfn_to_nid fix

ia32-numa-pcs-dont-work.patch
  ia32: disallow NUMA on PC subarch

swap-extent-fix.patch
  swap extent merging fix

8259-timer-ack-fix.patch
  8259 timer ack fix

mce-printk-level-fixes.patch
  Fix printk level on non fatal MCEs

mce-preempt-fixes.patch
  MCE fixes and cleanups

bitmap_snprintf-bitmap_scnprintf.patch
  Rename bitmap_snprintf() and cpumask_snprintf() to *_scnprintf()

oss-cruft-removal.patch
  OSS: remove #ifdef's for kernel 2.0

highmem-equals-user-friendliness.patch
  Add user friendliness to highmem= option

stallion-decruftery.patch
  remove kernel 2.2 #ifdef's from {i,}stallion.h

external-kbuild-doc.patch
  kbuild documentation fix

adfs-2.2-cruft.patch
  adfs: remove a kernel 2.2 #ifdef

early_printk.patch
  ia32 early printk

early_printk-use-include.patch
  generate ia32 early_printk via inclusion

early_printk-tweaks.patch
  early printk tweaks

panic-later-if-too-many-boot-params.patch
  defer panic for too many items in boot parameter line

altix-irq-accounting-speedup.patch
  altix: use the pda to count interrupts

altix-simulator-fix.patch
  altix: skip init_platform_hubinfo() if on the simulator

cpufreq_scale-fix-cleanup.patch
  cpufreq_scale() fixes

alsa-vx_core-locking-fix.patch
  alsa/vx_core locking fix

cross-compilation-fixes.patch
  Minor cross-compile issues

proc-thread-visibility-fix.patch
  /proc thread visibility fixes

console-race-fix.patch
  drivers/char/vt possible race

nfsd-needs-loff_t.patch
  off_t in nfsd_commit needs to be loff_t

show_free_areas-online-cpus.patch
  skip offline CPUs in show_free_areas

nbd-proc-partitions-fix.patch
  fix display of NBD in /proc/partitions

use-THREAD_SIZE.patch
  cleanup patch that prepares for 4Kb stacks

3c59x-enable_wol.patch
  3c59x: bring back the `enable_wol' option

oprofile-nmi_timer_int-fix.patch
  Oprofile: fix nmi_timer_int detection

oprofile-arm-support.patch
  oprofile: ARM infrastructure

increase-max_anon.patch
  remove max_anon limit

release_region-race-fix.patch
  Fix __release_region() race

nfs-mount-oops-fix.patch
  nfs mount oops fix

list_del-debug.patch
  list_del debug check

print-build-options-on-oops.patch

show_task-free-stack-fix.patch
  show_task() fix and cleanup

show_task-fix.patch
  show_task() is not SMP safe

oops-dump-preceding-code.patch
  i386 oops output: dump preceding code

lockmeter.patch

ia64-lockmeter-fix.patch

lockmeter-2.2-cruft.patch
  lockmeter.h: remove kernel 2.2 #ifdef (i386 + alpha)

4g-2.6.0-test2-mm2-A5.patch
  4G/4G split patch
  4G/4G: remove debug code
  4g4g: pmd fix
  4g/4g: fixes from Bill
  4g4g: fpu emulation fix
  4g/4g usercopy atomicity fix
  4G/4G: remove debug code
  4g4g: pmd fix
  4g/4g: fixes from Bill
  4g4g: fpu emulation fix
  4g/4g usercopy atomicity fix
  4G/4G preempt on vstack
  4G/4G: even number of kmap types
  4g4g: fix __get_user in slab
  4g4g: Remove extra .data.idt section definition
  4g/4g linker error (overlapping sections)
  4G/4G: remove debug code
  4g4g: pmd fix
  4g/4g: fixes from Bill
  4g4g: fpu emulation fix
  4g4g: show_registers() fix
  4g/4g usercopy atomicity fix
  4g4g: debug flags fix
  4g4g: Fix wrong asm-offsets entry
  cyclone time fixmap fix
  4G/4G preempt on vstack
  4G/4G: even number of kmap types
  4g4g: fix __get_user in slab
  4g4g: Remove extra .data.idt section definition
  4g/4g linker error (overlapping sections)
  4G/4G: remove debug code
  4g4g: pmd fix
  4g/4g: fixes from Bill
  4g4g: fpu emulation fix
  4g4g: show_registers() fix
  4g/4g usercopy atomicity fix
  4g4g: debug flags fix
  4g4g: Fix wrong asm-offsets entry
  cyclone time fixmap fix
  use direct_copy_{to,from}_user for kernel access in mm/usercopy.c
  4G/4G might_sleep warning fix
  4g/4g pagetable accounting fix
  Fix 4G/4G and WP test lockup
  4G/4G KERNEL_DS usercopy again
  Fix 4G/4G X11/vm86 oops
  Fix 4G/4G athlon triplefault
  4g4g SEP fix
  Fix 4G/4G split fix for pre-pentiumII machines
  4g/4g PAE ACPI low mappings fix

zap_low_mappings-fix.patch
  zap_low_mappings() cannot be __init

4g4g-locked-userspace-copy.patch
  Do a locked user-space copy for 4g/4g

ppc-fixes.patch
  make mm4 compile on ppc

O_DIRECT-race-fixes-rollup.patch
  O_DIRECT data exposure fixes

O_DIRECT-ll_rw_block-vs-block_write_full_page-fix.patch
  Fix race between ll_rw_block() and block_write_full_page()

blockdev-direct-io-speedup.patch
  blockdev direct-io speedups

dio-aio-fixes.patch
  direct-io AIO fixes

aio-fallback-bio_count-race-fix-2.patch
  AIO+DIO bio_count race fix

aio-sysctl-parms.patch
  aio sysctl parms




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

* Re: 2.6.3-rc2-mm1
  2004-02-12  9:57 2.6.3-rc2-mm1 Andrew Morton
@ 2004-02-12 11:13 ` Andrew Morton
  2004-02-12 11:57   ` 2.6.3-rc2-mm1 Anton Blanchard
  2004-02-12 11:24 ` 2.6.3-rc2-mm1 Nick Piggin
                   ` (7 subsequent siblings)
  8 siblings, 1 reply; 33+ messages in thread
From: Andrew Morton @ 2004-02-12 11:13 UTC (permalink / raw)
  To: linux-kernel, linux-mm

Andrew Morton <akpm@osdl.org> wrote:
>
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.3-rc2/2.6.3-rc2-mm1/

This kernel and also 2.6.3-rc1-mm1 have a nasty bug which causes
current->preempt_count to be decremented by one on each hard IRQ.  It
manifests as a BUG() in the slab code early in boot.

Disabling CONFIG_DEBUG_SPINLOCK_SLEEP will fix this up.  Do not use this
feature on ia32, for it is bust.


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

* Re: 2.6.3-rc2-mm1
  2004-02-12  9:57 2.6.3-rc2-mm1 Andrew Morton
  2004-02-12 11:13 ` 2.6.3-rc2-mm1 Andrew Morton
@ 2004-02-12 11:24 ` Nick Piggin
  2004-02-12 14:46   ` 2.6.3-rc2-mm1 Zwane Mwaikambo
  2004-02-12 15:40   ` 2.6.3-rc2-mm1 Mark Haverkamp
  2004-02-12 17:06 ` 2.6.3-rc2-mm1 (compile stats) John Cherry
                   ` (6 subsequent siblings)
  8 siblings, 2 replies; 33+ messages in thread
From: Nick Piggin @ 2004-02-12 11:24 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel, linux-mm, Christine Moore



Andrew Morton wrote:

>ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.3-rc2/2.6.3-rc2-mm1/
>
>

Nether this nor the previous one boots on the NUMAQ at osdl.
Not sure which is the last -mm that did. 2.6.3-rc2 boots.

I turned early_printk on and nothing. It stops at
Loading linux..............


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

* Re: 2.6.3-rc2-mm1
  2004-02-12 11:13 ` 2.6.3-rc2-mm1 Andrew Morton
@ 2004-02-12 11:57   ` Anton Blanchard
  2004-02-12 12:09     ` 2.6.3-rc2-mm1 Andrew Morton
  0 siblings, 1 reply; 33+ messages in thread
From: Anton Blanchard @ 2004-02-12 11:57 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel, linux-mm

 
> This kernel and also 2.6.3-rc1-mm1 have a nasty bug which causes
> current->preempt_count to be decremented by one on each hard IRQ.  It
> manifests as a BUG() in the slab code early in boot.
> 
> Disabling CONFIG_DEBUG_SPINLOCK_SLEEP will fix this up.  Do not use this
> feature on ia32, for it is bust.

A few questions spring to mind. Like who wrote that dodgy patch? 
And any ideas how said person (who will remain nameless) broke ia32?

Anton

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

* Re: 2.6.3-rc2-mm1
  2004-02-12 11:57   ` 2.6.3-rc2-mm1 Anton Blanchard
@ 2004-02-12 12:09     ` Andrew Morton
  2004-02-12 14:40       ` 2.6.3-rc2-mm1 Zwane Mwaikambo
  2004-02-12 14:47       ` 2.6.3-rc2-mm1 Anton Blanchard
  0 siblings, 2 replies; 33+ messages in thread
From: Andrew Morton @ 2004-02-12 12:09 UTC (permalink / raw)
  To: Anton Blanchard; +Cc: linux-kernel, linux-mm

Anton Blanchard <anton@samba.org> wrote:
>
>  
> > This kernel and also 2.6.3-rc1-mm1 have a nasty bug which causes
> > current->preempt_count to be decremented by one on each hard IRQ.  It
> > manifests as a BUG() in the slab code early in boot.
> > 
> > Disabling CONFIG_DEBUG_SPINLOCK_SLEEP will fix this up.  Do not use this
> > feature on ia32, for it is bust.
> 
> A few questions spring to mind. Like who wrote that dodgy patch? 

The dog wrote my homework?

> And any ideas how said person (who will remain nameless) broke ia32?

Not really.  I spent a couple of hours debugging the darn thing, then gave
up and used binary search to find the offending patch.

<looks>

include/asm-i386/hardirq.h:IRQ_EXIT_OFFSET needs treatment, I bet.  

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

* Re: 2.6.3-rc2-mm1
  2004-02-12 12:09     ` 2.6.3-rc2-mm1 Andrew Morton
@ 2004-02-12 14:40       ` Zwane Mwaikambo
  2004-02-12 14:46         ` 2.6.3-rc2-mm1 Anton Blanchard
  2004-02-12 14:47       ` 2.6.3-rc2-mm1 Anton Blanchard
  1 sibling, 1 reply; 33+ messages in thread
From: Zwane Mwaikambo @ 2004-02-12 14:40 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Anton Blanchard, linux-kernel, linux-mm

On Thu, 12 Feb 2004, Andrew Morton wrote:

> Anton Blanchard <anton@samba.org> wrote:
> >
> >
> > > This kernel and also 2.6.3-rc1-mm1 have a nasty bug which causes
> > > current->preempt_count to be decremented by one on each hard IRQ.  It
> > > manifests as a BUG() in the slab code early in boot.
> > >
> > > Disabling CONFIG_DEBUG_SPINLOCK_SLEEP will fix this up.  Do not use this
> > > feature on ia32, for it is bust.
> >
> > A few questions spring to mind. Like who wrote that dodgy patch?
>
> The dog wrote my homework?

I've not managed to trigger this one

CONFIG_DEBUG_KERNEL=y
CONFIG_DEBUG_STACKOVERFLOW=y
# CONFIG_DEBUG_SLAB is not set
CONFIG_DEBUG_IOVIRT=y
CONFIG_DEBUG_SPINLOCK=y
CONFIG_DEBUG_PAGEALLOC=y
CONFIG_DEBUG_HIGHMEM=y
CONFIG_DEBUG_INFO=y
CONFIG_DEBUG_SPINLOCK_SLEEP=y

> > And any ideas how said person (who will remain nameless) broke ia32?
>
> Not really.  I spent a couple of hours debugging the darn thing, then gave
> up and used binary search to find the offending patch.
>
> <looks>
>
> include/asm-i386/hardirq.h:IRQ_EXIT_OFFSET needs treatment, I bet.

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

* Re: 2.6.3-rc2-mm1
  2004-02-12 14:40       ` 2.6.3-rc2-mm1 Zwane Mwaikambo
@ 2004-02-12 14:46         ` Anton Blanchard
  0 siblings, 0 replies; 33+ messages in thread
From: Anton Blanchard @ 2004-02-12 14:46 UTC (permalink / raw)
  To: Zwane Mwaikambo; +Cc: Andrew Morton, linux-kernel, linux-mm

 
> I've not managed to trigger this one
> 
> CONFIG_DEBUG_KERNEL=y
> CONFIG_DEBUG_STACKOVERFLOW=y
> # CONFIG_DEBUG_SLAB is not set
> CONFIG_DEBUG_IOVIRT=y
> CONFIG_DEBUG_SPINLOCK=y
> CONFIG_DEBUG_PAGEALLOC=y
> CONFIG_DEBUG_HIGHMEM=y
> CONFIG_DEBUG_INFO=y
> CONFIG_DEBUG_SPINLOCK_SLEEP=y

Im guessing Andrews bug is my fault:

http://www.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.3-rc2/2.6.3-rc2-mm1/broken-out/ppc64-spinlock-sleep-debugging.patch

If you have preempt on you wont see it.

Anton

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

* Re: 2.6.3-rc2-mm1
  2004-02-12 11:24 ` 2.6.3-rc2-mm1 Nick Piggin
@ 2004-02-12 14:46   ` Zwane Mwaikambo
  2004-02-12 15:40   ` 2.6.3-rc2-mm1 Mark Haverkamp
  1 sibling, 0 replies; 33+ messages in thread
From: Zwane Mwaikambo @ 2004-02-12 14:46 UTC (permalink / raw)
  To: Nick Piggin; +Cc: Andrew Morton, linux-kernel, linux-mm, Christine Moore

On Thu, 12 Feb 2004, Nick Piggin wrote:

> Andrew Morton wrote:
>
> >ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.3-rc2/2.6.3-rc2-mm1/
> >
> >
>
> Nether this nor the previous one boots on the NUMAQ at osdl.
> Not sure which is the last -mm that did. 2.6.3-rc2 boots.
>
> I turned early_printk on and nothing. It stops at
> Loading linux..............

Ahh thanks Nick, i tried this last night too and was going to start
working backwards. 2.6.3-rc2 doesn't look like far to work from.

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

* Re: 2.6.3-rc2-mm1
  2004-02-12 12:09     ` 2.6.3-rc2-mm1 Andrew Morton
  2004-02-12 14:40       ` 2.6.3-rc2-mm1 Zwane Mwaikambo
@ 2004-02-12 14:47       ` Anton Blanchard
  1 sibling, 0 replies; 33+ messages in thread
From: Anton Blanchard @ 2004-02-12 14:47 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel, linux-mm


> > A few questions spring to mind. Like who wrote that dodgy patch? 
> The dog wrote my homework?

> > And any ideas how said person (who will remain nameless) broke ia32?
> Not really.  I spent a couple of hours debugging the darn thing, then gave
> up and used binary search to find the offending patch.

Ouch, you'll never get those hours back and you have me to thank for it.

> <looks>
> include/asm-i386/hardirq.h:IRQ_EXIT_OFFSET needs treatment, I bet.  

Yep. I wonder why DEBUG_SPINLOCK_SLEEP didnt depend on PREEMPT.

Anton

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

* Re: 2.6.3-rc2-mm1
  2004-02-12 11:24 ` 2.6.3-rc2-mm1 Nick Piggin
  2004-02-12 14:46   ` 2.6.3-rc2-mm1 Zwane Mwaikambo
@ 2004-02-12 15:40   ` Mark Haverkamp
  2004-02-12 21:38     ` 2.6.3-rc2-mm1 Andrew Morton
  2004-02-12 22:33     ` 2.6.3-rc2-mm1 Nick Piggin
  1 sibling, 2 replies; 33+ messages in thread
From: Mark Haverkamp @ 2004-02-12 15:40 UTC (permalink / raw)
  To: Nick Piggin; +Cc: Andrew Morton, linux-kernel, linux-mm, Christine Moore

On Thu, 2004-02-12 at 03:24, Nick Piggin wrote:
> Andrew Morton wrote:
> 
> >ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.3-rc2/2.6.3-rc2-mm1/
> >
> >
> 
> Nether this nor the previous one boots on the NUMAQ at osdl.
> Not sure which is the last -mm that did. 2.6.3-rc2 boots.
> 
> I turned early_printk on and nothing. It stops at
> Loading linux..............

I saw this behavior with the last mm kernel on my 8-way with
CONFIG_HIGHMEM64G.  The problem went away when I backed out the
highmem-equals-user-friendliness.patch

Mark.

-- 
Mark Haverkamp <markh@osdl.org>


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

* Re: 2.6.3-rc2-mm1 (compile stats)
  2004-02-12  9:57 2.6.3-rc2-mm1 Andrew Morton
  2004-02-12 11:13 ` 2.6.3-rc2-mm1 Andrew Morton
  2004-02-12 11:24 ` 2.6.3-rc2-mm1 Nick Piggin
@ 2004-02-12 17:06 ` John Cherry
  2004-02-12 18:43 ` 2.6.3-rc2-mm1 Alistair John Strachan
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 33+ messages in thread
From: John Cherry @ 2004-02-12 17:06 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel@vger.kernel.org, linux-mm

Linux 2.6 (mm tree) Compile Statistics (gcc 3.2.2)
Warnings/Errors Summary

Kernel            bzImage   bzImage  bzImage  modules  bzImage  modules
                (defconfig) (allno) (allyes) (allyes) (allmod) (allmod)
--------------- ---------- -------- -------- -------- -------- --------
2.6.3-rc2-mm1     1w/0e     0w/265e 144w/ 5e   7w/0e   3w/0e    145w/0e
2.6.3-rc1-mm1     1w/0e     0w/265e 141w/ 5e   7w/0e   3w/0e    143w/0e
2.6.2-mm1         2w/0e     0w/264e 147w/ 5e   7w/0e   3w/0e    173w/0e
2.6.2-rc3-mm1     2w/0e     0w/265e 146w/ 5e   7w/0e   3w/0e    172w/0e
2.6.2-rc2-mm2     0w/0e     0w/264e 145w/ 5e   7w/0e   3w/0e    171w/0e
2.6.2-rc2-mm1     0w/0e     0w/264e 146w/ 5e   7w/0e   3w/0e    172w/0e
2.6.2-rc1-mm3     0w/0e     0w/265e 144w/ 8e   7w/0e   3w/0e    169w/0e
2.6.2-rc1-mm2     0w/0e     0w/264e 144w/ 5e  10w/0e   3w/0e    171w/0e
2.6.2-rc1-mm1     0w/0e     0w/264e 144w/ 5e  10w/0e   3w/0e    171w/0e
2.6.1-mm5         2w/5e     0w/264e 153w/11e  10w/0e   3w/0e    180w/0e
2.6.1-mm4         0w/821e   0w/264e 154w/ 5e   8w/1e   5w/0e    179w/0e
2.6.1-mm3         0w/0e     0w/0e   151w/ 5e  10w/0e   3w/0e    177w/0e
2.6.1-mm2         0w/0e     0w/0e   143w/ 5e  12w/0e   3w/0e    171w/0e
2.6.1-mm1         0w/0e     0w/0e   146w/ 9e  12w/0e   6w/0e    171w/0e
2.6.1-rc2-mm1     0w/0e     0w/0e   149w/ 0e  12w/0e   6w/0e    171w/4e
2.6.1-rc1-mm2     0w/0e     0w/0e   157w/15e  12w/0e   3w/0e    185w/4e
2.6.1-rc1-mm1     0w/0e     0w/0e   156w/10e  12w/0e   3w/0e    184w/2e
2.6.0-mm2         0w/0e     0w/0e   161w/ 0e  12w/0e   3w/0e    189w/0e
2.6.0-mm1         0w/0e     0w/0e   173w/ 0e  12w/0e   3w/0e    212w/0e

Web page with links to complete details:
   http://developer.osdl.org/cherry/compile/


Error Summary (individual module builds):

   drivers/net: 0 warnings, 1 errors


Warning Summary (individual module builds):

   drivers/block: 1 warnings, 0 errors
   drivers/cdrom: 3 warnings, 0 errors
   drivers/char: 4 warnings, 0 errors
   drivers/ide: 5 warnings, 0 errors
   drivers/isdn: 2 warnings, 0 errors
   drivers/message: 1 warnings, 0 errors
   drivers/mtd: 23 warnings, 0 errors
   drivers/net: 7 warnings, 0 errors
   drivers/pcmcia: 3 warnings, 0 errors
   drivers/scsi/pcmcia: 1 warnings, 0 errors
   drivers/scsi: 32 warnings, 0 errors
   drivers/serial: 1 warnings, 0 errors
   drivers/telephony: 5 warnings, 0 errors
   drivers/usb: 2 warnings, 0 errors
   drivers/video/aty: 3 warnings, 0 errors
   drivers/video/console: 2 warnings, 0 errors
   drivers/video/matrox: 5 warnings, 0 errors
   drivers/video: 8 warnings, 0 errors
   sound/isa: 6 warnings, 0 errors
   sound/oss: 33 warnings, 0 errors

John


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

* Re: 2.6.3-rc2-mm1
  2004-02-12  9:57 2.6.3-rc2-mm1 Andrew Morton
                   ` (2 preceding siblings ...)
  2004-02-12 17:06 ` 2.6.3-rc2-mm1 (compile stats) John Cherry
@ 2004-02-12 18:43 ` Alistair John Strachan
  2004-02-12 20:33 ` 2.6.3-rc2-mm1 (dm) Miquel van Smoorenburg
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 33+ messages in thread
From: Alistair John Strachan @ 2004-02-12 18:43 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel, linux-mm

On Thursday 12 February 2004 09:57, you wrote:
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.3-rc2/2.6
>.3-rc2-mm1/
>
>
> - Added the big ISDN update
>
> - Device Mapper update
>
[snip]

I don't know if it's still worth reporting these, but at the risk of sounding 
like a broken record..

Badness in interruptible_sleep_on at kernel/sched.c:2235
Call Trace:
 [<c011b289>] interruptible_sleep_on+0xe9/0x120
 [<c011ae80>] default_wake_function+0x0/0x20
 [<c0365c17>] copy_block+0xa7/0xe0
 [<c036167c>] emu10k1_audio_write+0x1ac/0x320
 [<c03614d0>] emu10k1_audio_write+0x0/0x320
 [<c015370a>] vfs_write+0x10a/0x150
 [<c010f26a>] do_gettimeofday+0x1a/0xb0
 [<c0153802>] sys_write+0x42/0x70
 [<c03f0266>] sysenter_past_esp+0x43/0x65

Haven't noticed it before.

Other than that, the whole ACPI on nForce2 thing seems to have been fixed. 
Back to -mm for me.

-- 
Cheers,
Alistair.

personal:   alistair()devzero!co!uk
university: s0348365()sms!ed!ac!uk
student:    CS/AI Undergraduate
contact:    7/10 Darroch Court,
            University of Edinburgh.

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

* Re: 2.6.3-rc2-mm1 (dm)
  2004-02-12  9:57 2.6.3-rc2-mm1 Andrew Morton
                   ` (3 preceding siblings ...)
  2004-02-12 18:43 ` 2.6.3-rc2-mm1 Alistair John Strachan
@ 2004-02-12 20:33 ` Miquel van Smoorenburg
  2004-02-12 21:28   ` Nathan Scott
  2004-02-13  0:04 ` 2.6.3-rc2-mm1 Torrey Hoffman
                   ` (3 subsequent siblings)
  8 siblings, 1 reply; 33+ messages in thread
From: Miquel van Smoorenburg @ 2004-02-12 20:33 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel, linux-lvm

According to Andrew Morton:
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.3-rc2/2.6.3-rc2-mm1/
> +dm-01-export-dm_vcalloc.patch
> +dm-02-move-to_bytes-to_sectors.patch
> +dm-03-remove-dm_deferred_io.patch
> +dm-04-maintain-bio-ordering.patch
> +dm-05-alloc_dev-error-cleanup.patch
> +dm-07-dm_table_create-GFP-fix.patch
> +dm-08-zero-size-target-fix.patch
> +dm-09-dec_pending-locking-cleanup.patch
> +dm-10-drop-BIO_SEG_VALID.patch

The maintain-bio-ordering patch mostly fixes the performance problem
I was seeing on XFS-over-LVM-on-3ware-raid5. (See my earlier message
at http://www.ussg.iu.edu/hypermail/linux/kernel/0312.3/0684.html )
Excellent!

However there's still one issue:

I created a LVM volume on /dev/sda2, called /dev/vg0/test. Then
I created and mounted an XFS partition on /dev/vg0/test. XFS uses
a 512 byte blocksize by default, but the underlying /dev/sda2
device had a soft blocksize of 4096 (default after boot is 1024,
but I had been mucking around with it so it got set to 4096).

As a result, I couldn't get more than 35 MB/sec write speed out
of XFS mounted on the LVM device.

I added this little patch:

--- drivers/md/dm-table.c.ORIG  2004-02-12 20:49:47.000000000 +0100
+++ drivers/md/dm-table.c       2004-02-12 20:56:59.000000000 +0100
@@ -361,7 +361,7 @@
                blkdev_put(bdev, BDEV_RAW);
        else {
                d->bdev = bdev;
-               set_blocksize(bdev, d->bdev->bd_block_size);
+               set_blocksize(bdev, 512);
        }
        return r;
 }

This forces the underlying device(s) to a soft blocksize of 512. And
I had my 80 MB/sec write speed back !

I'm not sure if setting the blocksize of the underlying device
always to 512 is the right solution. I think that set_blocksize
for dm devices should also set the size for the underlying devices,
but that probably means adding an extra hook so that
set_blocksize can call bdev->bd_disk->fops->set_blocksize(bdev, size).
Which, in the case of dm, would basically call set_blocksize for the
underlying devices again.

Correct ?

Mike.

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

* Re: 2.6.3-rc2-mm1 (dm)
  2004-02-12 20:33 ` 2.6.3-rc2-mm1 (dm) Miquel van Smoorenburg
@ 2004-02-12 21:28   ` Nathan Scott
  2004-02-12 22:08     ` Miquel van Smoorenburg
  2004-02-12 22:34     ` Andrew Morton
  0 siblings, 2 replies; 33+ messages in thread
From: Nathan Scott @ 2004-02-12 21:28 UTC (permalink / raw)
  To: Miquel van Smoorenburg; +Cc: Andrew Morton, linux-kernel, linux-lvm

On Thu, Feb 12, 2004 at 09:33:07PM +0100, Miquel van Smoorenburg wrote:
> ...
> However there's still one issue:
> 
> I created a LVM volume on /dev/sda2, called /dev/vg0/test. Then
> I created and mounted an XFS partition on /dev/vg0/test. XFS uses
> a 512 byte blocksize by default, but the underlying /dev/sda2

(thats a 512 byte "sector size" in XFS-speak)

> device had a soft blocksize of 4096 (default after boot is 1024,
> but I had been mucking around with it so it got set to 4096).
> 
> As a result, I couldn't get more than 35 MB/sec write speed out
> of XFS mounted on the LVM device.
> 
> I added this little patch:
> 
> --- drivers/md/dm-table.c.ORIG  2004-02-12 20:49:47.000000000 +0100
> +++ drivers/md/dm-table.c       2004-02-12 20:56:59.000000000 +0100
> @@ -361,7 +361,7 @@
>                 blkdev_put(bdev, BDEV_RAW);
>         else {
>                 d->bdev = bdev;
> -               set_blocksize(bdev, d->bdev->bd_block_size);
> +               set_blocksize(bdev, 512);
>         }
>         return r;
>  }
> 
> This forces the underlying device(s) to a soft blocksize of 512. And
> I had my 80 MB/sec write speed back !
> 
> I'm not sure if setting the blocksize of the underlying device
> always to 512 is the right solution. I think that set_blocksize

Hmm... that set_blocksize there must be new in -mm, I don't see
that in mainline yet.  I would guess that bdev_hardsect_size()
would be more appropriate here than hard-coding 512 bytes.  I
don't know the details of the problem being solving by adding
set_blocksize() in there though, so I might be completely wrong.

cheers.

-- 
Nathan

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

* Re: 2.6.3-rc2-mm1
  2004-02-12 15:40   ` 2.6.3-rc2-mm1 Mark Haverkamp
@ 2004-02-12 21:38     ` Andrew Morton
  2004-02-12 22:33     ` 2.6.3-rc2-mm1 Nick Piggin
  1 sibling, 0 replies; 33+ messages in thread
From: Andrew Morton @ 2004-02-12 21:38 UTC (permalink / raw)
  To: Mark Haverkamp; +Cc: piggin, linux-kernel, linux-mm, cem

Mark Haverkamp <markh@osdl.org> wrote:
>
> On Thu, 2004-02-12 at 03:24, Nick Piggin wrote:
> > Andrew Morton wrote:
> > 
> > >ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.3-rc2/2.6.3-rc2-mm1/
> > >
> > >
> > 
> > Nether this nor the previous one boots on the NUMAQ at osdl.
> > Not sure which is the last -mm that did. 2.6.3-rc2 boots.
> > 
> > I turned early_printk on and nothing. It stops at
> > Loading linux..............
> 
> I saw this behavior with the last mm kernel on my 8-way with
> CONFIG_HIGHMEM64G.  The problem went away when I backed out the
> highmem-equals-user-friendliness.patch

Thanks for working that out.  James Morris reports that the same patch
causes initrd-with-highmem failures.

Having enough bugs to care for, I guess I'll drop it.

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

* Re: 2.6.3-rc2-mm1 (dm)
  2004-02-12 21:28   ` Nathan Scott
@ 2004-02-12 22:08     ` Miquel van Smoorenburg
  2004-02-12 22:34     ` Andrew Morton
  1 sibling, 0 replies; 33+ messages in thread
From: Miquel van Smoorenburg @ 2004-02-12 22:08 UTC (permalink / raw)
  To: Nathan Scott
  Cc: Miquel van Smoorenburg, Andrew Morton, linux-kernel, linux-lvm

On Thu, 12 Feb 2004 22:28:11, Nathan Scott wrote:
> On Thu, Feb 12, 2004 at 09:33:07PM +0100, Miquel van Smoorenburg wrote:
> > ...
> > However there's still one issue:
> > 
> > I created a LVM volume on /dev/sda2, called /dev/vg0/test. Then
> > I created and mounted an XFS partition on /dev/vg0/test. XFS uses
> > a 512 byte blocksize by default, but the underlying /dev/sda2
> 
> (thats a 512 byte "sector size" in XFS-speak)

Ah yes. mkfs -txfs -s size=4096 fixes it as well, but that's a
workaround.

> > device had a soft blocksize of 4096 (default after boot is 1024,
> > but I had been mucking around with it so it got set to 4096).
> > 
> > As a result, I couldn't get more than 35 MB/sec write speed out
> > of XFS mounted on the LVM device.
> > 
> > I added this little patch:
> > 
> > --- drivers/md/dm-table.c.ORIG  2004-02-12 20:49:47.000000000 +0100
> > +++ drivers/md/dm-table.c       2004-02-12 20:56:59.000000000 +0100
> > @@ -361,7 +361,7 @@
> >                 blkdev_put(bdev, BDEV_RAW);
> >         else {
> >                 d->bdev = bdev;
> > -               set_blocksize(bdev, d->bdev->bd_block_size);
> > +               set_blocksize(bdev, 512);
> >         }
> >         return r;
> >  }
> > 
> > This forces the underlying device(s) to a soft blocksize of 512. And
> > I had my 80 MB/sec write speed back !

Gah, wrong patch. That's because vim saved dm-table.c when I suspended it
to copy dm-table.c to dm-table.c.ORIG, so the patch makes no sense.

--- drivers/md/dm-table.c.ORIG  2004-02-12 23:05:15.000000000 +0100
+++ drivers/md/dm-table.c       2004-02-12 20:56:59.000000000 +0100
@@ -359,8 +359,10 @@
        r = bd_claim(bdev, _claim_ptr);
        if (r)
                blkdev_put(bdev, BDEV_RAW);
-       else
+       else {
                d->bdev = bdev;
+               set_blocksize(bdev, 512);
+       }
        return r;
 }
  
That's more like it.

> > I'm not sure if setting the blocksize of the underlying device
> > always to 512 is the right solution. I think that set_blocksize
> 

> I would guess that bdev_hardsect_size()
> would be more appropriate here than hard-coding 512 bytes.  I
> don't know the details of the problem being solving by adding
> set_blocksize() in there though, so I might be completely wrong.

That does make sense, I guess.

Mike.

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

* Re: 2.6.3-rc2-mm1
  2004-02-12 15:40   ` 2.6.3-rc2-mm1 Mark Haverkamp
  2004-02-12 21:38     ` 2.6.3-rc2-mm1 Andrew Morton
@ 2004-02-12 22:33     ` Nick Piggin
  1 sibling, 0 replies; 33+ messages in thread
From: Nick Piggin @ 2004-02-12 22:33 UTC (permalink / raw)
  To: Mark Haverkamp
  Cc: Andrew Morton, linux-kernel, linux-mm, Christine Moore,
	Zwane Mwaikambo



Mark Haverkamp wrote:

>On Thu, 2004-02-12 at 03:24, Nick Piggin wrote:
>
>>Andrew Morton wrote:
>>
>>
>>>ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.3-rc2/2.6.3-rc2-mm1/
>>>
>>>
>>>
>>Nether this nor the previous one boots on the NUMAQ at osdl.
>>Not sure which is the last -mm that did. 2.6.3-rc2 boots.
>>
>>I turned early_printk on and nothing. It stops at
>>Loading linux..............
>>
>
>I saw this behavior with the last mm kernel on my 8-way with
>CONFIG_HIGHMEM64G.  The problem went away when I backed out the
>highmem-equals-user-friendliness.patch
>
>

It boots with this patch backed out. Thanks Mark.


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

* Re: 2.6.3-rc2-mm1 (dm)
  2004-02-12 21:28   ` Nathan Scott
  2004-02-12 22:08     ` Miquel van Smoorenburg
@ 2004-02-12 22:34     ` Andrew Morton
  2004-02-13 16:29       ` Miquel van Smoorenburg
  1 sibling, 1 reply; 33+ messages in thread
From: Andrew Morton @ 2004-02-12 22:34 UTC (permalink / raw)
  To: Nathan Scott; +Cc: miquels, linux-kernel, linux-lvm

Nathan Scott <nathans@sgi.com> wrote:
>
> > This forces the underlying device(s) to a soft blocksize of 512. And
> > I had my 80 MB/sec write speed back !
> > 
> > I'm not sure if setting the blocksize of the underlying device
> > always to 512 is the right solution. I think that set_blocksize
> 
> Hmm... that set_blocksize there must be new in -mm, I don't see
> that in mainline yet.  I would guess that bdev_hardsect_size()
> would be more appropriate here than hard-coding 512 bytes.  I
> don't know the details of the problem being solving by adding
> set_blocksize() in there though, so I might be completely wrong.

Yes, 2.6.3-rc2-mm1 has a new device-mapper update.

Miquel, thanks for picking this up.  I shall wait for the LVM team to
suggest the preferred fix.


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

* Re: 2.6.3-rc2-mm1
  2004-02-12  9:57 2.6.3-rc2-mm1 Andrew Morton
                   ` (4 preceding siblings ...)
  2004-02-12 20:33 ` 2.6.3-rc2-mm1 (dm) Miquel van Smoorenburg
@ 2004-02-13  0:04 ` Torrey Hoffman
  2004-02-14 10:36   ` 2.6.3-rc2-mm1 Terje Kvernes
  2004-02-13 21:04 ` [PATCH 2.6.3-rc2-mm1] Daniel McNeil
                   ` (2 subsequent siblings)
  8 siblings, 1 reply; 33+ messages in thread
From: Torrey Hoffman @ 2004-02-13  0:04 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Linux-Kernel List, linux-mm

On Thu, 2004-02-12 at 01:57, Andrew Morton wrote:
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.3-rc2/2.6.3-rc2-mm1/

[... list of many patches]

>  bk-ieee1394.patch

I reported a bug in 2.6.2-rc3-mm1 and was asked to retest... result is
it's still broken.  The result is the same - even a little worse now, it
won't get as far as running init so I have no log to post.  This machine
has no serial port and I haven't tried the network logging stuff yet...

But the oops looked very similar.  At least the function names and the
references to ieee1394 are the same.  The 2.6.2-rc3-mm1 oops was:

> ieee1394: Host added: ID:BUS[0-00:1023]  GUID[00508d0000f42af5]
> Badness in kobject_get at lib/kobject.c:431
> Call Trace:
>  [<c02078dc>] kobject_get+0x3c/0x50
>  [<c0272fd1>] get_device+0x11/0x20
>  [<c0273c68>] bus_for_each_dev+0x78/0xd0
>  [<fc876185>] nodemgr_node_probe+0x45/0x100 [ieee1394]
>  [<fc876030>] nodemgr_probe_ne_cb+0x0/0x90 [ieee1394]
>  [<fc87654b>] nodemgr_host_thread+0x14b/0x180 [ieee1394]
>  [<fc876400>] nodemgr_host_thread+0x0/0x180 [ieee1394]
>  [<c010b285>] kernel_thread_helper+0x5/0x10

And you (Andrew said)
> "Ben and Greg are currently arguing over whose fault this is ;)"
...
> "There will be a big 1394 update in 2.6.2-mm2.  Could you please
retest and let us know?"

-- 
Torrey Hoffman <thoffman@arnor.net>


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

* Re: 2.6.3-rc2-mm1 (dm)
  2004-02-12 22:34     ` Andrew Morton
@ 2004-02-13 16:29       ` Miquel van Smoorenburg
  0 siblings, 0 replies; 33+ messages in thread
From: Miquel van Smoorenburg @ 2004-02-13 16:29 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Nathan Scott, miquels, linux-kernel, linux-lvm

On 2004.02.12 23:34, Andrew Morton wrote:
> Nathan Scott <nathans@sgi.com> wrote:
> >
> > > This forces the underlying device(s) to a soft blocksize of 512. And
> > > I had my 80 MB/sec write speed back !
> > > 
> > > I'm not sure if setting the blocksize of the underlying device
> > > always to 512 is the right solution. I think that set_blocksize
> > 
> > Hmm... that set_blocksize there must be new in -mm, I don't see
> > that in mainline yet.  I would guess that bdev_hardsect_size()
> > would be more appropriate here than hard-coding 512 bytes.  I
> > don't know the details of the problem being solving by adding
> > set_blocksize() in there though, so I might be completely wrong.
> 
> Yes, 2.6.3-rc2-mm1 has a new device-mapper update.
> 
> Miquel, thanks for picking this up.  I shall wait for the LVM team to
> suggest the preferred fix.

Nah, forget about it. I don't think this actually matters, it's still something
with the 3ware driver in RAID5 mode that fsckes this up. It needs more
investigation (it seems there's some heisenberg effect in there, or
I need more sleep).

Mike.

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

* [PATCH 2.6.3-rc2-mm1]
  2004-02-12  9:57 2.6.3-rc2-mm1 Andrew Morton
                   ` (5 preceding siblings ...)
  2004-02-13  0:04 ` 2.6.3-rc2-mm1 Torrey Hoffman
@ 2004-02-13 21:04 ` Daniel McNeil
  2004-02-13 21:30 ` [PATCH 2.6.3-rc2-mm1] __block_write_full patch Daniel McNeil
  2004-02-14  5:27 ` 2.6.3-rc2-mm1 Glenn Johnson
  8 siblings, 0 replies; 33+ messages in thread
From: Daniel McNeil @ 2004-02-13 21:04 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Linux Kernel Mailing List, linux-mm, linux-aio@kvack.org

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

This patch samples i_size before dropping the i_sem.
The i_size could change by a racing write and we could
return uninitialized data.

re-diffed against 2.6.3-rc2-mm1.

Daniel

[-- Attachment #2: dio_size.2.6.3-rc2-mm1.patch --]
[-- Type: text/plain, Size: 1046 bytes --]

--- linux-2.6.3-rc2-mm1.orig/fs/direct-io.c	2004-02-12 11:35:41.613567579 -0800
+++ linux-2.6.3-rc2-mm1/fs/direct-io.c	2004-02-12 11:35:52.135706887 -0800
@@ -909,6 +909,7 @@ direct_io_worker(int rw, struct kiocb *i
 	int ret = 0;
 	int ret2;
 	size_t bytes;
+	loff_t i_size;
 
 	dio->bio = NULL;
 	dio->inode = inode;
@@ -1017,7 +1018,12 @@ direct_io_worker(int rw, struct kiocb *i
 	 * All block lookups have been performed. For READ requests
 	 * we can let i_sem go now that its achieved its purpose
 	 * of protecting us from looking up uninitialized blocks.
+	 * 
+	 * We also need sample i_size before we release i_sem to prevent
+	 * a racing write from changing i_size causing us to return
+	 * uninitialized data.
 	 */
+	i_size = i_size_read(inode);
 	if ((rw == READ) && dio->needs_locking)
 		up(&dio->inode->i_sem);
 
@@ -1064,7 +1070,6 @@ direct_io_worker(int rw, struct kiocb *i
 		if (ret == 0)
 			ret = dio->page_errors;
 		if (ret == 0 && dio->result) {
-			loff_t i_size = i_size_read(inode);
 
 			ret = dio->result;
 			/*

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

* [PATCH 2.6.3-rc2-mm1] __block_write_full patch
  2004-02-12  9:57 2.6.3-rc2-mm1 Andrew Morton
                   ` (6 preceding siblings ...)
  2004-02-13 21:04 ` [PATCH 2.6.3-rc2-mm1] Daniel McNeil
@ 2004-02-13 21:30 ` Daniel McNeil
  2004-02-13 21:49   ` [PATCH 2.6.3-rc2-mm1] filemap_fdatawait patch Daniel McNeil
  2004-02-13 22:38   ` [PATCH 2.6.3-rc2-mm1] __block_write_full patch Andrew Morton
  2004-02-14  5:27 ` 2.6.3-rc2-mm1 Glenn Johnson
  8 siblings, 2 replies; 33+ messages in thread
From: Daniel McNeil @ 2004-02-13 21:30 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-aio@kvack.org, Linux Kernel Mailing List

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

Andrew,

Here is my original __block_write_full_page patch which adds
a wait_on_buffer() to catch the case where i/o might be in flight
from ll_rw_block().

I know that it waits for i/o even the non-blocking writebacks, but
it does make sure filemap_write_and_wait() and  filemap_fdatawrite /
filemap_fdatawait() do wait for all i/o that has been submitted to
complete. (This similar to 2.4 which always does a lock_buffer()).
The direct_read_under test does not see uninitialized data with
this patch.  Without this patch 2.6.3-rc2-mm1 still sees uninitialized
data.

I am worried that the current behavior where PageWriteback can be
cleared with i/o still in flight for a buffer on that page could cause
other problems.

I am still trying to figure out how to fix this some other way,
but, in the mean time, this makes sure the code is correct.

Thoughts?

re-diff against 2.6.3-rc2-mm1.

Daniel

On Thu, 2004-02-12 at 01:57, Andrew Morton wrote:

> 
> O_DIRECT-ll_rw_block-vs-block_write_full_page-fix.patch
>   Fix race between ll_rw_block() and block_write_full_page()
> 


[-- Attachment #2: __block_write_full.2.6.3-rc2-mm1.patch --]
[-- Type: text/plain, Size: 370 bytes --]

--- linux-2.6.3-rc2-mm1.orig/fs/buffer.c	2004-02-12 11:43:39.000000000 -0800
+++ linux-2.6.3-rc2-mm1/fs/buffer.c	2004-02-12 11:42:56.000000000 -0800
@@ -1810,6 +1810,7 @@ static int __block_write_full_page(struc
 
 	do {
 		get_bh(bh);
+		wait_on_buffer(bh);	/* i/o might be in flight */
 		if (!buffer_mapped(bh))
 			continue;
 		if (wbc->sync_mode != WB_SYNC_NONE) {

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

* [PATCH 2.6.3-rc2-mm1] filemap_fdatawait patch
  2004-02-13 21:30 ` [PATCH 2.6.3-rc2-mm1] __block_write_full patch Daniel McNeil
@ 2004-02-13 21:49   ` Daniel McNeil
  2004-02-13 22:38   ` [PATCH 2.6.3-rc2-mm1] __block_write_full patch Andrew Morton
  1 sibling, 0 replies; 33+ messages in thread
From: Daniel McNeil @ 2004-02-13 21:49 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-aio@kvack.org, Linux Kernel Mailing List

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

Andrew,

This is re-diffed against 2.6.3-rc2-mm1.

This adds the lock_page() and check for PageDirty() in
filemap_fdatawait().

I did additional direct_read_under testing with a forked() process
doing "sync()" and without this patch I hit uninitialized data
even with the __block_write_full_page() patch.

Thoughts?

Daniel

PS

I still think there is potential problem if we ever allow multiple
filemap_fdatawait() to occur in parallel since filemap_fdatawait()
waits for a page with the page unlinked from the locked list.
The 2nd filemap_fdatawait() would never see that page to wait.
I might take care of that in a future patch.



[-- Attachment #2: filemap_fdatawait.2.6.3-rc2-mm1.patch --]
[-- Type: text/plain, Size: 609 bytes --]

--- linux-2.6.3-rc2-mm1.orig/mm/filemap.c	2004-02-12 15:04:41.000000000 -0800
+++ linux-2.6.3-rc2-mm1/mm/filemap.c	2004-02-13 12:57:08.777799758 -0800
@@ -209,10 +209,15 @@ restart:
 		page_cache_get(page);
 		spin_unlock(&mapping->page_lock);
 
-		wait_on_page_writeback(page);
-		if (PageError(page))
-			ret = -EIO;
-
+		lock_page(page);
+		if (PageDirty(page) && mapping->a_ops->writepage) {
+			write_one_page(page, 1);
+		} else {
+			wait_on_page_writeback(page);
+			unlock_page(page);
+		}
+ 		if (PageError(page))
+ 			ret = -EIO;
 		page_cache_release(page);
 		spin_lock(&mapping->page_lock);
 	}

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

* Re: [PATCH 2.6.3-rc2-mm1] __block_write_full patch
  2004-02-13 21:30 ` [PATCH 2.6.3-rc2-mm1] __block_write_full patch Daniel McNeil
  2004-02-13 21:49   ` [PATCH 2.6.3-rc2-mm1] filemap_fdatawait patch Daniel McNeil
@ 2004-02-13 22:38   ` Andrew Morton
  2004-02-13 23:30     ` Daniel McNeil
  1 sibling, 1 reply; 33+ messages in thread
From: Andrew Morton @ 2004-02-13 22:38 UTC (permalink / raw)
  To: Daniel McNeil; +Cc: linux-aio, linux-kernel

Daniel McNeil <daniel@osdl.org> wrote:
>
> Here is my original __block_write_full_page patch which adds
> a wait_on_buffer() to catch the case where i/o might be in flight
> from ll_rw_block().

We don't want to be doing this.

Also, I don't buy the original rationale for the patch.  Sure,
__block_write_full_page() clears PG_writeback.  But that's OK because that
function was also responsible for setting it, and everything is under the
page lock anyway.

My suspicion is that the real problem is that mpage_writepages() moved the
page onto mapping->locked_pages while there is buffer-level I/O in flight
(that's OK).  But PG_writeback is not set because writepage never started
any I/O.  So filemap_fdatawait() never waits for the ext3-initiated
buffer-level I/O.

If so, there are several ways to fix this:

a) Change ext3 so that it appropriately sets and clears page_writeback
   when any of the page's buffers are under writeout (messy).  Or

b) Change filemap_fdatawait() so that it also waits on buffer-level I/O.

   This is tricky because filemap_fdatawait() isn't allowed to assume
   that page->private points at buffer_heads.  Only the address_space
   implementation knows what is at page->private.  So it will need to be
   something like:

	lock_page(page);
	wait_on_page_writeback(page);
	mapping = page->mapping;
	if (mapping) {
		if (mapping->aops->wait_on_private_writeback)
			mapping->aops->wait_on_private_writeback(page);
	}
	unlock_page(page);


	ext3_wait_on_private_writeback(struct page *page)
	{
		for (the buffers)
			wait_on_buffer()
	}

  or

c) Change __block_write_full_page() to move the page back onto
   mapping->dirty_pages if it was WB_SYNC_NONE and we discovered that the
   page had a locked buffer.  This way, a subsequent WB_SYNC_ALL will
   correctly wait on that buffer.

Try c), please?


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

* Re: [PATCH 2.6.3-rc2-mm1] __block_write_full patch
  2004-02-13 22:38   ` [PATCH 2.6.3-rc2-mm1] __block_write_full patch Andrew Morton
@ 2004-02-13 23:30     ` Daniel McNeil
  2004-02-13 23:48       ` Andrew Morton
  0 siblings, 1 reply; 33+ messages in thread
From: Daniel McNeil @ 2004-02-13 23:30 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-aio@kvack.org, Linux Kernel Mailing List

On Fri, 2004-02-13 at 14:38, Andrew Morton wrote:

> My suspicion is that the real problem is that mpage_writepages() moved the
> page onto mapping->locked_pages while there is buffer-level I/O in flight
> (that's OK).  But PG_writeback is not set because writepage never started
> any I/O.  So filemap_fdatawait() never waits for the ext3-initiated
> buffer-level I/O.


kjournald was calling ll_rw_block() with a bunch of bh's and
PG_writeback was not set.

A subsequent __block_write_full_page()  with the
page locked, sees that none of the bh(s) for that page
are dirty.  PG_PageWriteback would be set, unlock_page()
and then see no buffers to submit, so clear PG_Page_Writeback
(but buffer i/o still in flight).  filemap_fdatawait() has
nothing to wait for.

I think we agree.

> 
> If so, there are several ways to fix this:

> c) Change __block_write_full_page() to move the page back onto
>    mapping->dirty_pages if it was WB_SYNC_NONE and we discovered that the
>    page had a locked buffer.  This way, a subsequent WB_SYNC_ALL will
>    correctly wait on that buffer.
> 
> Try c), please?

No problem.  I will code this up and give it a try.

My only concern is that a racing mpage_writepages(WB_SYNC_NONE)
with a mpage_write_pages(WB_SYNC_ALL) from a filemap_write_and_wait. 
Both could be processing the io_pages list, if the
mpage_writepages(WB_SYNC_NONE) moves a page that has locked buffers 
back to the dirty_pages list, then when the filemap_write_and_wait()
calls filemap_fdatawait, it will not wait for the page moved back
to the dirty list.

I'll code up the change and run my tests and let you know what happens.

Thanks,

Daniel



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

* Re: [PATCH 2.6.3-rc2-mm1] __block_write_full patch
  2004-02-13 23:30     ` Daniel McNeil
@ 2004-02-13 23:48       ` Andrew Morton
  2004-02-14  0:02         ` Daniel McNeil
  2004-02-18  1:02         ` [PATCH 2.6.3-rc2-mm1] address_space_serialize_writeback patch Daniel McNeil
  0 siblings, 2 replies; 33+ messages in thread
From: Andrew Morton @ 2004-02-13 23:48 UTC (permalink / raw)
  To: Daniel McNeil; +Cc: linux-aio, linux-kernel

Daniel McNeil <daniel@osdl.org> wrote:
>
> My only concern is that a racing mpage_writepages(WB_SYNC_NONE)
> with a mpage_write_pages(WB_SYNC_ALL) from a filemap_write_and_wait. 
> Both could be processing the io_pages list, if the
> mpage_writepages(WB_SYNC_NONE) moves a page that has locked buffers 
> back to the dirty_pages list, then when the filemap_write_and_wait()
> calls filemap_fdatawait, it will not wait for the page moved back
> to the dirty list.

Yes.  I suspect we simply cannot get this right without insane locking. 
We're trying to do something here which the writeback code simply does not
and cannot generally do, namely write and wait upon IO and dirtyings which
are initiated by other processes.

The best way to handle *all* this crap is to remove the address_space page
lists completely and replace all these things with radix tree walks, but I
never got onto that.  Sad.

Maybe we could implement some form of per-address_space serialisation which
permts multiple WB_SYNC_NONE writers, but exclusive WB_SYNC_ALL writers. 
That's basically an rwsem, but we don't want to block WB_SYNC_NONE
processes if there's a sync in progress.

So WB_SYNC_NONE callers would use down_read_trylock() and WB_SYNC_ALL
callers would use down_write().   That just fixes all this stuff up.


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

* Re: [PATCH 2.6.3-rc2-mm1] __block_write_full patch
  2004-02-13 23:48       ` Andrew Morton
@ 2004-02-14  0:02         ` Daniel McNeil
  2004-02-18  1:02         ` [PATCH 2.6.3-rc2-mm1] address_space_serialize_writeback patch Daniel McNeil
  1 sibling, 0 replies; 33+ messages in thread
From: Daniel McNeil @ 2004-02-14  0:02 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-aio@kvack.org, Linux Kernel Mailing List

On Fri, 2004-02-13 at 15:48, Andrew Morton wrote:
> Daniel McNeil <daniel@osdl.org> wrote:
> >
> > My only concern is that a racing mpage_writepages(WB_SYNC_NONE)
> > with a mpage_write_pages(WB_SYNC_ALL) from a filemap_write_and_wait. 
> > Both could be processing the io_pages list, if the
> > mpage_writepages(WB_SYNC_NONE) moves a page that has locked buffers 
> > back to the dirty_pages list, then when the filemap_write_and_wait()
> > calls filemap_fdatawait, it will not wait for the page moved back
> > to the dirty list.
> 
> Yes.  I suspect we simply cannot get this right without insane locking. 
> We're trying to do something here which the writeback code simply does not
> and cannot generally do, namely write and wait upon IO and dirtyings which
> are initiated by other processes.
> 
> The best way to handle *all* this crap is to remove the address_space page
> lists completely and replace all these things with radix tree walks, but I
> never got onto that.  Sad.
> 
> Maybe we could implement some form of per-address_space serialisation which
> permts multiple WB_SYNC_NONE writers, but exclusive WB_SYNC_ALL writers. 
> That's basically an rwsem, but we don't want to block WB_SYNC_NONE
> processes if there's a sync in progress.
> 
> So WB_SYNC_NONE callers would use down_read_trylock() and WB_SYNC_ALL
> callers would use down_write().   That just fixes all this stuff up.
> 

This sounds like an interesting idea.  I'll take a look and see if
I can give it a try.

BTW, the 2.6.3-rc2-mm1 __block_write_full_page() almost already did
your option c) except for the "if (buffer_dirty())".  If the
buffer is in flight buffer_dirty would already be cleared, so
it would not call __set_page_dirty_nobuffers().

                if (wbc->sync_mode != WB_SYNC_NONE) {
                        lock_buffer(bh);
                } else {
                        if (test_set_buffer_locked(bh)) {
                                if (buffer_dirty(bh))
                                        __set_page_dirty_nobuffers(page);
                                continue;
                        }
                }
Thanks,

Daniel



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

* Re: 2.6.3-rc2-mm1
  2004-02-12  9:57 2.6.3-rc2-mm1 Andrew Morton
                   ` (7 preceding siblings ...)
  2004-02-13 21:30 ` [PATCH 2.6.3-rc2-mm1] __block_write_full patch Daniel McNeil
@ 2004-02-14  5:27 ` Glenn Johnson
  8 siblings, 0 replies; 33+ messages in thread
From: Glenn Johnson @ 2004-02-14  5:27 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel, linux-mm

On Thu, Feb 12, 2004 at 01:57:10AM -0800, Andrew Morton wrote:

> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.3-rc2/2.6.3-rc2-mm1/

> +sysfs-class-10-vc.patch
> 
>  Bring back this patch, see if it triggers the tty race again.

It does on one of my machines, a P4c with HT enabled.  This is the same
machine that had the problem before.  Backing out the patch "fixes" it.

-- 
Glenn Johnson
glennpj@charter.net

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

* Re: 2.6.3-rc2-mm1
  2004-02-13  0:04 ` 2.6.3-rc2-mm1 Torrey Hoffman
@ 2004-02-14 10:36   ` Terje Kvernes
  0 siblings, 0 replies; 33+ messages in thread
From: Terje Kvernes @ 2004-02-14 10:36 UTC (permalink / raw)
  To: Torrey Hoffman; +Cc: Andrew Morton, Linux-Kernel List, linux-mm

Torrey Hoffman <thoffman@arnor.net> writes:

> On Thu, 2004-02-12 at 01:57, Andrew Morton wrote:
> > ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.3-rc2/2.6.3-rc2-mm1/
> 
> [... list of many patches]
> 
> > bk-ieee1394.patch
> 
> I reported a bug in 2.6.2-rc3-mm1 and was asked to retest... result
> is it's still broken.  The result is the same - even a little worse
> now, it won't get as far as running init so I have no log to post.

  I'm seeing the same bug, and I have ieee1394 as a module.  I can
  help to debug this if need be.

> This machine has no serial port and I haven't tried the network
> logging stuff yet...
> 
> But the oops looked very similar.  At least the function names and the
> references to ieee1394 are the same.  The 2.6.2-rc3-mm1 oops was:
> 
> > ieee1394: Host added: ID:BUS[0-00:1023]  GUID[00508d0000f42af5]
> > Badness in kobject_get at lib/kobject.c:431
> > Call Trace:
> >  [<c02078dc>] kobject_get+0x3c/0x50
> >  [<c0272fd1>] get_device+0x11/0x20
> >  [<c0273c68>] bus_for_each_dev+0x78/0xd0
> >  [<fc876185>] nodemgr_node_probe+0x45/0x100 [ieee1394]
> >  [<fc876030>] nodemgr_probe_ne_cb+0x0/0x90 [ieee1394]
> >  [<fc87654b>] nodemgr_host_thread+0x14b/0x180 [ieee1394]
> >  [<fc876400>] nodemgr_host_thread+0x0/0x180 [ieee1394]
> >  [<c010b285>] kernel_thread_helper+0x5/0x10

  yup.  this is _very_ familiar.  I have the same problem with
  2.6.3-rc2-mm1.  I also have some devfs problems that I can't quite
  pinpoint so I've rolled back to 2.6.2-mm1.
 
  [ ... ]

-- 
Terje

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

* [PATCH 2.6.3-rc2-mm1] address_space_serialize_writeback patch
  2004-02-13 23:48       ` Andrew Morton
  2004-02-14  0:02         ` Daniel McNeil
@ 2004-02-18  1:02         ` Daniel McNeil
  2004-02-18  1:43           ` Andrew Morton
  2004-02-18  1:47           ` Andrew Morton
  1 sibling, 2 replies; 33+ messages in thread
From: Daniel McNeil @ 2004-02-18  1:02 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-aio@kvack.org, Linux Kernel Mailing List

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

Andrew,

Here is the patch that does what you suggested.  It adds a rwsema to
the address_space and do_writepages() uses it serialize writebacks.
It allows multiple WB_SYNC_NONE and only 1 WB_SYNC_ALL writebacks.
It also change __block_write_full_page() to not check buffer_dirty()
before calling __set_page_dirty_nobuffers(page) since a locked buffer
might already have dirty_buffer cleared.

This patch also applies to 2.6.3-rc3-mm1.

I've tested this patch on an 8-proc machine running 6 copies of the
direct_read_under tests and have not hit any uninitialized data.
It has been running almost 2 hours -- I usually hit a problem within
30 minutes.   I'll leave the test running overnight.

Daniel

On Fri, 2004-02-13 at 15:48, Andrew Morton wrote:
> Daniel McNeil <daniel@osdl.org> wrote:
> >
> > My only concern is that a racing mpage_writepages(WB_SYNC_NONE)
> > with a mpage_write_pages(WB_SYNC_ALL) from a filemap_write_and_wait. 
> > Both could be processing the io_pages list, if the
> > mpage_writepages(WB_SYNC_NONE) moves a page that has locked buffers 
> > back to the dirty_pages list, then when the filemap_write_and_wait()
> > calls filemap_fdatawait, it will not wait for the page moved back
> > to the dirty list.
> 
> Yes.  I suspect we simply cannot get this right without insane locking. 
> We're trying to do something here which the writeback code simply does not
> and cannot generally do, namely write and wait upon IO and dirtyings which
> are initiated by other processes.
> 
> The best way to handle *all* this crap is to remove the address_space page
> lists completely and replace all these things with radix tree walks, but I
> never got onto that.  Sad.
> 
> Maybe we could implement some form of per-address_space serialisation which
> permts multiple WB_SYNC_NONE writers, but exclusive WB_SYNC_ALL writers. 
> That's basically an rwsem, but we don't want to block WB_SYNC_NONE
> processes if there's a sync in progress.
> 
> So WB_SYNC_NONE callers would use down_read_trylock() and WB_SYNC_ALL
> callers would use down_write().   That just fixes all this stuff up.

[-- Attachment #2: address_space_serialize_writeback.2.6.3-rc2-mm1.patch --]
[-- Type: text/x-patch, Size: 3242 bytes --]

diff -rup linux-2.6.3-rc2-mm1.orig/fs/buffer.c linux-2.6.3-rc2-mm1/fs/buffer.c
--- linux-2.6.3-rc2-mm1.orig/fs/buffer.c	2004-02-12 11:43:39.000000000 -0800
+++ linux-2.6.3-rc2-mm1/fs/buffer.c	2004-02-17 08:57:18.396196425 -0800
@@ -1816,8 +1816,7 @@ static int __block_write_full_page(struc
 			lock_buffer(bh);
 		} else {
 			if (test_set_buffer_locked(bh)) {
-				if (buffer_dirty(bh))
-					__set_page_dirty_nobuffers(page);
+				__set_page_dirty_nobuffers(page);
 				continue;
 			}
 		}
diff -rup linux-2.6.3-rc2-mm1.orig/fs/inode.c linux-2.6.3-rc2-mm1/fs/inode.c
--- linux-2.6.3-rc2-mm1.orig/fs/inode.c	2004-02-16 17:32:18.000000000 -0800
+++ linux-2.6.3-rc2-mm1/fs/inode.c	2004-02-16 17:39:29.000000000 -0800
@@ -195,6 +195,7 @@ void inode_init_once(struct inode *inode
 	INIT_LIST_HEAD(&inode->i_data.i_mmap_shared);
 	spin_lock_init(&inode->i_lock);
 	i_size_ordered_init(inode);
+	init_rwsem(&inode->i_data.wb_rwsema);
 }
 
 EXPORT_SYMBOL(inode_init_once);
diff -rup linux-2.6.3-rc2-mm1.orig/include/linux/fs.h linux-2.6.3-rc2-mm1/include/linux/fs.h
--- linux-2.6.3-rc2-mm1.orig/include/linux/fs.h	2004-02-16 17:01:17.000000000 -0800
+++ linux-2.6.3-rc2-mm1/include/linux/fs.h	2004-02-16 17:08:13.000000000 -0800
@@ -338,6 +338,7 @@ struct address_space {
 	spinlock_t		private_lock;	/* for use by the address_space */
 	struct list_head	private_list;	/* ditto */
 	struct address_space	*assoc_mapping;	/* ditto */
+	struct rw_semaphore	wb_rwsema;	/* serialize SYNC writebacks */
 };
 
 struct block_device {
diff -rup linux-2.6.3-rc2-mm1.orig/mm/page-writeback.c linux-2.6.3-rc2-mm1/mm/page-writeback.c
--- linux-2.6.3-rc2-mm1.orig/mm/page-writeback.c	2004-02-16 17:03:26.000000000 -0800
+++ linux-2.6.3-rc2-mm1/mm/page-writeback.c	2004-02-17 15:02:11.004475189 -0800
@@ -497,9 +497,32 @@ void __init page_writeback_init(void)
 
 int do_writepages(struct address_space *mapping, struct writeback_control *wbc)
 {
+	int ret;
+	if (wbc->sync_mode == WB_SYNC_NONE) {
+		if (!down_read_trylock(&mapping->wb_rwsema))
+			/*
+			 * SYNC writeback in progress
+			 */
+			return 0;
+	} else {
+		/*
+		 * Only allow 1 SYNC writeback at a time, to be able
+		 * to wait for all i/o without worrying about racing
+		 * WB_SYNC_NONE writers.
+		 */
+		down_write(&mapping->wb_rwsema);
+	}
+		
 	if (mapping->a_ops->writepages)
-		return mapping->a_ops->writepages(mapping, wbc);
-	return generic_writepages(mapping, wbc);
+		ret = mapping->a_ops->writepages(mapping, wbc);
+	else 
+		ret = generic_writepages(mapping, wbc);
+	if (wbc->sync_mode == WB_SYNC_NONE) {
+		up_read(&mapping->wb_rwsema);
+	} else {
+		up_write(&mapping->wb_rwsema);
+	}
+	return ret;
 }
 
 /**
diff -rup linux-2.6.3-rc2-mm1.orig/mm/swap_state.c linux-2.6.3-rc2-mm1/mm/swap_state.c
--- linux-2.6.3-rc2-mm1.orig/mm/swap_state.c	2004-02-16 17:31:57.000000000 -0800
+++ linux-2.6.3-rc2-mm1/mm/swap_state.c	2004-02-17 09:00:54.881899941 -0800
@@ -38,6 +38,7 @@ struct address_space swapper_space = {
 	.truncate_count  = ATOMIC_INIT(0),
 	.private_lock	= SPIN_LOCK_UNLOCKED,
 	.private_list	= LIST_HEAD_INIT(swapper_space.private_list),
+	.wb_rwsema	= __RWSEM_INITIALIZER(swapper_space.wb_rwsema)
 };
 
 #define INC_CACHE_INFO(x)	do { swap_cache_info.x++; } while (0)

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

* Re: [PATCH 2.6.3-rc2-mm1] address_space_serialize_writeback patch
  2004-02-18  1:02         ` [PATCH 2.6.3-rc2-mm1] address_space_serialize_writeback patch Daniel McNeil
@ 2004-02-18  1:43           ` Andrew Morton
  2004-02-18  1:47           ` Andrew Morton
  1 sibling, 0 replies; 33+ messages in thread
From: Andrew Morton @ 2004-02-18  1:43 UTC (permalink / raw)
  To: Daniel McNeil; +Cc: linux-aio, linux-kernel

Daniel McNeil <daniel@osdl.org> wrote:
>
> Here is the patch that does what you suggested.  It adds a rwsema to
> the address_space and do_writepages() uses it serialize writebacks.

OK, but we're only holding the rwsem across filemap_fdatawrite().  What
happens after we've dropped the rwsem and we are running
filemap_fdatawait()?  Cannot kupdate come in and start moving pages onto
the wrong address_space lists while filemap_fdatawait() is trying to wait
on them?

I think so.  Possibly your test just doesn't cover this case.

If so then we need to hold the rwsem for writing across the entire
write-and-wait.  And that is going to rather suck if and when we bring back
the sync_page_range() patch, which permitted concurrent fsync() against
different fd's which cover different parts of the file.

We need to check that we're bypassing all this stuff for access to
blockdevs too - we have no security issues to worry about there.

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

* Re: [PATCH 2.6.3-rc2-mm1] address_space_serialize_writeback patch
  2004-02-18  1:02         ` [PATCH 2.6.3-rc2-mm1] address_space_serialize_writeback patch Daniel McNeil
  2004-02-18  1:43           ` Andrew Morton
@ 2004-02-18  1:47           ` Andrew Morton
  2004-02-18 19:36             ` Daniel McNeil
  1 sibling, 1 reply; 33+ messages in thread
From: Andrew Morton @ 2004-02-18  1:47 UTC (permalink / raw)
  To: Daniel McNeil; +Cc: linux-aio, linux-kernel

Daniel McNeil <daniel@osdl.org> wrote:
>
> Here is the patch that does what you suggested.  It adds a rwsema to
> the address_space and do_writepages() uses it serialize writebacks.

Did you verify that we actually _need_ the semaphore?  I seem to recall that
it was a "try this, otherwise add the semaphore" thing.  Where "this" was "always
remark the page dirty".

Probably we do need the semaphore, but I'd just like to check that you checked ;)


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

* Re: [PATCH 2.6.3-rc2-mm1] address_space_serialize_writeback patch
  2004-02-18  1:47           ` Andrew Morton
@ 2004-02-18 19:36             ` Daniel McNeil
  0 siblings, 0 replies; 33+ messages in thread
From: Daniel McNeil @ 2004-02-18 19:36 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-aio@kvack.org, Linux Kernel Mailing List

Andrew,

I did run the multiple copies of the direct_read_under test on:

KERNEL					RESULT
======					======
2.6.3-rc2-mm1				Sees uninitialized data

2.6.3-rc2-mm1 + wait_on_buffer() in
  __block_write_full_page		no uninitialized data seen

2.6.3-rc2-mm1 + __set_page_dirty_nobuffers
  if cannot lock_buffer in
  __block_write_full_page		Sees uninitialized data

2.6.3-rc2-mm1 + wb_rwsema patch		no uninitialized data seen


There looks like there are potential race conditions with
the rwsema in do_writepages() since a page can be moved back
to the dirty list while waiting on the down_write() and also
with multiple filemap_fdatawait()s.  I have pointed this out before
but I do not have a test that can reproduce the problem.

The rwsema patch does make the direct_read_under test pass.
It ran overnight without errors.

I want to close all the potential race conditions, but since
this patch is a step in the process and the test ran correctly
with it, I submitted the patch.

I'll send out updated patches as I do more testing.


Daniel

On Tue, 2004-02-17 at 17:47, Andrew Morton wrote:
> Daniel McNeil <daniel@osdl.org> wrote:
> >
> > Here is the patch that does what you suggested.  It adds a rwsema to
> > the address_space and do_writepages() uses it serialize writebacks.
> 
> Did you verify that we actually _need_ the semaphore?  I seem to recall that
> it was a "try this, otherwise add the semaphore" thing.  Where "this" was "always
> remark the page dirty".
> 
> Probably we do need the semaphore, but I'd just like to check that you checked ;)


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

end of thread, other threads:[~2004-02-18 19:36 UTC | newest]

Thread overview: 33+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-02-12  9:57 2.6.3-rc2-mm1 Andrew Morton
2004-02-12 11:13 ` 2.6.3-rc2-mm1 Andrew Morton
2004-02-12 11:57   ` 2.6.3-rc2-mm1 Anton Blanchard
2004-02-12 12:09     ` 2.6.3-rc2-mm1 Andrew Morton
2004-02-12 14:40       ` 2.6.3-rc2-mm1 Zwane Mwaikambo
2004-02-12 14:46         ` 2.6.3-rc2-mm1 Anton Blanchard
2004-02-12 14:47       ` 2.6.3-rc2-mm1 Anton Blanchard
2004-02-12 11:24 ` 2.6.3-rc2-mm1 Nick Piggin
2004-02-12 14:46   ` 2.6.3-rc2-mm1 Zwane Mwaikambo
2004-02-12 15:40   ` 2.6.3-rc2-mm1 Mark Haverkamp
2004-02-12 21:38     ` 2.6.3-rc2-mm1 Andrew Morton
2004-02-12 22:33     ` 2.6.3-rc2-mm1 Nick Piggin
2004-02-12 17:06 ` 2.6.3-rc2-mm1 (compile stats) John Cherry
2004-02-12 18:43 ` 2.6.3-rc2-mm1 Alistair John Strachan
2004-02-12 20:33 ` 2.6.3-rc2-mm1 (dm) Miquel van Smoorenburg
2004-02-12 21:28   ` Nathan Scott
2004-02-12 22:08     ` Miquel van Smoorenburg
2004-02-12 22:34     ` Andrew Morton
2004-02-13 16:29       ` Miquel van Smoorenburg
2004-02-13  0:04 ` 2.6.3-rc2-mm1 Torrey Hoffman
2004-02-14 10:36   ` 2.6.3-rc2-mm1 Terje Kvernes
2004-02-13 21:04 ` [PATCH 2.6.3-rc2-mm1] Daniel McNeil
2004-02-13 21:30 ` [PATCH 2.6.3-rc2-mm1] __block_write_full patch Daniel McNeil
2004-02-13 21:49   ` [PATCH 2.6.3-rc2-mm1] filemap_fdatawait patch Daniel McNeil
2004-02-13 22:38   ` [PATCH 2.6.3-rc2-mm1] __block_write_full patch Andrew Morton
2004-02-13 23:30     ` Daniel McNeil
2004-02-13 23:48       ` Andrew Morton
2004-02-14  0:02         ` Daniel McNeil
2004-02-18  1:02         ` [PATCH 2.6.3-rc2-mm1] address_space_serialize_writeback patch Daniel McNeil
2004-02-18  1:43           ` Andrew Morton
2004-02-18  1:47           ` Andrew Morton
2004-02-18 19:36             ` Daniel McNeil
2004-02-14  5:27 ` 2.6.3-rc2-mm1 Glenn Johnson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox