Marcel Holtmann [Sun, 6 Oct 2002 12:35:03 +0000 (05:35 -0700)]
[PATCH] Bluetooth kbuild fix and config cleanup
This removes the obsolete O_TARGET and cleans up the Config.* and *.c
files to have a unique CONFIG_BLUEZ prefix. Additional two missing help
entries are added.
This patch supports new driver nsp32 - NinjaSCSI-32Bi/UDE PCI/Cardbus
SCSI adapter for 2.5.40. This driver supports at least (we tested) 7
different PCI/Cardbus SCSI cards which use Workbit NinjaSCSI-32 SCSI
processor.
This is the driver part, next one is for things like Config.help,
Makefile, and so on.
Alan Cox [Sun, 6 Oct 2002 08:57:42 +0000 (01:57 -0700)]
[PATCH] add the mini 4x6 font from uclinux
This stands alone from UCLinux and is independent of whether it ever
merges with the mainstream. Its rather handy for getting an entire oops
onto a PDA screen
Alan Cox [Sun, 6 Oct 2002 08:57:20 +0000 (01:57 -0700)]
[PATCH] NCR5380 port to 2.5 first pass
There is still more work to do, the driver sucks in 2.4 and 2.5 but 2.5 has a
lot more of what is needed to make it work nicely. Basically NCR5380_main
probably has to become a thread in the next generation of the code.
After reverting my nice but totally broken idea about accelerating
the linking steps, make the three-stage .tmp_kallsyms.o generation
/ addition work again.
Yeah, that means that we now link vmlinux three times when
CONFIG_KALLSYMS is set, and that's annoying.
The kallsyms patches added __kallsyms as last section into vmlinux,
behind .bss.
This was done to save two additional kallsyms passes, since as the
added section was last, it did not change the symbols before it.
With the new infrastructure in the top-level Makefile, we do not need
to do full relinks for these passes, so they are cheaper. We now
use one additional link/kallsyms run to be able to place the __kallsyms
section before .bss. The other pass is saved by adding an empty but
allocated __kallsyms section in kernel/kallsyms.c, so the first kallsyms
pass already generates a section of the final size.
kbuild: Generalize adding of additional sections to vmlinux
kallsyms needs to actually have a final vmlinux to extract the symbols,
and then add this information as a new section to the final vmlinux.
Currently, we basically just do the vmlinux link twice, adding
.tmp_kallsyms.o the second time. However, it's actually possible to just
link together the temporary vmlinux generated the first time and the
new object file directly without going back to all the single parts
that the temporary vmlinux was linked from.
This mechanism should be useful for sparc as well, where the btfix
mechanism needs an already linked vmlinux, too.
IMPORTANT: This does only work as desired if the link script can be
used recursively, i.e.
Jaroslav Kysela [Sat, 5 Oct 2002 11:40:53 +0000 (13:40 +0200)]
ALSA update
- CS46xx driver - removed unused variable
- USB code
- pass struct usb_interface pointer to the usb-midi parser.
in usb-midi functions, this instance is used instead of parsing
the interface from dev and ifnum.
- allocate the descriptor buffer only for parsing the audio device.
- clean up, new probe/disconnect callbacks for 2.4 API.
- added the support for Yamaha and Midiman devices.
Linus Torvalds [Sat, 5 Oct 2002 10:13:01 +0000 (03:13 -0700)]
Increase the delay in waiting for pcmcia drivers to register.
Reported by Peter Osterlund.
(Yeah, the real fix would be to make driver services not have to
know about low-level pcmcia core drivers beforehand, but that's not
life as we know it right now).
Russell King [Sun, 6 Oct 2002 01:02:22 +0000 (02:02 +0100)]
[SERIAL] Fix serial includes for modversions/modules.
This fixes the build error that occurs if you have a certain selection
of module/modversions settings.
Russell King [Sun, 6 Oct 2002 00:30:10 +0000 (01:30 +0100)]
[SERIAL] Allow PCMCIA serial cards to work again.
The PCMCIA layer claims the IO or memory regions for all cards. This
means that any port registered via 8250_cs must not cause the 8250
code to claim the resources itself.
We also add support for iomem-based ports at initialisation time for
PPC.
Andrew Morton [Sat, 5 Oct 2002 03:35:54 +0000 (20:35 -0700)]
[PATCH] stricter dirty memory clamping
The ratelimiting logic in balance_dirty_pages_ratelimited() is designed
to prevent excessive calls to the expensive get_page_state(): On a big
machine we only check to see if we're over dirty memory limits once per
1024 dirtyings per cpu.
This works OK normally, but it has the effect of allowing each process
to go 1024 pages over the dirty limit before it gets throttled.
So if someone runs 16000 tiobench threads, they can go 16G over the
dirty memory threshold and die the death of buffer_head consumption.
Because page dirtiness pins the page's buffer_heads, defeating the
special buffer_head reclaim logic.
I'd left this overshoot artifact in place because it provides a degree
of adaptivity - of someone if running hundreds of dirtying processes
(dbench!) then they do want to overshoot the dirty memory limit.
But it's hard to balance, and is really not worth the futzing around.
So change the logic to only perform the get_page_state() call rate
limiting if we're known to be under the dirty memory threshold.
Andrew Morton [Sat, 5 Oct 2002 03:35:48 +0000 (20:35 -0700)]
[PATCH] remove page->virtual
The patch removes page->virtual for all architectures which do not
define WANT_PAGE_VIRTUAL. Hash for it instead.
Possibly we could define WANT_PAGE_VIRTUAL for CONFIG_HIGHMEM4G, but it
seems unlikely.
A lot of the pressure went off kmap() and page_address() as a result of
the move to kmap_atomic(). That should be the preferred way to address
CPU load in the set_page_address() and page_address() hashing and
locking.
If kmap_atomic is not usable then the next best approach is for users
to cache the result of kmap() in a local rather than calling
page_address() repeatedly.
One heavy user of kmap() and page_address() is the ext2 directory code.
On a 7G Quad PIII, running four concurrent instances of
while true
do
find /usr/src/linux > /dev/null
done
on ext2 with everything cached, profiling shows that the new hashed
set_page_address() and page_address() implementations consume 0.4% and
1.3% of CPU time respectively. I think that's OK.