Skip to contentSkip to conversation

2.6.3-mm4

PATCH In review Andrew Morton 15 participants 33 messages Feb 26, 2004 – Mar 1, 2004

Subsystems (8)
lore
Share & tools
lore
#0 lore raw

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

- Big knfsd update. Mainly for nfsv4

- DVB udpate

- Various fixes

Changes since 2.6.3-mm3:

linus.patch
bk-alsa.patch
bk-netdev.patch
bk-input.patch
bk-pci.patch
bk-i2c.patch
bk-driver-core.patch

External trees, latest versions thereof

-acpi-utils-warning-fix.patch
-acpi-sleep-warning-fix.patch
-ppc64-remove-dump_regs.patch
-ppc64-lmbpatch.patch
-ppc64-flushfix.patch
-ppc64-duplicate_prototype.patch
-ppc64-promfix.patch
-ppc64-log-eeh-errors.patch
-ppc64-log-rtas-error.patch
-ppc64-CROSS32-env-2.6.1.patch
-ppc64-linux-2.5.archhelp.patch
-ppc64-oops-flags.patch
-ppc64-debug-stack-usage.patch
-ppc64-funit-at-a-time.patch
-ppc64-970fx.patch
-ppc64-rtas_token.patch
-ppc64-vio-header.patch
-ppc64-upfix.patch
-ppc64-saved-command-line.patch
-ppc64-cpu-spinup-fixes.patch
-ppc64-smp-message-pass.patch
-ppc64-rtasd_cleanup.patch
-ppc64-stackoverflow.patch
-ppc64-remove-get-user.patch
-ppc64-cpus-in-sysfs.patch
-ppc64-stab-static.patch
-ppc64-stab-optimise.patch
-ppc64-irq_per_cpu.patch
-ppc64-iseries-makefile.patch
-ppc64-get_SP.patch
-ppc64-prom-interrupts.patch
-ppc64-fix-numa-on-non-numa.patch
-ppc64-oops-formatting-cleanups.patch
-ppc64-restore-cpu-names.patch
-serial-02-fixups.patch
-serial-02-fixups-fixes.patch
-serial-03-fixups.patch
-i830-agp-pm-fix.patch
-x86_64-make-xconfig-fix.patch
-add-syscalls_h-shmat-fix.patch
-add-syscalls_h.patch
-dynamic-pty-allocation.patch
-nbd-rmmod-oops-fix.patch
-m68k-391.patch
-m68k-392.patch
-m68k-393.patch
-m68k-394.patch
-m68k-395.patch
-m68k-396.patch
-m68k-397.patch
-m68k-398.patch
-m68k-399.patch
-m68k-400.patch
-m68k-401.patch
-m68k-402.patch
-m68k-403.patch
-m68k-404.patch
-m68k-405.patch
-m68k-406.patch
-m68k-408.patch
-m68k-409.patch
-m68k-411.patch
-m68k-412.patch
-m68k-413.patch
-m68k-414.patch
-m68k-415.patch
-sysctl-nlen-check.patch
-dm-crypt-cryptoloop-docco.patch
-nbd-set_capacity-fix.patch
-nbd-cleanups.patch
-sysv-ipc-cond_syscall-cleanup.patch
-ipmi-warning-fixes.patch
-mtrr-init-section-fixes.patch
-CodingStyle-fixes.patch
-ia32e-GDT-fix.patch
-ext3-schedule-inside-lock-fix.patch
-dgrs-uninitialised-var-fix.patch
-NGROUPS_MAX-sysctl.patch
-ia64-check_pgt_cache-warning-fix.patch
-security-oops-fix.patch
-resource-allocation-reporting-fix.patch
-pci_request_regions-printk-fix.patch
-introduce-bus_bridge_ctl-member.patch
-alder-insert_resource-fix.patch
-alder-io_apic-quirk.patch
-janitor-jffs-checks.patch
-video-use-min-max.patch
-telephony-min-max-fix.patch
-ISDN-v110-fix.patch
-efi-warning-fixes.patch
-remove-x86-THREAD_SIZE-assumptions.patch
-x86-printk-fix.patch
-x86_64-naming-fix.patch
-powernow-frequency-handling-fix.patch
-require-make-3-79-1.patch
-i2c-with-debug-oops-fix.patch

Merged

+nfsd-NGROUPS-fixes.patch

Missing nfsd bits from the larger-NGROUPS merge

+dma_sync_for_device-cpu.patch

Experimental dma mapping API change from davem

-compat-signal-noarch-2004-01-29.patch
-compat-signal-ppc64-2004-01-29.patch
-compat-signal-ia64-2004-01-29.patch
+compat-signal-noarch-2004-01-29.patch

Rolled up

-compat-generic-ipc-emulation.patch
-compat-generic-ipc-emulation-s390.patch
-compat-generic-ipc-emulation-x86_64.patch
-compat-generic-ipc-emulation-ia64.patch
-add_syscalls-compat-ipc-fix.patch
-compat-ipc-syscalls-fixes.patch
+compat-generic-ipc-emulation.patch

Rolled up

+kill-old-dead-netdev-apis.patch

Remvoe old netdev APIs

+gcc-35-pdaudiocf_irq-build-fix.patch

build fix

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

Folded into input-2wheel-mouse-fix.patch

-dmapool-needs-pci.patch

Dropped.

+bk-driver-core-x86_64-build-fix.patch

Fix x86_64 build for bk-input-core.patch

+kgdb-ga-recent-gcc-fix.patch

Fix kgdb for current gcc

+kgdb-THREAD_SIZE-fixes.patch

Don't assume 8k stacks

-psmouse-drop-timed-out-bytes.patch

Dropped, was fixed by other means

+move-scatterwalk-functions-to-own-file.patch
+in-place-encryption-fix.patch

Crypto cleanups and highmem fixes

+knfsd-rpcsec_gss-minimal-support.patch +knfsd-rpcsec_gss-minimal-support-NGROUPS-fix.patch +knfsd-rpcsec_gss-minimal-support-NGROUPS-fix-2.patch +knfsd-gss-api-integrity-checking.patch +knfsd-IDmap-support.patch +knfsd-nfs4-pointer-cleanup.patch +knfsd-nfs4-locking-state-fix.patch +knfsd-v4-exclusive-open-fix.patch +knfsd-changeinfo-time-higher-resolution.patch +knfsd-shareowner-fix.patch +knfsd-replaying-fixes.patch +knfsd-setclientid-fix.patch +knfsd-lockowner-fix.patch +knfsd-readdir-error-code-fix.patch +knfsd-nfserr_nofilehandle-fix.patch +knfsd-lookup_parent-fix.patch +knfsd-error-code-return-fixes.patch +knfsd-xdr-error-fix.patch +knfsd-symlink-fixes.patch +knfsd-lock-length-fix.patch +knfsd-rename-error-code-fixes.patch +knfsd-unlock-on-close-fix.patch +knfsd-comment-fix.patch +knfsd-fh_dup2-fix.patch +knfsd-implement-RELEASE_LOCKOWNER.patch +knfsd-add-OP_ILLEGAL.patch +knfsd-OP_CREATE-fix.patch +knfsd-OP_LOCK-check.patch +knfsd-OP_OPEN_CONFIRM-fix.patch +knfsd-open_downgrade-enforcement.patch +knfsd-readlink-error-return-fix.patch +knfsd-nfsd4_remove-error-fix.patch +knfsd-stateid-replay-fixes.patch +knfsd-attribute-decoding-retval-fix.patch +knfsd-READ_BUF-cleanup.patch +knfsd-sunrpc_init-ordering-fixes.patch +knfsd-readdir-more-than-one-page.patch

knfsd update

-laptop-mode-2-tweaks.patch
-laptop-mode-simplification.patch

Folded into laptop-mode-2.patch

+hotplugcpu-core-sparc64-build-fix.patch

Fix sparc64 build

-vm-dont-rotate-active-list-padding.patch

Folded into vm-dont-rotate-active-list.patch

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

Folded into vm-shrink-zone.patch

-dm-01-endio-method.patch
-dm-02-remove-v1-ioctl-interface.patch
-dm-02-compat_ioctl-fix.patch
-dm-03-list_for_each_entry-audit.patch
-dm-04-default-queue-limits-fix.patch
-dm-05-list-targets-command.patch
-dm-06-multipath-target.patch

The device mapper update is being updated

+s390-syscalls-h-update.patch

Teach the s390 pathches about syscalls.h

-remove-LDFLAGS_BLOB.patch

Dropped

+time-interpolator-fix.patch

Timekeeping accuracy fix

+dvb-01-update-subsystem-docs.patch
+dvb-02-update-saa7146-core.patch
+dvb-03-skystar2-updates.patch
+dvb-04-core-updates.patch
+dvb-05-frontend-updates.patch
+dvb-06-stv0299-frontend-update.patch
+dvb-07-tda1004x-update.patch
+dvb-08-av7110-update.patch
+dvb-09-ttusb-budget-update.patch
+dvb-ttusb-budget-compile-fix.patch

