- 13 Oct, 2002 40 commits
-
-
Andrew Morton authored
From Ed Tomlinson, then mauled by yours truly. The current shrinking of the dentry, inode and dquot caches seems to work OK, but it is slightly CPU-inefficient: we call the shrinking functions many times, for tiny numbers of objects. So here, we just batch that up - shrinking happens at the same rate but we perform it in larger units of work. To do this, we need a way of knowing how many objects are currently in use by individual caches. slab does not actually track this information, but the existing shrinkable caches do have this on hand. So rather than adding the counters to slab, we require that the shrinker callback functions keep their own count - we query that via the callback. We add a simple registration API which is exported to modules. A subsystem may register its own callback function via set_shrinker(). set_shrinker() simply takes a function pointer. The function is called with int (*shrinker)(int nr_to_shrink, unsigned int gfp_mask); The shrinker callback must scan `nr_to_scan' objects and free all freeable scanned objects. Note: it doesn't have to *free* `nr_to_scan' objects. It need only scan that many. Which is a fairly pedantic detail, really. The shrinker callback must return the number of objects which are in its cache at the end of the scanning attempt. It will be called with nr_to_scan == 0 when we're just querying the cache size. The set_shrinker() registration API is passed a hint as to how many disk seeks a single cache object is worth. Everything uses "2" at present. I saw no need to add the traditional `here is my void *data' to the registration/callback. Because there is a one-to-one relationship between caches and their shrinkers. Various cleanups became possible: - shrink_icache_memory() is no longer exported to modules. - shrink_icache_memory() is now static to fs/inode.c - prune_icache() is now static to fs/inode.c, and made inline (single caller) - shrink_dcache_memory() is made static to fs/dcache.c - prune_dcache() is no longer exported to modules - prune_dcache() is made static to fs/dcache.c - shrink_dqcache_memory() is made static to fs/dquot.c - All the quota init code has been moved from fs/dcache.c into fs/dquot.c - All modifications to inodes_stat.nr_inodes are now inside inode_lock - the dispose_list one was racy.
-
-
Russell King authored
Keep the partition information around for the lifetime of the module.
-
Russell King authored
This updates AFS mtd partition parsing to the current CVS version: - Don't recognise the AFS SIB as a partition - Ensure initialisation of afs mtdpart structures.
-
Russell King authored
-
Russell King authored
-
Russell King authored
-
Russell King authored
We removed asm/mach-types.h from asm/hardware.h. This means we must now include asm/mach-types.h where its used. We also fix h3600 pcmcia initialisation/cleanup.
-
Russell King authored
-
Russell King authored
Traditionally, the Assabet reverses its mapping of UART1 and UART3 when the Neponset board is connected. This can be (a) confusing and (b) annoying when the boot loader uses UART1. We therefore have a fixed mapping between the ttySA names and the physical UARTs on this platform.
-
Russell King authored
The patches convert drivers/pcmcia to use C99 named initializers, and all the patches are against 2.5.42. There are 25 patches in total, and the "cat"ing them together they're more that 20K, so I'm sending the patches as a compressed attachment. The patches were CC'd to Linus in the first mail that bounced.
-
Russell King authored
Here's a small set of patches that switch the code to use C99 desiginated initializers. Patches are against 2.5.42.
-
Russell King authored
-
Russell King authored
Prevent the assembler putting constant pools in the middle of code. Clean up shark ISA PIC handling.
-
Russell King authored
This cset removes the global irq handling in the AcornSCSI driver, and makes the target type for bitops an unsigned long array rather than an unsigned char array.
-
Russell King authored
-
Russell King authored
Remove unnecessary use of __inline__, and remove a few unnecessary prototypes. copy_buffer is moved before use.
-
Russell King authored
This removes a compilation warning and makes the code smaller. It is also more obvious what's going on.
-
Russell King authored
The USB gadget code now lives in arch/arm/mach-sa1100/usb, and isn't in a mergable state. We remove the old makefile entries which are never going to be satisfied, and leave a placeholder for the usb directory.
-
Russell King authored
dump_stack() got used by the generic code. Call our version __dump_stack since we're running out of other descriptive names. Allow show_trace_task to show the backtrace for the current thread.
-
Russell King authored
Add rudimentary support for Thumb ptracing; we aren't able to single step through thumb branches yet, but this change provides enough infrastructure to make this possible.
-
Russell King authored
This cset updates (as much as is possible) the NCR5380-based Acorn SCSI drivers, mainly converting them to the new error handling code. However, they still don't build due to errors in NCR5380.
-
Russell King authored
Vojtech has patches that bring their counterparts in the input subsystem up to date (and into a working state) so these drivers are no longer required. This cset also fixes the Acorn i2c RTC code.
-
Russell King authored
This cset combines the Atomwide and The Serial Port 16550 driver modules into one "8250_acorn.c" driver. This new module takes full advantage of the LDM-based expansion card facilities.
-
Russell King authored
This cset implements validity checks on the ethernet MAC address when the device is opened, and refuses to open the device if this check fails. We also provide the set_mac_address method to allow ifconfig to change the mac address to something valid. In addition, the driver is converted from the old expansion card discovery methods to the new device model driver framework.
-
Russell King authored
Provide LDM-based driver registration/removal interface for drivers to use. We make the old device discovery code ignore devices claimed via the LDM framework. However, the LDM framework ignores devices that may be in use by the old device discovery code. This is fine since the only devices that will still use the old discovery code will be SCSI drivers. Currently, we don't provide a useful dev.name entry.
-
Russell King authored
This updates the Integrator cpufreq code to use the new interfaces, and makes the sa1100 cpufreq round up the requested frequency.
-
Russell King authored
The second serial port is never present in these machines, so its pointless listing it in the first place.
-
Russell King authored
-
Russell King authored
- ide_register_hw takes two arguments, not one. - ide_fix_driveid is no longer used.
-
Russell King authored
This adds ARM support for in_atomic() and asm/numnodes.h
-
Russell King authored
This updates these neponset and sa1111 support to use the new system device infrastructure in the Linux device model.
-
Russell King authored
Sanitise includes of asm/tlbflush.h, asm/cacheflush.h, asm/proc-fns.h Implement ARM-specific TLB "shootdown" code. It turns out that it is overall more efficient to unconditionally invalidate the whole TLB rather than entry by entry when removing areas.
-
Russell King authored
This cset fixes the RiscPC decompressor code for the PIC changes. We use a pointer to a structure rather than a structure to access params. With a PIC decompressor, the address of the structure gets PIC-ified which is not what we want.
-
Russell King authored
-
Russell King authored
Update pcibios_enable_device to only enable requested resources, mainly for IDE. Supply a pci_mmap_page_range() function to allow user space to mmap PCI regions.
-
Russell King authored
This updates the ARM time keeping functions to use tick_nsec/1000 instead of tick.
-
Russell King authored
To keep the Config.in files relatively clean, we use the following construct: if [ "$CONFIG_ARM" = "y" ]; then dep_tristate 'Foo' CONFIG_FOO $CONFIG_BAR fi where CONFIG_BAR is some machine implementation or high-level chip support configuration option. If CONFIG_BAR is left empty, then the tristate is offered to the user, which isn't what we want. Defining CONFIG_BAR to 'n' prevents the option being offered. This is a rule I generally try to implement within arch/arm/config.in. This cset makes CONFIG_SA1111 and CONFIG_ARM_THUMB behave that way.
-
Russell King authored
Since the decompressor supports PIC, even for CONFIG_ZBOOT_ROM, we can easily allow an image which has been linked to run at a particular address in ROM to be moved to RAM. We just need to make sure that we don't relocate the GOT entries for the BSS segment. This cset also implements sa1100-based debugging for the decompressor.
-
Russell King authored
These two variables are used by more than just the linker; they're also used by head.S to know where it can safely place the page tables. We therefore need to export it from the Makefile. These are also highly machine dependent; we don't want to duplicate the same set of conditionals for cpp and for the makefiles. arch/arm/Makefile also contained a stray close-paren. I'm submitting this one to the lost property office. We also always pass -mno-fpu to the assember; this guarantees that any floating point will be caught.
-