Andrew Morton [Fri, 1 Aug 2003 02:54:45 +0000 (19:54 -0700)]
[PATCH] buffer.c debugging
We get a bug report about once per month wherein find_get_block_slow() spits
an error message. For some reason we have buffers against a blockdev page
which have the incorrect b_size.
Probably, an earlier set_blcoksize() failed to invalidate all the apges for
some reason. I just don't know.
The patch adds a bit of extra debug info to aid in diagnosing this.
Andrew Morton [Fri, 1 Aug 2003 02:54:26 +0000 (19:54 -0700)]
[PATCH] re-slabify i386 pgd's and pmd's
From: William Lee Irwin III <wli@holomorphy.com>
The original pgd/pmd slabification patches had a critical bug on
non-PAE where both modifications of pgd entries to remove pagetables
attached for non-PSE mappings back to a PSE state and modifications of
pgd entries to attach pagetables to bring PSE mappings into a non-PSE
state were not propagated to cached pgd's. PAE was immune to it owing
to the shared kernel pmd.
The following patch vs. 2.5.69 restores the slabification done to cache
preconstructed pagetables with the proper propagation of conversions
to and from PSE mappings to cached pgd's for the non-PAE case.
This is an optimization to reduce the bitblitting overhead for spawning
small tasks (for larger ones, bottom-level pagetable copies dominate)
primarily on non-PAE; the PAE code change is largely to remove #ifdefs
and to treat the two cases uniformly, though some positive but small
performance improvement has been observed for PAE in one of mbligh's
posts. The non-PAE performance improvement has been observed on a box
running a script-heavy end-user workload as a large long-term profile
hit count reduction for pgd_alloc() and relatives thereof.
I would very much appreciate outside testers. Even though I've been
able to verify this boots and runs properly and survives several cycles
of restarting X on my non-PAE Thinkpad T21, that environment has never
been able to reproduce the bug. Those with the proper graphics hardware
to prod the affected codepaths into action are the ones best suited to
verify proper functionality. There is also some locking introduced; if
some performance verification on non-PAE SMP i386 targets (my SMP
targets unfortunately all require PAE due to arch code dependencies)
that also have the proper hardware could be done, that would help
determine whether alternative locking schemes that competed against
the one shown here are preferable (in particular, the ticket-based
scheme mentioned in the comments).
Only bug fixes and making it compile again and a few minor features.
Also one security fix that got lost earlier
- Document boot options
- Better cpu local data
- Emulate FIOQSIZE
- Fix return value of 32bit ipccall
- Various minor style fixes
- Save some memory in apic tables
- Merge with 2.6.0test2/i386
- Readd ioport fix
- Sort exception tables at boot time
- Add local.h
- Fix for_each_cpu on UP
- Add utimes and tgkill system calls for 64bit
- Update defconfig
Michael Hunold [Thu, 31 Jul 2003 15:07:45 +0000 (08:07 -0700)]
[PATCH] Kconfig and Makefile updates
[V4L] - make sure saa7146 module gets build for Hexium drivers
[V4L] - make Hexium drivers depend on the i2c layer
[DVB] - fix typo which prevented the mt312 driver from being build (obi <=> obj)
Yoshinori Sato [Thu, 31 Jul 2003 15:07:24 +0000 (08:07 -0700)]
[PATCH] h8300: arch update
H8S architecture support
signal handling problem fix
gcc-3.3 support
vfork/clone return value fix
added show_stack
build error and warning fix
blkdev location cleanup
This fixes the behavior of blk_start_queue() so that request queues
really do start up again after blk_start_queue() is called (on queues
that were previously stopped via blk_stop_queue).
Dave Kleikamp [Thu, 31 Jul 2003 05:44:07 +0000 (00:44 -0500)]
JFS: write_super_lockfs should mark superblock clean
LVM and EVMS snapshots of JFS filesystems were not mountable because
write_super_lockfs was not marking the volume as clean. The volume was
otherwise in a consistent state.
[WATCHDOG] Cleanup of Kconfig file for the watchdog drivers.
Cleanup of Kconfig file for the watchdog drivers.
This clean-up exists of:
* change the general comment so that it mentions watchdog device and not character device
* correct some module-names
* remove double-entry for W83877F_WDT
* change Documentation/modules.txt to <file:Documentation/modules.txt> for consistency
Change Kconfig info about I810_TCO so that it is clear that this watchdog works for the i8xx series of chipsets and not only the i810 and i815 chipsets.