DVB update

+kmsg-nonblock.patch

Honour O_NONBLOCK on /proc/kmsg

+n_tty-cleanup.patch

Code cleanup

+mixart-build-fix.patch

ALS build fix

+add-a-slab-for-ethernet.patch

Add a kmalloc slab for 1536-byte skbuffs

+mac-driver-config-update.patch

Macintosh Kconfig update

+request_firmware-01-class-fixes.patch
+request_firmware-02-more-class-fixes.patch
+request_firmware-03-bitmap.patch
+request_firmware-04-priv-leak-fix.patch
+request_firmware-05-release-race-fixes.patch
+request_firmware-06-cleanups.patch
+request_firmware-07-attribute-fixes.patch

Firmware loader updates

+early-printk-doc-fix.patch

Documentation fix

+radeon-config-fix-2.patch

Compile fix

+remove-tty-CALLOUT-defines.patch

Clean up dead code

+tdfx-remove-float.patch

Kill gratuitous floating point

+mtd-locking-fix.patch

Remember the spin_unlock

+remove-KERNEL_SYSCALLS-stuff.patch

Clean up __KERNEL_SYSCALLS usage

+msi-kirqd-build-fix.patch

Compile fix

+afs-c99-fix.patch
+isdn-c99-fixes.patch
+airo-c99-fixes.patch
+wanxl-c99-fixes.patch
+pci200syn-c99-fixes.patch
+irda-usb-c99-fixes.patch
+saa7146_video-c99-fixes.patch
+stv0229-c99-fixes.patch
+alps_tdlb7-c99-fixes.patch
+sp887x-c99-fixes.patch
+budget-av-c99-fixes.patch

C99 struct initialiser fixups

+saa5246a-rev1-2.6.3.patch

New teletext decoder driver

+kbuild-add-defconfig-targets-to-make-help.patch

kbuild featurette

+wanmain-build-fix.patch

Compile fix

+3c505-build-fix.patch

Compile fix

+O_DIRECT-vs-buffered-fix-pdflush-hang-fix.patch
+serialise-writeback-fdatawait.patch

More O_DIRECT-vs-buffered I/O fixups

All 267 patches:

linus.patch

nfsd-NGROUPS-fixes.patch
knfsd: NGROUPS fixes

bk-alsa.patch

bk-netdev.patch

bk-input.patch

bk-pci.patch

bk-i2c.patch

bk-driver-core.patch

mm.patch
add -mmN to EXTRAVERSION

dma_sync_for_device-cpu.patch
dma_sync_for_{cpu,device}()

compat-signal-noarch-2004-01-29.patch
Generic 32-bit compat for copy_siginfo_to_user

compat-generic-ipc-emulation.patch
generic 32 bit emulation for System-V IPC

kill-old-dead-netdev-apis.patch
removal of b0rken netdev API functions

gcc-35-pdaudiocf_irq-build-fix.patch
Fix pdaudiocf_irq.c for gcc-3.5

m68k-406.patch
m68k: Amiga Zorro8390 Ethernet new driver model

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

bk-driver-core-x86_64-build-fix.patch
fix x86_64 build for sys_device_register rename

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
correct kgdb.txt Documentation link (against 2.6.1-rc1-mm2)

kgdb-ga-recent-gcc-fix.patch
kgdb: fix for recent gcc

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

kgdb-THREAD_SIZE-fixes.patch
THREAD_SIZE fixes for kgdb

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

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

ppc64-tulip-build-fix.patch
ppc64: fix de4x5 build

ppc64-reloc_hide.patch

move-scatterwalk-functions-to-own-file.patch
move scatterwalk functions to own file

in-place-encryption-fix.patch
fix in-place de/encryption bug with highmem

hfs-rewrite.patch

hfsplus-support.patch

knfsd-rpcsec_gss-minimal-support.patch
kNFSd: Add minimal server-side support for rpcsec_gss.

knfsd-rpcsec_gss-minimal-support-NGROUPS-fix.patch
Fix up knfsd-rpcsec_gss-minimal-support-NGROUPS for expanded NGROUPS

knfsd-rpcsec_gss-minimal-support-NGROUPS-fix-2.patch
more svcauth_gss fixes

knfsd-gss-api-integrity-checking.patch
kNFSd: gss api changes for integrity checking.

knfsd-IDmap-support.patch
kNFSd: IDmap support for the NFSv4 server.

knfsd-nfs4-pointer-cleanup.patch
kNFSd: Nfsdv4 pointer cleanup

knfsd-nfs4-locking-state-fix.patch
kNFSd: NFSv4 locking state fix

knfsd-v4-exclusive-open-fix.patch
kNFSd: v4 exclusive open fix.

knfsd-changeinfo-time-higher-resolution.patch
kNFSd: Use higher-resolution time for the changeinfo, instead of using time and filesize.

knfsd-shareowner-fix.patch
kNFSd: When looking for a shareowner in the nfsd open, make sure we don't get a lockowner instead.

knfsd-replaying-fixes.patch
kNFSd: NFSdV4 fixes for replaying open requests.

knfsd-setclientid-fix.patch
kNFSd: Use only the uid when deciding whether a setclientid is being done with the "same principal".

knfsd-lockowner-fix.patch
kNFSd: When looking for a shareowner in the nfsd open, make sure we don't get a lockowner instead.

knfsd-readdir-error-code-fix.patch
kNFSd: readdir error code fix

knfsd-nfserr_nofilehandle-fix.patch
kNFSd: correctly tests and sets nfserr_nofilehandle for current and save fh.

knfsd-lookup_parent-fix.patch
kNFSd: Fix for lookup-parent at pseudo root

knfsd-error-code-return-fixes.patch
kNFSd: Correct error returns.

knfsd-xdr-error-fix.patch
kNFSd: fixes an xdr error by removing the verifier from error return.

knfsd-symlink-fixes.patch
kNFSd: correct symlink related error returns.

knfsd-lock-length-fix.patch
kNFSd: check lock length, return appropriate error

knfsd-rename-error-code-fixes.patch
kNFSd: correct rename error returns.

knfsd-unlock-on-close-fix.patch
kNFSd: unlock-on-close fix

knfsd-comment-fix.patch
kNFSd: Remove a comment that is no longer accurate

knfsd-fh_dup2-fix.patch
kNFSd: move fh_dup2 and fix it

knfsd-implement-RELEASE_LOCKOWNER.patch
kNFSd: Implement the nfsv4 RELEASE_LOCKOWNER operation.

knfsd-add-OP_ILLEGAL.patch
kNFSd: add OP_ILLEGAL, and fix processing of compounds with out of bounds op numbers.

knfsd-OP_CREATE-fix.patch
kNFSd: fix an error return for OP_CREATE

knfsd-OP_LOCK-check.patch
kNFSd: Add a check in OP_LOCK for new lockowners to ensure that the open stateid is

knfsd-OP_OPEN_CONFIRM-fix.patch
kNFSd: Corrects an error return for OP_OPEN_CONFIRM.

knfsd-open_downgrade-enforcement.patch
kNFSd: Enforce open_downgrade requirement

knfsd-readlink-error-return-fix.patch
kNFSd: Fix an out-of-spec readlink error return.

knfsd-nfsd4_remove-error-fix.patch
kNFSd: Fix an out-of-spec error in nfsd4_remove.

knfsd-stateid-replay-fixes.patch
kNFSd: Miscellaneous fixes to stateid-based replay

knfsd-attribute-decoding-retval-fix.patch
kNFSd: Fix out-of-spec error return in attribute decoding.

knfsd-READ_BUF-cleanup.patch
kNFSd: Make the calculation in the first READ_BUF easier to understand.

knfsd-sunrpc_init-ordering-fixes.patch
kNFSd: make sure sunrpc init routines called before gss init routines.

knfsd-readdir-more-than-one-page.patch
kNFSd: return more than one page of directory entries.

add-MODULE_VERSION-macro.patch
Add a MODULE_VERSION macro

rename-MODULE_VERSION.patch
rename other MODULE_VERSION users

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.

pdflush-diag.patch

zap_page_range-debug.patch
zap_page_range() debug

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 <[email protected]>
Subject: [PATCH] Add CONFIG_SYSFS

CONFIG_SYSFS-boot-from-disk-fix.patch

slab-leak-detector.patch
slab leak detector

scale-nr_requests.patch
scale nr_requests with TCQ depth

truncate_inode_pages-check.patch

local_bh_enable-warning-fix.patch

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

sched-domains.patch
sched: scheduler domain support
sched: fix for NR_CPUS > BITS_PER_LONG
sched: clarify find_busiest_group
sched: find_busiest_group arithmetic fix

sched-clock-fixes.patch
fix sched_clock()

sched-sibling-map-to-cpumask.patch
sched: cpu_sibling_map to cpu_mask
p4-clockmod sibling_map fix
p4-clockmod: handle more than two siblings

sched-domains-i386-ht.patch
sched: implement domains for i386 HT
sched: Fix CONFIG_SMT oops on UP
sched: fix SMT + NUMA bug
Change arch_init_sched_domains to use cpu_online_map Fix build with NR_CPUS > BITS_PER_LONG

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

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

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

sched-domain-debugging.patch
sched_domain debugging

sched-domain-balancing-improvements.patch
scheduler domain balancing improvements

sched-group-power.patch
sched-group-power

sched-group-power-warning-fixes.patch
sched-group-power warning fixes

sched-domains-use-cpu_possible_map.patch
sched_domains: use cpu_possible_map

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
laptop mode simplification

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

process-migration-speedup.patch
Reduce TLB flushing during process migration

hotplugcpu-generalise-bogolock.patch
Atomic Hotplug CPU: Generalize Bogolock

hotplugcpu-generalise-bogolock-fix-for-kthread-stop-using-signals.patch

hotplugcpu-use-bogolock-in-modules.patch
Atomic Hotplug CPU: Use Bogolock in module.c

hotplugcpu-core.patch
Atomic Hotplug CPU: Hotplug CPU Core

stop_machine-warning-fix.patch

hotplugcpu-core-sparc64-build-fix.patch
hotplugcpu-core sparc64 build fix

hotplugcpu-core-fix-for-kthread-stop-using-signals.patch

migrate_to_cpu-dependency-fix.patch
migrate_to_cpu() dependency fix

hotplugcpu-core-drain_local_pages-fix.patch
split drain_local_pages

hotplugcpu-rcupdate-many-cpus-fix.patch
CPU hotplug, rcupdate high NR_CPUS fix

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

nfs-reconnect-fix.patch

instrument-highmem-page-reclaim.patch
vm: per-zone page reclaim instrumentation

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
vmscan: align scan_page per node

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

vm-shrink-zone.patch
vmscan: several tuneups

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

shrink_slab-for-all-zones.patch
vm: scan slab in response to highmem scanning

zone-balancing-fix.patch
vmscan: zone balancing fix

zone-balancing-batching.patch
vmscan: fix inter-zone reclaim balancing
fix all_zones_ok logic

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

binfmt_misc-credentials.patch
binfmt_misc: improve calaulation of interpreter's credentials

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

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

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

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

add-syscalls_h-kinit.patch

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

adaptive-lazy-readahead.patch
adaptive lazy readahead

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

ext3-journalled-quotas.patch
ext3: Journalled quotas

ext3-journalled-quotas-warning-fix.patch

ext3-journalled-quotas-cleanups.patch

sysfs_remove_dir-race-fix.patch
sysfs_remove_dir-vs-dcache_readdir race fix

sysfs_remove_subdir-dentry-leak-fix.patch
Fix dentry refcounting in sysfs_remove_group()

fbdev-cursor-1.patch
fbdev cursor part 1.

cursor-fix.patch
cursor fix.

expanded-pci-config-space.patch
Expanded PCI config space

per-node-rss-tracking.patch
Track per-node RSS for NUMA

aic7xxx-deadlock-fix.patch
aic7xxx deadlock fix

futex_wait-debug.patch
futex_wait debug

module_exit-deadlock-fix.patch
module unload deadlock fix

tulip-printk-cleanup.patch
tulip printk cleanup

parport-01-move-exports.patch
parport: move exports

parport-02-use-module_init.patch
parport: use module_init() for low-level driver init

parport-03-sysctls-use-module_init.patch
parport: use module_init() for sysctl registration

parport-04-move-option-parsing.patch
parport: move parport_pc option parsing

parport-irq-warning-fix.patch
parport warning fixes

parport-05-parport_pc_probe_port-fixes.patch
parport: sanitize parport_pc_probe_port()

parport-06-refcounting-fixes.patch
parport: refcounting fixes

parport-07-unregister-fixes.patch
parport: parport_unregister_port() splitups abd fixes

parport-08-parport_announce-cleanups.patch
parport: parport_announce_port() cleanup

parport-09-track-used-ports.patch
parport: parport_pc(): keep track of ports

parport-09-track-used-ports-fix.patch

parport-10-sunbpp-track-ports.patch
parport: parport_sunbpp(): keep track of ports

parport-11-remove-parport_enumerate.patch
parport: remove parport_enumerate()

parport-12-driver-list-cleanup.patch
parport: use list.h for driver list

hitachi-scsi_devinfo-fix.patch
Add Hitachi 9960 Storage on SCSI devlist as BLIST_SPARSELUN|BLIST_LARGELUN

dm-crypt-cipher-digest.patch
dm-crypt: add digest-based iv generation mode

superblock-fixes.patch
super block fixes

zoran-refcounting-fixes.patch
fix module reference counting in zoran driver

nfs-mount-error-recovery.patch
nfs mount-time oops fixes

selinux-inode-race-trap.patch
Try to diagnose Bug 2153

ext3-dirty-debug-patch.patch
ext3 debug patch

ufs2-01.patch
read-only support for UFS2

s390-01-general-update.patch
s390: general update.

s390-02-common-io-layer.patch
s390: common i/o layer.

s390-03-console-driver.patch
s390: console driver.

s390-04-compat_timer_settime.patch
s390: compat_timer_settime.

s390-05-ctc-net-driver.patch
s390: CTC network driver.

s390-06-lcs-net-driver.patch
s390: LCS network driver.

s390-07-iucv-net-driver.patch
s390: IUCV network driver.

s390-08-dasd-driver.patch
s390: DASD device driver.

s390-09-virtual-timer-interface.patch
s390: virtual timer interface.

s390-10-zvm-monitor-stream.patch
s390: z/VM monitor stream.

s390-11-collaborative-memory-management.patch
s390: collaborative memory management.

s390-12-cannel-measurement-block-interface.patch
s390: channel measurement block interface.

s390-zfcp-host-adapter.patch
s390: zfcp host adapter

s390-syscalls-h-update.patch
s390 syscalls.h update

s390-dcss-block-driver.patch
s390: DCSS block device driver.

ide-scsi-error-handling-fixes.patch
ide-scsi error handling fixes

fb_console_init-fix.patch
fb_console_init fix

nfs-write-throttling.patch
Add write throttling to NFS client

poll-select-longer-timeouts.patch
poll()/select(): support longer timeouts

poll-select-range-check-fix.patch
poll()/select() range checking fix

poll-select-handle-large-timeouts.patch
poll()/select(): handle long timeouts

zwane-is-floppy-maintainer-now.patch
floppy oops fix(?)

ide-io-CONFIG_LBD-fix.patch
ide-io.c: CONFIG_LBD fix

pcmcia-debugging-rework-1.patch
Overhaul PCMCIA debugging (1)

cs_err-compile-fix.patch
pcmcia: workaround for gcc-2.95 bug in cs_err()

pcmcia-debugging-rework-2.patch
Overhaul PCMCIA debugging (2)

distribute-early-allocations-across-nodes.patch
Manfred's patch to distribute boot allocations across nodes

time-interpolator-fix.patch
time interpolator fix

dvb-01-update-subsystem-docs.patch
dvb: Update subsystem docs

dvb-02-update-saa7146-core.patch
dvb: Update saa7146 driver core

dvb-03-skystar2-updates.patch
dvb: Minor Skystar2 updates

dvb-04-core-updates.patch
dvb: core update

dvb-05-frontend-updates.patch
dvb: Misc frontend updates

dvb-06-stv0299-frontend-update.patch
dvb: stv0299 DVB frontend update

dvb-07-tda1004x-update.patch
dvb: tda1004x DVB frontend update

dvb-08-av7110-update.patch
dvb: av7110 DVB driver update

dvb-09-ttusb-budget-update.patch
dvb: TTUSB-Budget DVB driver update

dvb-ttusb-budget-compile-fix.patch
Compilation fix for latest DVB updates

kmsg-nonblock.patch
teach /proc/kmsg about O_NONBLOCK

n_tty-cleanup.patch
n_tty.c cleanup

mixart-build-fix.patch
CONFIG_SND_MIXART doesn't compile

add-a-slab-for-ethernet.patch
Add a kmalloc slab for ethernet packets

mac-driver-config-update.patch
M68k Macintosh driver config

request_firmware-01-class-fixes.patch
request_firmware(): misc fixes

request_firmware-02-more-class-fixes.patch
request_firmware(): more misc fixes

request_firmware-03-bitmap.patch
request_firmware(): add status bitmap

request_firmware-04-priv-leak-fix.patch
request_firmware(): fix firmware_priv leak

request_firmware-05-release-race-fixes.patch
request_firmware(): race fixes

request_firmware-06-cleanups.patch
request_firmware(): refactor fw_setup_class_device()

request_firmware-07-attribute-fixes.patch
request_firmware(): fix attribute removal

early-printk-doc-fix.patch
early printk documentation fix

radeon-config-fix-2.patch
radeon config fix

remove-tty-CALLOUT-defines.patch
Remove unused tty CALLOUT defines

tdfx-remove-float.patch
don't use floating point in tdfxfb

mtd-locking-fix.patch
mtd locking fix

afs-c99-fix.patch
C99 patch for fs/afs/inode.c

remove-KERNEL_SYSCALLS-stuff.patch
Kill bogus __KERNEL_SYSCALLS usage

msi-kirqd-build-fix.patch
fix MSI-related build breakage

isdn-c99-fixes.patch
C99 initiailzers for drivers/isdn/i4l/isdn_common.c

airo-c99-fixes.patch
C99 initializers for drivers/net/wireless/airo.c

wanxl-c99-fixes.patch
C99 initializers for drivers/net/wan/wanxl.c

pci200syn-c99-fixes.patch
C99 initializers for drivers/net/wan/pci200syn.c

irda-usb-c99-fixes.patch
C99 initializers for drivers/net/irda/irda-usb.c

saa7146_video-c99-fixes.patch
C99 initializers for drivers/media/common/saa7146_video.c

stv0229-c99-fixes.patch
C99 initializer for drivers/media/dv/frontend/stv0229.c

alps_tdlb7-c99-fixes.patch
C99 initializers for drivers/media/dvb/frontends/alps_tdlb7.c

sp887x-c99-fixes.patch
C99 initializers for drivers/media/dvb/frontends/sp887x.c

budget-av-c99-fixes.patch
C99 initializer for driver/media/dvb/ttpci/budget-av.c

saa5246a-rev1-2.6.3.patch
V4L: Add new driver for Teletext decoder SAA5246A from Philips

kbuild-add-defconfig-targets-to-make-help.patch
kbuild: add defconfig targets to make help

wanmain-build-fix.patch
wanmain.c build fix

3c505-build-fix.patch
3c505.c needs delay.h

list_del-debug.patch
list_del debug check

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() cannot be __init
4g/4g: remove printk at boot

4g4g-THREAD_SIZE-fixes.patch

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

O_DIRECT-vs-buffered-fix.patch
Fix O_DIRECT-vs-buffered data exposure bug

O_DIRECT-vs-buffered-fix-pdflush-hang-fix.patch
pdflush hang fix

serialise-writeback-fdatawait.patch
serialize_writeback_fdatawait patch

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

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

#1 lore raw
Quoted 8 lines · Andrew Morton

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

- Big knfsd update. Mainly for nfsv4

- DVB udpate

- Various fixes

And a few symbols that are not exported?

WARNING: /lib/modules/2.6.3-mm4/kernel/fs/quota_v2.ko needs unknown symbol mark_info_dirty
WARNING: /lib/modules/2.6.3-mm4/kernel/fs/nfsd/nfsd.ko needs unknown symbol locks_remove_posix
WARNING: /lib/modules/2.6.3-mm4/kernel/net/ipv6/ipv6.ko needs unknown symbol sysctl_optmem_max

mvh,
A

Signature · 3 lines
Alexander Hoogerhuis                               | [email protected]
CCNP - CCDP - MCNE - CCSE                          | +47 908 21 485
"You have zero privacy anyway. Get over it."  --Scott McNealy
#2 lore raw

On Thursday 26 February 2004 09:22, Alexander Hoogerhuis wrote:

Hi Alex,

Quoted 6 lines

And a few symbols that are not exported?
WARNING: /lib/modules/2.6.3-mm4/kernel/fs/quota_v2.ko needs unknown symbol mark_info_dirty WARNING: /lib/modules/2.6.3-mm4/kernel/fs/nfsd/nfsd.ko needs unknown symbol locks_remove_posix WARNING:
/lib/modules/2.6.3-mm4/kernel/net/ipv6/ipv6.ko needs unknown symbol sysctl_optmem_max

Apply attached patch.

ciao, Marc

fs/locks.c +2 -0
@@ -1699,6 +1699,8 @@ void locks_remove_posix(struct file *fil
 	unlock_kernel();
 }
 
+EXPORT_SYMBOL(locks_remove_posix);
+
 /*
  * This function is called on the last close of an open file.
  */
fs/dquot.c +1 -0
@@ -1672,3 +1672,4 @@ EXPORT_SYMBOL(unregister_quota_format);
 EXPORT_SYMBOL(dqstats);
 EXPORT_SYMBOL(dq_list_lock);
 EXPORT_SYMBOL(dq_data_lock);
+EXPORT_SYMBOL(mark_info_dirty);
net/core/sock.c +1 -0
@@ -1198,4 +1198,5 @@ EXPORT_SYMBOL(sock_wmalloc);
 #ifdef CONFIG_SYSCTL
 EXPORT_SYMBOL(sysctl_rmem_max);
 EXPORT_SYMBOL(sysctl_wmem_max);
+EXPORT_SYMBOL(sysctl_optmem_max);
 #endif
#3 lore raw
In reply to Andrew Morton

Hi!

After make modules_install, I got these:

if [ -r System.map ]; then /sbin/depmod -ae -F System.map 2.6.3-mm4; fi
WARNING: /lib/modules/2.6.3-mm4/kernel/net/ipv6/ipv6.ko needs unknown symbol sysctl_optmem_max
WARNING: /lib/modules/2.6.3-mm4/kernel/drivers/i2c/busses/i2c-elektor.ko needs unknown symbol cli
WARNING: /lib/modules/2.6.3-mm4/kernel/drivers/i2c/busses/i2c-elektor.ko needs unknown symbol sti
WARNING: /lib/modules/2.6.3-mm4/kernel/drivers/net/typhoon.ko needs unknown symbol direct_csum_partial_copy_generic

Thanks,
Nuno Silva

#4 lore raw
Quoted 2 lines · Nuno Silva

WARNING: /lib/modules/2.6.3-mm4/kernel/drivers/i2c/busses/i2c-elektor.ko needs unknown symbol cli
WARNING: /lib/modules/2.6.3-mm4/kernel/drivers/i2c/busses/i2c-elektor.ko needs unknown symbol sti

Known issue. If you enable CONFIG_BROKEN_ON_SMP then you will not see this problem (as you will not be able to build the driver...)

thanks,

greg k-h

#5 lore raw
In reply to Andrew Morton

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Quoted 8 lines · Andrew Morton

ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.3/2.6.3-m m4/

- Big knfsd update. Mainly for nfsv4

- DVB udpate

- Various fixes

Hello, Andrew, I jumped from rc1-mm1 to this and found that somebody finally
touched ini9100 driver, but it needs further cleaning. It doesn't compile properly, and give warnings.

Attached patch fixes compilation of ini9100u driver and cleans several
unneeded definitions. It applies cleanly to 2.6.3-mm4 (I think).

Could you please review, because although simple, I'm scared, I don't really
know if my patch is doing the Right Thing (tm)? Thanks. :-)

Regards,

Ender.
- --
What was that, honey? It was bad. It had no fire, no energy, no nothing.
So tomorrow from 5 to 7 will you PLEASE act like you have more than a two word vocabulary. It must be green.
-- DJ Ruby Rhod (The Fifth Element).
- --
Servicios de red - Network services
RedIRIS - Spanish Academic Network for Research and Development Madrid (Spain)
Tlf (+34) 91.585.51.50
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)

iD8DBQFAPhW3Ws/EhA1iABsRAoqPAJ4m9/jMcJ9/W54qLwEhKn9uC9AKOACeOJ2u wy7M+GgPS8dWP2nR0IoeBnw=
=p/NV
-----END PGP SIGNATURE-----

scsi/ini9100u.c renamed from scsi/ini9100u.c.orig +1 -9
@@ -180,14 +180,7 @@
 
 static char *setup_str = (char *) NULL;
 
-static irqreturn_t i91u_intr0(int irq, void *dev_id, struct pt_regs *);
-static irqreturn_t i91u_intr1(int irq, void *dev_id, struct pt_regs *);
-static irqreturn_t i91u_intr2(int irq, void *dev_id, struct pt_regs *);
-static irqreturn_t i91u_intr3(int irq, void *dev_id, struct pt_regs *);
-static irqreturn_t i91u_intr4(int irq, void *dev_id, struct pt_regs *);
-static irqreturn_t i91u_intr5(int irq, void *dev_id, struct pt_regs *);
-static irqreturn_t i91u_intr6(int irq, void *dev_id, struct pt_regs *);
-static irqreturn_t i91u_intr7(int irq, void *dev_id, struct pt_regs *);
+static struct Scsi_Host *hreg;
 
 static void i91u_panic(char *msg);
 
@@ -340,7 +333,6 @@
 int i91u_detect(Scsi_Host_Template * tpnt)
 {
 	HCS *pHCB;
-	struct Scsi_Host *hreg;
 	unsigned long i;	/* 01/14/98                     */
 	int ok = 0, iAdapters;
 	ULONG dBiosAdr;
#6 lore raw

On Thu, Feb 26, 2004 at 04:50:14PM +0100, David Martínez Moreno wrote:
Content-Description: clearsigned data

Quoted 5 lines

Attached patch fixes compilation of ini9100u driver and cleans several
unneeded definitions. It applies cleanly to 2.6.3-mm4 (I think).

Could you please review, because although simple, I'm scared, I don't really
know if my patch is doing the Right Thing (tm)? Thanks. :-)

it's not 100% correct as the driver should support multiple HBAs. Here's a better one:

drivers/scsi/ini9100u.c +1 -10
@@ -180,15 +180,6 @@
 
 static char *setup_str = (char *) NULL;
 
-static irqreturn_t i91u_intr0(int irq, void *dev_id, struct pt_regs *);
-static irqreturn_t i91u_intr1(int irq, void *dev_id, struct pt_regs *);
-static irqreturn_t i91u_intr2(int irq, void *dev_id, struct pt_regs *);
-static irqreturn_t i91u_intr3(int irq, void *dev_id, struct pt_regs *);
-static irqreturn_t i91u_intr4(int irq, void *dev_id, struct pt_regs *);
-static irqreturn_t i91u_intr5(int irq, void *dev_id, struct pt_regs *);
-static irqreturn_t i91u_intr6(int irq, void *dev_id, struct pt_regs *);
-static irqreturn_t i91u_intr7(int irq, void *dev_id, struct pt_regs *);
-
 static void i91u_panic(char *msg);
 
 static void i91uSCBPost(BYTE * pHcb, BYTE * pScb);
@@ -278,7 +269,7 @@
 	unsigned long flags;
 	
 	spin_lock_irqsave(dev->host_lock, flags);
-	tul_isr((HCS *)hreg->base);
+	tul_isr((HCS *)dev->base);
 	spin_unlock_irqrestore(dev->host_lock, flags);
 	return IRQ_HANDLED;
 }
#7 lore raw

Re: 2.6.3-mm4 (compile stats)

In reply to Andrew Morton

Much better...

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-mm3         1w/0e     5w/0e   146w/ 0e   7w/0e   3w/0e    142w/0e
2.6.3-mm3         1w/2e     5w/2e   146w/15e   7w/0e   3w/2e    144w/5e
2.6.3-mm2         1w/8e     5w/0e   140w/ 0e   7w/0e   3w/0e    138w/0e
2.6.3-mm1         1w/0e     5w/0e   143w/ 5e   7w/0e   3w/0e    141w/0e
2.6.3-rc3-mm1     1w/0e     0w/0e   144w/13e   7w/0e   3w/0e    142w/3e
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/

John

#8 lore raw

Re: 2.6.3-mm4 (compile stats)

Quoted 10 lines · John Cherry

Much better...

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-mm3         1w/0e     5w/0e   146w/ 0e   7w/0e   3w/0e    142w/0e
2.6.3-mm3         1w/2e     5w/2e   146w/15e   7w/0e   3w/2e    144w/5e

Yes, much better, especially since it's the same version? ;)

#9 lore raw

Re: 2.6.3-mm4 (compile stats)

Sorry about the typo. At least you noticed it! :)

Quoted 18 lines · Mike Fedyk
Quoted 10 lines · John Cherry

Much better...

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-mm3         1w/0e     5w/0e   146w/ 0e   7w/0e   3w/0e    142w/0e
2.6.3-mm3         1w/2e     5w/2e   146w/15e   7w/0e   3w/2e    144w/5e

Yes, much better, especially since it's the same version? ;)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

#10 lore raw
In reply to Andrew Morton

Hello!

In -mm4 ACPI suspend to ram (echo -n mem >/sys/power/state) no longer suspends my centrino laptop. This used to work in -mm3.

It fails to suspend "radeonfb" (which isn't active BTW, fbcon is not loaded but radeonfb is compiled in).

I have attached a photo of the suspend message.

Please note that on this laptop ACPI always used to suspend the machine. It just never wakes up :)

And that's the reason i follow the latest -mm patches. I still hope *some* day suspend/resume will work ;)

Thought i'd share this.

Dateils of the laptop (dmesg, lspci) can be found here:
http://www.hentges.net/howtos/samsung_p30_hwspecs.html

HTH & HAND

Signature · 7 lines
Matthias Hentges 
Cologne / Germany

[www.hentges.net] -> PGP welcome, HTML tolerated
ICQ: 97 26 97 4   -> No files, no URL's

My OS: Debian SID. Geek by Nature, Linux by Choice
#11 lore raw

Re: 2.6.3-mm4, sensors broken

In reply to Andrew Morton

Hi,

this release made my sensors broken. With mm3 it worked nicely.

This is what sensors-detect gives me:

Driver `adm1021' (should be inserted):
Detects correctly:
* Bus SMBus nForce2 adapter at 5100' (Algorithm unavailable) Busdriver i2c-nforce2', I2C address 0x4e
Chip `National Semiconductor LM84' (confidence: 5)

Driver `eeprom' (should be inserted):
Detects correctly:
* Bus SMBus nForce2 adapter at 5100' (Algorithm unavailable) Busdriver i2c-nforce2', I2C address 0x50
Chip `SPD EEPROM' (confidence: 8)
* Bus SMBus nForce2 adapter at 5100' (Algorithm unavailable) Busdriver i2c-nforce2', I2C address 0x52
Chip `SPD EEPROM' (confidence: 8)

Driver `w83781d' (may not be inserted):
Misdetects:
* ISA bus address 0x0290 (Busdriver `i2c-isa')

    Chip `Winbond W83627HF' (confidence: 8)

Driver `w83627hf' (should be inserted):
Detects correctly:
* ISA bus address 0x0290 (Busdriver i2c-isa') Chip Winbond W83627HF Super IO Sensors' (confidence: 9)

Of course most of the drivers are not in the kernel, but w83781d worked for me with mm3 and now it does not. gkrellm2 still is able to read out voltages and fan speeds but no temperatures anymore.

Typing "sensors" just gives me:
w83627hf-isa-0290
Adapter: ISA adapter
ERROR: Can't get IN0 data!
ERROR: Can't get IN1 data!
ERROR: Can't get IN2 data!
ERROR: Can't get IN3 data!
ERROR: Can't get IN4 data!
ERROR: Can't get IN5 data!
ERROR: Can't get IN6 data!
ERROR: Can't get IN7 data!
ERROR: Can't get IN8 data!
ERROR: Can't get FAN1 data!
ERROR: Can't get FAN2 data!
ERROR: Can't get FAN3 data!
ERROR: Can't get TEMP1 data!
ERROR: Can't get TEMP2 data!
ERROR: Can't get TEMP3 data!
ERROR: Can't get VID data!
alarms:
beep_enable:
Sound alarm disabled

:-(

Prakash

#12 lore raw

Re: 2.6.3-mm4, sensors broken

Quoted 2 lines · Prakash K. Cheemplavam

this release made my sensors broken. With mm3 it worked nicely.

Useful info. If you have time, could you please do a `patch -p1 -R'
of ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.3/2.6.3-mm4/broken-out/bk-i2c.patch and see if that fixes it up?

#13 lore raw

Re: 2.6.3-mm4, sensors broken

Quoted 8 lines · Andrew Morton
Quoted 1 line · Prakash K. Cheemplavam

this release made my sensors broken. With mm3 it worked nicely.

Useful info. If you have time, could you please do a `patch -p1 -R'
of ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.3/2.6.3-mm4/broken-out/bk-i2c.patch and see if that fixes it up?

Yes, this fixes it. My temperatures are available again and "sensors" reports everything, as well.

Prakash

#14 lore raw
In reply to Prakash K. Cheemplavam
Quoted 3 lines · J.A. Magallon

As somebody also stated, there are problems with sensors:

Quoted 3 lines · Prakash K. Cheemplavam

Hi,

this release made my sensors broken. With mm3 it worked nicely.

Yup, we changed all of the sensors sysfs names :)

Hey, we did warn everyone here on lkml we were going to do this, and no one complained...

Anyway, I think all you need to do is get the cvs tree of the lmsensors package. Sensors people, the needed changes are commited into the tree, right?

thanks,

greg k-h

#15 lore raw

Quoting Greg KH <[email protected]>:

Quoted 3 lines

Anyway, I think all you need to do is get the cvs tree of the lmsensors package. Sensors people, the needed changes are commited into the tree, right?

No. The changes are waiting in my local repository, ready to be applied. I didn't want to apply them because we were supposed to release lm_sensors 2.8.5 (for Linux 2.6.3 users) and the sysfs names change wouldn't belong there.

The libsensors patches are available on my personal server here:
http://jdelvare.net1.nerim.net/sensors/
Apply both patches in order and you'll get a 2.6.3-mm4-compliant library.

I will apply the libsensors changes to the CVS repository as soon as the kernel modules changes are accepted into Linus' tree. If we did not release a new version since there, I'll take a CVS snapshot right before so that Linux 2.6.3 users have a usable version available (but my preference strongly goes to releasing 2.8.5 instead).

Thanks for testing.

Signature · 2 lines
Jean Delvare
http://www.ensicaen.ismra.fr/~delvare/
#16 lore raw
Quoted 18 lines · Jean Delvare

Quoting Greg KH <[email protected]>:

Quoted 3 lines

Anyway, I think all you need to do is get the cvs tree of the lmsensors package. Sensors people, the needed changes are commited into the tree, right?

No. The changes are waiting in my local repository, ready to be applied. I didn't want to apply them because we were supposed to release lm_sensors 2.8.5 (for Linux 2.6.3 users) and the sysfs names change wouldn't belong there.

The libsensors patches are available on my personal server here:
http://jdelvare.net1.nerim.net/sensors/
Apply both patches in order and you'll get a 2.6.3-mm4-compliant library.

Quoted 5 lines

I will apply the libsensors changes to the CVS repository as soon as the kernel modules changes are accepted into Linus' tree. If we did not release a new version since there, I'll take a CVS snapshot right before so that Linux 2.6.3 users have a usable version available (but my preference strongly goes to releasing 2.8.5 instead).

You have to be kidding me. Are you saying that with your patches to libsensors it won't support 2.6.3 style sensor sysfs names?

#17 lore raw
Quoted 2 lines

You have to be kidding me. Are you saying that with your patches to libsensors it won't support 2.6.3 style sensor sysfs names?

Yes I am. This isn't a fundamentally new problem. Each Linux 2.6 has had its matching libsensors version that was not backward compatible (with earlier 2.6 kernels; it's still fully compatible with 2.4).

Keeping newer versions of libsensors compatible with all early 2.6 kernel versions would make it incredibly more complex, with no significant benefit IMHO.

The facts are that the sysfs interface to i2c chips is just stabilizing. Greg's original naming scheme had many drawbacks (also we can't blame him for that, since nobody objected before me), as I have been explaining in a previous post on LKML. Also, many chip drivers did not comply with it in early 2.6 kernels, and new chip drivers wouldn't fit in it anyway.

The new interface is required if we want to write a chip-independant libsensors someday. I estimate that this is worth breaking the compatibility. The impacted kernels (later 2.5 and earlier 2.6) will obviously not be used anymore within a short time anyway.

I invite you to read my original post here:
http://marc.theaimsgroup.com/?l=linux-kernel&m=107715308608606

I explain the problems of the current interface and my goals with the new one. If you can think of a better solution to the problem, please speak up.

Thanks.

Signature · 2 lines
Jean Delvare
http://www.ensicaen.ismra.fr/~delvare/
#18 lore raw
Quoted 23 lines · Jean Delvare
Quoted 1 line

You have to be kidding me. Are you saying that with your patches to libsensors it won't support 2.6.3 style sensor sysfs names?

Yes I am. This isn't a fundamentally new problem. Each Linux 2.6 has had its matching libsensors version that was not backward compatible (with earlier 2.6 kernels; it's still fully compatible with 2.4).

Keeping newer versions of libsensors compatible with all early 2.6 kernel versions would make it incredibly more complex, with no significant benefit IMHO.

The facts are that the sysfs interface to i2c chips is just stabilizing. Greg's original naming scheme had many drawbacks (also we can't blame him for that, since nobody objected before me), as I have been explaining in a previous post on LKML. Also, many chip drivers did not comply with it in early 2.6 kernels, and new chip drivers wouldn't fit in it anyway.

The new interface is required if we want to write a chip-independant libsensors someday. I estimate that this is worth breaking the compatibility. The impacted kernels (later 2.5 and earlier 2.6) will obviously not be used anymore within a short time anyway.

Quoted 6 lines

I invite you to read my original post here:
http://marc.theaimsgroup.com/?l=linux-kernel&m=107715308608606

I explain the problems of the current interface and my goals with the new one. If you can think of a better solution to the problem, please speak up.

Working from the premise that there is a current (old-style with mostly chip dependent code), libsensors has 2.4 /proc support, and each specific release supports one of 2.6.[0123]...

I'm glad I'm not the maintainer of libsensors for a distribution. Since you have effectively pushed the compatibility work to them. Just think of angry customer complaints about this. :(

Since there is going to be an effective libsensors-new library with chip independent code, I suggest you put the compat code into the old library.

Mike

#19 lore raw
Quoted 3 lines

Working from the premise that there is a current (old-style with mostly chip dependent code), libsensors has 2.4 /proc support, and each specific release supports one of 2.6.[0123]...

Correct, that's mostly that.

Quoted 3 lines

I'm glad I'm not the maintainer of libsensors for a distribution. Since you have effectively pushed the compatibility work to them. Just think of angry customer complaints about this. :(

Again, this is a temporary situation. I'm struggling for a better future, at the cost of a slightly chaotic present, admittedly.

That said, I think that most packaging systems support that kind of dependency. Since we clearly advertise the correct combinations of lm_sensors and Linux kernel, they should be able to handle it quite nicely (although I admit it has to represent some work for them).

The compatibility problems brought by libsensors are not new. From the very beginning, each new version of lm_sensors had kernel modules, libsensors and sensors program that mostly only worked well together. It wasn't to the point of what we are experiencing today, of course, because things were mostly (but not always) backward compatible. Still, supporting each and every new driver or "kind" of chip would require upgrading to new libsensors and sensors program. This is precisely what I want to avoid with my proposal.

Quoted 3 lines

Since there is going to be an effective libsensors-new library with chip independent code, I suggest you put the compat code into the old library.

Note that there is no effective plan for such a library as of today. I am "simply" defining an interface such that writing such a library will be possible. I don't think I have the skills to write it at the moment, but I have no doubt that people will do (I'm in particular thinking to the gkrellm folks who neved liked the old library and wouldn't use it at all, at the cost of frequent compatibility issues). That said, if nobody seems to go on working on it within a reasonable amount of time, it's likely that I will learn what I need to know to do it myself, since I'm so interested in seeing it exist.

I do not plan to spend time to provide compatibility with early 2.6 kernels. First, because it would bloat the current libsensors even more. Second, because I believe that these kernels will stop being used within a few months or even weeks.

Distributions or individuals running 2.6 kernels these days know pretty well that things are not fully stabilized yet. Granted, the sensors area seems to be the more unstable realm of them all at the moment. But I just don't think that people need to have, say, a 2.6.1 and a 2.6.3 kernel running perfectly on their system. We never had any request in that direction so far. What they most likely want is to have a 2.4 and a 2.6 kernel working, and we do provide this compatibility.

If you really believe that we have to support all early 2.6 kernel releases and are able to write a not-too-bloated patch for libsensors that does this, we'll consider applying it. But it's unlikely that any of us will want to spend time on such a patch.

Thanks.

Signature · 2 lines
Jean Delvare
http://www.ensicaen.ismra.fr/~delvare/
#20 lore raw
In reply to Greg KH
Quoted 5 lines

Yup, we changed all of the sensors sysfs names :)

Hey, we did warn everyone here on lkml we were going to do this, and no one complained...

Ok, that explains it. Seems like I have not seen it. :-) (Well, I started using sensors only since a few days, btw...)

Prakash

#21 lore raw
In reply to Andrew Morton
Quoted 9 lines · Andrew Morton

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

- Big knfsd update. Mainly for nfsv4

- DVB udpate

- Various fixes

As somebody also stated, there are problems with sensors:

werewolf:~# service lm_sensors start
Loading sensors modules: 
w83781d-isa-0290: Can't access procfs/sysfs file for writing;
Run as root?
Starting sensord:                                               [  OK  ]

I _was_ root. And initscripts are run as root ?

Perhaps this is a more generic problem with sysfs :(.

TIA

Signature · 4 lines
J.A. Magallon <jamagallon()able!es>     \                 Software is like sex:
werewolf!able!es                         \           It's better when it's free
Mandrake Linux release 10.0 (RC1) for i586
Linux 2.6.3-jam4 (gcc 3.4.0 (Mandrake Linux 10.0 3.4.0-0.2mdk))
#22 lore raw
Quoted 14 lines · J.A. Magallon
Quoted 8 lines · Andrew Morton

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

- Big knfsd update. Mainly for nfsv4

- DVB udpate

- Various fixes

As somebody also stated, there are problems with sensors:

Quoted 8 lines
werewolf:~# service lm_sensors start
Loading sensors modules: w83781d-isa-0290: Can't access procfs/sysfs file for writing;
Run as root?
Starting sensord:                                               [  OK  ]

I _was_ root. And initscripts are run as root ?

Perhaps this is a more generic problem with sysfs :(.

Oh, yes I have noticed the same: "sensors -s" complained about some writeing issue. As I son't know what it is good for, I didn't care. Backing out bk-i2c.patch, above command works again, and even before doing that comand my sensors all worked as they should.

Prakash

#23 lore raw
In reply to Andrew Morton
Quoted 6 lines · Andrew Morton

...
All 267 patches:
...
sleep_on-needs_lock_kernel.patch
sleep_on(): check for lock_kernel
...

FYI:

This gives the following on my computer:

<-- snip -->

Feb 27 22:47:37 r063144 kernel: lp0 off-line
Feb 27 22:47:37 r063144 kernel: Badness in interruptible_sleep_on_timeout at kernel/sched.c:2271
Feb 27 22:47:37 r063144 kernel: Call Trace:
Feb 27 22:47:37 r063144 kernel:  [interruptible_sleep_on_timeout+271/288] interruptible_sleep_on_timeout+0x10f/0x120
Feb 27 22:47:37 r063144 kernel:  [default_wake_function+0/16] default_wake_function+0x0/0x10
Feb 27 22:47:37 r063144 kernel:  [parport_release+160/341] parport_release+0xa0/0x155
Feb 27 22:47:37 r063144 kernel:  [printk+285/368] printk+0x11d/0x170
Feb 27 22:47:37 r063144 kernel:  [lp_error+61/176] lp_error+0x3d/0xb0
Feb 27 22:47:37 r063144 kernel:  [lp_check_status+134/208] lp_check_status+0x86/0xd0
Feb 27 22:47:37 r063144 kernel:  [lp_wait_ready+71/128] lp_wait_ready+0x47/0x80
Feb 27 22:47:37 r063144 kernel:  [lp_write+292/912] lp_write+0x124/0x390
Feb 27 22:47:37 r063144 kernel:  [vfs_write+176/256] vfs_write+0xb0/0x100
Feb 27 22:47:37 r063144 kernel:  [sys_write+56/96] sys_write+0x38/0x60
Feb 27 22:47:37 r063144 kernel:  [syscall_call+7/11] syscall_call+0x7/0xb
Feb 27 22:47:37 r063144 kernel: 
Feb 27 22:47:47 r063144 kernel: Badness in interruptible_sleep_on_timeout at kernel/sched.c:2271

<-- snip -->

cu
Adrian

Signature · 4 lines
       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed
#24 lore raw

MM VM patches was: 2.6.3-mm4

In reply to Andrew Morton
Quoted 5 lines · Andrew Morton

shrink_slab-for-all-zones.patch
vm: scan slab in response to highmem scanning

zone-balancing-fix.patch
vmscan: zone balancing fix

On 2.6.3 + [1] + nfsd-lofft.patch running on a 1GB ram file server. I have noticed two related issues.

First, under 2.6.3 it averages about 90MB[2] anon memory, and 30MB with the -mm4 vm (the rest is in swap cache). This could balance out on the normal non-idle week-day load though...

Second the -mm4 vm, there is a lot more swapping[3] going on during the daily updatedb, and backup runs that are performed on this machine. I'd have to call this second issue a regression, but I want to run it a couple more days to see if it gets any better (unless you agree of course).

Mike

[1]
instrument-highmem-page-reclaim.patch
blk_congestion_wait-return-remaining.patch
vmscan-remove-priority.patch
kswapd-throttling-fixes.patch
vm-dont-rotate-active-list.patch
vm-lru-info.patch
vm-shrink-zone.patch
vm-tune-throttle.patch
shrink_slab-for-all-zones.patch
zone-balancing-fix.patch
zone-balancing-batching.patch

[2]
http://www.matchmail.com/stats/lrrd/matchmail.com/fileserver.matchmail.com-memory.html

[3]
http://www.matchmail.com/stats/lrrd/matchmail.com/fileserver.matchmail.com-swap.html

#25 lore raw

Re: MM VM patches was: 2.6.3-mm4

Quoted 9 lines · Mike Fedyk
Quoted 5 lines · Andrew Morton

shrink_slab-for-all-zones.patch
vm: scan slab in response to highmem scanning

zone-balancing-fix.patch
vmscan: zone balancing fix

Quoted 7 lines

On 2.6.3 + [1] + nfsd-lofft.patch running on a 1GB ram file server. I have noticed two related issues.

First, under 2.6.3 it averages about 90MB[2] anon memory, and 30MB with the -mm4 vm (the rest is in swap cache). This could balance out on the normal non-idle week-day load though...

Second the -mm4 vm, there is a lot more swapping[3] going on during the daily updatedb, and backup runs that are performed on this machine. I'd have to call this second issue a regression, but I want to run it a couple more days to see if it gets any better (unless you agree of course).

There are a few things backed out now in 2.6.4-rc1-mm1, and quite a few other changes. I hope we can trouble you to test 2.6.4-rc1-mm1?

Tell me, do you have highmem enabled on this system? If so, swapping might be explained by the batching patch. With it, a small highmem zone could possibly place quite a lot more pressure on a large ZONE_NORMAL.

2.6.4-rc1-mm1 sould do much better here.

#26 lore raw

Re: MM VM patches was: 2.6.3-mm4

Quoted 16 lines · Nick Piggin
Quoted 12 lines · Mike Fedyk
Quoted 5 lines · Andrew Morton

shrink_slab-for-all-zones.patch
vm: scan slab in response to highmem scanning

zone-balancing-fix.patch
vmscan: zone balancing fix

On 2.6.3 + [1] + nfsd-lofft.patch running on a 1GB ram file server. I have noticed two related issues.

Quoted 8 lines
Quoted 5 lines

First, under 2.6.3 it averages about 90MB[2] anon memory, and 30MB with the -mm4 vm (the rest is in swap cache). This could balance out on the normal non-idle week-day load though...

Second the -mm4 vm, there is a lot more swapping[3] going on during the daily updatedb, and backup runs that are performed on this machine. I'd have to call this second issue a regression, but I want to run it a couple more days to see if it gets any better (unless you agree of course).

There are a few things backed out now in 2.6.4-rc1-mm1, and quite a few other changes. I hope we can trouble you to test 2.6.4-rc1-mm1?

Yes, I saw that, but since I wasn't using the new code, I chose to keep it in the "-mm4" thread. :-D

I'll backport it to 2.6.3 if it doesn't patch with "-F3"...

Quoted 1 line

Tell me, do you have highmem enabled on this system? If so, swapping

Yes, to get that extra 128MB ram. :)

Quoted 5 lines

might be explained by the batching patch. With it, a small highmem zone could possibly place quite a lot more pressure on a large ZONE_NORMAL.

2.6.4-rc1-mm1 sould do much better here.

OK, I'll give that one a shot Monday or Tuesday night.

So, I'll merge up 2.6.3 + "vm of rc1-mm1" and tell you guys what I see.

Are the graphs helpful at all?

Mike

#27 lore raw

Re: MM VM patches was: 2.6.3-mm4

Quoted 4 lines · Mike Fedyk
Quoted 2 lines · Nick Piggin
Quoted 8 lines
Quoted 2 lines

There are a few things backed out now in 2.6.4-rc1-mm1, and quite a few other changes. I hope we can trouble you to test 2.6.4-rc1-mm1?

Yes, I saw that, but since I wasn't using the new code, I chose to keep it in the "-mm4" thread. :-D

I'll backport it to 2.6.3 if it doesn't patch with "-F3"...

Actually, see my other post. It is possible you'll have the same problem.

Quoted 5 lines
Quoted 1 line

Tell me, do you have highmem enabled on this system? If so, swapping

Yes, to get that extra 128MB ram. :)

Yeah thats fine. I think this would be the right thing to do, especially for a file server. It is something that should work.

Quoted 11 lines
Quoted 5 lines

might be explained by the batching patch. With it, a small highmem zone could possibly place quite a lot more pressure on a large ZONE_NORMAL.

2.6.4-rc1-mm1 sould do much better here.

OK, I'll give that one a shot Monday or Tuesday night.

So, I'll merge up 2.6.3 + "vm of rc1-mm1" and tell you guys what I see.

I'm not so hopeful for you anymore :P

Quoted 2 lines

Are the graphs helpful at all?

My eyes! The goggles, they do nothing!

They have a lot of good info but I'm a bit hard pressed working out what kernel is running where, and it's a bit hard working out all the shades of blue on my crappy little monitor.

But if they were easier to read I reckon they'd be useful ;)

#28 lore raw

Re: MM VM patches was: 2.6.3-mm4

Quoted 7 lines · Nick Piggin
Quoted 2 lines · Mike Fedyk

So, I'll merge up 2.6.3 + "vm of rc1-mm1" and tell you guys what I see.

I'm not so hopeful for you anymore :P

These patches apply with only a few offsets if you apply them like in the series file, so there's not much work for either of us in applying these patches (unless I need to test without a dependent patch or something obvious like that...)

Quoted 7 lines
Quoted 3 lines

Are the graphs helpful at all?

My eyes! The goggles, they do nothing!

Heh.

Quoted 2 lines

They have a lot of good info but I'm a bit hard pressed working out what kernel is running where

Suffice it to say, 2.6.3 is the begining of week9, and 2.6.3-lofft-mm4vm is the end of week9. The graphs weren't meant to keep secondary information like kernel version...

Quoted 2 lines

and it's a bit hard working out
all the shades of blue on my crappy little monitor.

Yeah, I see what you mean. The code in the lrrd/munin project controls what colors come in what order, but I can control what order the info is output in...

Quoted 1 line

But if they were easier to read I reckon they'd be useful ;)

I'd like for that to be true especially since I rewrote the memory plugin for munin to graph as much as was exported to userspace from the Linux kernel...

Did I miss anything? ;)

#29 lore raw

Re: MM VM patches was: 2.6.3-mm4

In reply to Nick Piggin
Quoted 10 lines · Nick Piggin

There are a few things backed out now in 2.6.4-rc1-mm1, and quite a few other changes. I hope we can trouble you to test 2.6.4-rc1-mm1?

Tell me, do you have highmem enabled on this system? If so, swapping might be explained by the batching patch. With it, a small highmem zone could possibly place quite a lot more pressure on a large ZONE_NORMAL.

2.6.4-rc1-mm1 sould do much better here.

Gah no. It would have the same problem actually, if that is indeed what is happening.

It will take a bit more work to solve this in rc1-mm1. You would probably want to explicitly use incremental min limits for kswapd.

(background info in kswapd-avoid-higher-zones.patch)

#30 lore raw

PATCH 1/1 2.6.4-rc1-mm1: vm-kswapd-incremental-min (was Re: MM VM patches was: 2.6.3-mm4)

Quoted 17 lines · Nick Piggin
Quoted 10 lines · Nick Piggin

There are a few things backed out now in 2.6.4-rc1-mm1, and quite a few other changes. I hope we can trouble you to test 2.6.4-rc1-mm1?

Tell me, do you have highmem enabled on this system? If so, swapping might be explained by the batching patch. With it, a small highmem zone could possibly place quite a lot more pressure on a large ZONE_NORMAL.

2.6.4-rc1-mm1 sould do much better here.

Quoted 9 lines

Gah no. It would have the same problem actually, if that is indeed what is happening.

It will take a bit more work to solve this in rc1-mm1. You would probably want to explicitly use incremental min limits for kswapd.

(background info in kswapd-avoid-higher-zones.patch)

Mike, it would be interesting if you could try out the 2.6.4-rc1-mm1 VM patches before and after this little beauty.

Andrew, I think you had kswapd scanning in the direction opposite the one indicated by your comments. Or maybe I've just confused myself?

 linux-2.6-npiggin/mm/vmscan.c |   36 ++++++++++++++++++++++++------------
 1 files changed, 24 insertions(+), 12 deletions(-)
mm/vmscan.c renamed from mm/vmscan.c~vm-kswapd-incremental-min +24 -12
diff -puN mm/vmscan.c~vm-kswapd-incremental-min mm/vmscan.c
@@ -889,6 +889,8 @@ out:
 	return ret;
 }
 
+extern int sysctl_lower_zone_protection;
+
 /*
  * For kswapd, balance_pgdat() will work across all this node's zones until
  * they are all at pages_high.
@@ -907,12 +909,9 @@ out:
  * dead and from now on, only perform a short scan.  Basically we're polling
  * the zone for when the problem goes away.
  *
- * kswapd scans the zones in the highmem->normal->dma direction.  It skips
- * zones which have free_pages > pages_high, but once a zone is found to have
- * free_pages <= pages_high, we scan that zone and the lower zones regardless
- * of the number of free pages in the lower zones.  This interoperates with
- * the page allocator fallback scheme to ensure that aging of pages is balanced
- * across the zones.
+ * balance_pgdat tries to coexist with the INFAMOUS "incremental min" by
+ * trying to free lower zones a bit harder if higher zones are low too.
+ * See mm/page_alloc.c
  */
 static int balance_pgdat(pg_data_t *pgdat, int nr_pages, struct page_state *ps)
 {
@@ -930,24 +929,37 @@ static int balance_pgdat(pg_data_t *pgda
 	}
 
 	for (priority = DEF_PRIORITY; priority; priority--) {
+		unsigned long min;
 		int all_zones_ok = 1;
 		int pages_scanned = 0;
+		min = 0; /* Shut up gcc */
 
-		for (i = pgdat->nr_zones - 1; i >= 0; i--) {
+		for (i = 0; i < pgdat->nr_zones; i++) {
 			struct zone *zone = pgdat->node_zones + i;
 			int total_scanned = 0;
 			int max_scan;
 			int reclaimed;
 
-			if (zone->all_unreclaimable && priority != DEF_PRIORITY)
-				continue;
-
 			if (nr_pages == 0) {	/* Not software suspend */
-				if (zone->free_pages <= zone->pages_high)
-					all_zones_ok = 0;
+				/* "incremental min" right here */
 				if (all_zones_ok)
+					min = zone->pages_high;
+				else
+					min += zone->pages_high;
+
+				if (zone->free_pages <= min)
+					all_zones_ok = 0;
+				else
 					continue;
+
+				min += zone->pages_high *
+						sysctl_lower_zone_protection;
 			}
+
+			/* Note: this is checked *after* min is incremented */
+			if (zone->all_unreclaimable && priority != DEF_PRIORITY)
+				continue;
+
 			zone->temp_priority = priority;
 			max_scan = zone->nr_inactive >> priority;
 			reclaimed = shrink_zone(zone, max_scan, GFP_KERNEL,

_

#31 lore raw

Re: [PATCH] 2.6.4-rc1-mm1: vm-kswapd-incremental-min (was Re: MM VM patches was: 2.6.3-mm4)

Quoted 4 lines · Nick Piggin

Andrew, I think you had kswapd scanning in the direction opposite the
one indicated by your comments. Or maybe I've just confused myself?

Nope, the node_zones[] array is indexed by

#define ZONE_DMA 0
#define ZONE_NORMAL 1
#define ZONE_HIGHMEM 2

Whereas the zonelist.zones[] array goes the other way:
[[[highmem,]normal,]dma,]NULL.

It's a complete dog's breakfast that stuff. Hard to understand, not very logical and insufficiently commented.

#32 lore raw

Re: [PATCH] 2.6.4-rc1-mm1: vm-kswapd-incremental-min (was Re: MM VM patches was: 2.6.3-mm4)

Quoted 10 lines · Andrew Morton
Quoted 4 lines · Nick Piggin

Andrew, I think you had kswapd scanning in the direction opposite the one indicated by your comments. Or maybe I've just confused myself?

Nope, the node_zones[] array is indexed by

OK. Mike, could you try this patch instead after testing rc1-mm1. Thanks.

 linux-2.6-npiggin/mm/vmscan.c |   34 +++++++++++++++++++++++-----------
 1 files changed, 23 insertions(+), 11 deletions(-)
mm/vmscan.c renamed from mm/vmscan.c~vm-kswapd-incremental-min +23 -11
diff -puN mm/vmscan.c~vm-kswapd-incremental-min mm/vmscan.c
@@ -889,6 +889,8 @@ out:
 	return ret;
 }
 
+extern int sysctl_lower_zone_protection;
+
 /*
  * For kswapd, balance_pgdat() will work across all this node's zones until
  * they are all at pages_high.
@@ -907,12 +909,9 @@ out:
  * dead and from now on, only perform a short scan.  Basically we're polling
  * the zone for when the problem goes away.
  *
- * kswapd scans the zones in the highmem->normal->dma direction.  It skips
- * zones which have free_pages > pages_high, but once a zone is found to have
- * free_pages <= pages_high, we scan that zone and the lower zones regardless
- * of the number of free pages in the lower zones.  This interoperates with
- * the page allocator fallback scheme to ensure that aging of pages is balanced
- * across the zones.
+ * balance_pgdat tries to coexist with the INFAMOUS "incremental min" by
+ * trying to free lower zones a bit harder if higher zones are low too.
+ * See mm/page_alloc.c
  */
 static int balance_pgdat(pg_data_t *pgdat, int nr_pages, struct page_state *ps)
 {
@@ -930,8 +929,10 @@ static int balance_pgdat(pg_data_t *pgda
 	}
 
 	for (priority = DEF_PRIORITY; priority; priority--) {
+		unsigned long min;
 		int all_zones_ok = 1;
 		int pages_scanned = 0;
+		min = 0; /* Shut up gcc */
 
 		for (i = pgdat->nr_zones - 1; i >= 0; i--) {
 			struct zone *zone = pgdat->node_zones + i;
@@ -939,15 +940,26 @@ static int balance_pgdat(pg_data_t *pgda
 			int max_scan;
 			int reclaimed;
 
-			if (zone->all_unreclaimable && priority != DEF_PRIORITY)
-				continue;
-
 			if (nr_pages == 0) {	/* Not software suspend */
-				if (zone->free_pages <= zone->pages_high)
-					all_zones_ok = 0;
+				/* "incremental min" right here */
 				if (all_zones_ok)
+					min = zone->pages_high;
+				else
+					min += zone->pages_high;
+
+				if (zone->free_pages <= min)
+					all_zones_ok = 0;
+				else
 					continue;
+
+				min += zone->pages_high *
+						sysctl_lower_zone_protection;
 			}
+
+			/* Note: this is checked *after* min is incremented */
+			if (zone->all_unreclaimable && priority != DEF_PRIORITY)
+				continue;
+
 			zone->temp_priority = priority;
 			max_scan = zone->nr_inactive >> priority;
 			reclaimed = shrink_zone(zone, max_scan, GFP_KERNEL,

_