summaryrefslogtreecommitdiff
path: root/include/linux
AgeCommit message (Collapse)Author
2002-12-01[PATCH] fix wrong permissions for vfat directoriesAndries E. Brouwer
This fixes the umask/fmask/dmask confusion in vfat.
2002-12-01Merge redhat.com:/home/jgarzik/repo/linus-2.5Jeff Garzik
into redhat.com:/home/jgarzik/repo/misc-2.5
2002-12-01[PATCH] clean up sis PCI quirkAlan Cox
2002-12-01[PATCH] add new ac97 codec fields as per 2.4Alan Cox
2002-12-01[PATCH] module names fixRusty Russell
By Kai Germaschewski: "Well, I have another solution, which doesn't need additional Makefile magic or anything. I just put the module name into each .o file where <linux/module.h> is included. Putting it into the section .gnu.linkonce.modname has the effect that even for multi-part modules, we only end up with one copy of the name. Caveat: I'm using the preprocessor macro KBUILD_MODNAME to know what to put into .gnu.linkonce.modname. The following used to happen: (drivers/isdn/eicon/Makefile) divas-objs := common.o Divas_mod.o ... eicon-objs := common.o eicon_mod.o ... Divas_mod.o is compiled with -DKBUILD_MODNAME=divas eicon_mod.o is compiled with -DKBUILD_MODNAME=eicon common.o is compiled with -DKBUILD_MODNAME=divas_eicon So in the case above, both divas.o and eicon.o would end up with a .gnu.linkonce.modname section containing "divas_eicon" My fix to this is to not define KBUILD_MODNAME when compiling an object whilch will be linked into more than one module - so common.o gets no .gnu.linkonce.modname section at all. Works fine here. Now, doing this I remove one of the reasons why we would need modules linked as '.ko' ;), but it seems much cleaner than generating a temporary file, using objcopy etc."
2002-12-01[PATCH] v850 supportRusty Russell
On the v850, the elf toolchain uses a `_' prefix for all user symbols (I'm not sure why, since most toolchains seem to have dropped this sort of thing). The attached patch adds the ability to deal with this, if the macro MODULE_SYMBOL_PREFIX is defined by <asm/module.h>. This only affects places where symbol names come from the user, e.g., EXPORT_SYMBOL, or the explicit symbol-names used in kernel/module.c itself. [Tweaked a little by Rusty, original by Miles Bader]
2002-12-01[PATCH] Table fix for module-init-toolsRusty Russell
This patch allows the new depmod to generate the USB & PCI hotplug tables. Greg Banks and I are (slowly) working on a better solution, but allows the old-style "modules.pcimap" etc. to be generated in the short term. This patch adds a "__mod_XXX_table" symbol which is an alias to the module table, rather than a pointer. This makes it relatively trivial to extract the table. Previously, it required a pointer dereference, which means the relocations must be applied, which is why the old depmod needs so much of modutils (ie. it basically links the whole module in order to find the table). The old depmod can still be invoked using "-F System.map" to generate the tables (there'll be lots of other warnings, and it will generate a completely bogus modules.dep, but the tables should be OK.)
2002-12-01Merge ssh://mulgrave-w/BK/scsi-misc-2.5James Bottomley
into raven.il.steeleye.com:/home/jejb/BK/scsi-for-linus-2.5
2002-12-01[SERIAL] uart_get_divisor() and uart_get_baud_rate() takes termios.Russell King
Currently, uart_get_divisor() and uart_get_baud_rate() take a tty structure. We really want them to take a termios structure so we can avoid passing a tty structure all the way down to the low level drivers. In order to do this, we need to be able to convert a termios structure to a numeric baud rate - we provide tty_termios_baud_rate() in tty_io.c for this purpose. It performs a subset of the tty_get_baud_rate() functionality, but without any "alt_speed" kludge. We finally export uart_get_baud_rate() and uart_get_divisor() to for low level drivers to use. We now have all the functions in place to support ports which want to have access to the real baud rate rather than a divisor value.
2002-12-01[SERIAL] Move custom_divisor from uart_state to uart_port.Russell King
This is another step towards moving the divisor calculations into the low level drivers, thereby allowing the faster baud rates mentioned in the previous cset. Moving this field to uart_port means that the low level drivers do not have to know about the uart_state structure.
2002-12-01[SERIAL] Pass "iomap" base from probe modulesRussell King
Patch from Randolph Chung, slightly modified by rmk. When displaying the details of memory mapped serial ports, we want to show some sane base value. The cookie returned from ioremap can be meaningless to users (and developers), especially when the cookie could be a dynamically allocated virtual address. The more useful cookie is the value passed into ioremap. We already have support for handling this cookie internally - we haven't allowed the PCI probe module to hand it to the higher levels until now.
2002-11-30Add to linux/pci.h PCI-X, CompactPCI, and PCI Vital Product Data register ↵Matthew Wilcox
defines
2002-11-29[PATCH] fix sd device number handlingChristoph Hellwig
This is the final patch to make sd work properly in a hotplug enviroment. Add a bitmap for currently used disks so that we can properly reuse dev_t when a disk is hot-unplugged. While at that add support for the eight additional majors allocated to sd in the latest devices.txt [1]. If only register_blkdev finally died we could nuke almost all knowledge of majors/minors from sd... [1] http://www.lanana.org/docs/device-list/devices.txt
2002-11-26Merge kroah.com:/home/linux/linux/BK/bleeding-2.5Greg Kroah-Hartman
into kroah.com:/home/linux/linux/BK/gregkh-2.5
2002-11-26[PATCH] Add id for v850 `nb85e_uart' to serial_core.hMiles Bader
Add id for v850 `nb85e_uart' to serial_core.h
2002-11-25Merge kroah.com:/home/greg/linux/BK/bleeding_edge-2.5Greg Kroah-Hartman
into kroah.com:/home/greg/linux/BK/lsm-2.5
2002-11-25[PATCH] realtime swapspace accountingAndrew Morton
There are a couple of statistical functions which scan the entire swap map counting things up, to display in /proc. On my machine, these hold spinlocks for 19 milliseconds which is unacceptable from a scheduling latency point of view. And an application which sits in a loop reading /proc/swaps on a large machine is probably a decent denial-of-service attack - it will limit swap allocations to tens of pages per second. So add a counter to swap_info_struct and use it to track how many pages are currently in use, so those reporting functions don't need to add them all up.
2002-11-25[PATCH] shrink task_struct by removing per_cpu utime and stimeAndrew Morton
Patch from Bill Irwin. It has the potential to break userspace monitoring tools a little bit, and I'm a rater uncertain about how useful the per-process per-cpu accounting is. Bill sent this out as an RFC on July 29: "These statistics severely bloat the task_struct and nothing in userspace can rely on them as they're conditional on CONFIG_SMP. If anyone is using them (or just wants them around), please speak up." And nobody spoke up. If we apply this, the contents of /proc/783/cpu will go from cpu 1 1 cpu0 0 0 cpu1 0 0 cpu2 1 1 cpu3 0 0 to cpu 1 1 And we shall save 256 bytes from the ia32 task_struct. On my SMP build with NR_CPUS=32: Without this patch, sizeof(task_struct) is 1824, slab uses a 1-order allocation and we are getting 2 task_structs per page. With this patch, sizeof(task_struct) is 1568, slab uses a 2-order allocation and we are getting 2.5 task_structs per page. So it seems worthwhile. (Maybe this highlights a shortcoming in slab. For the 1824-byte case it could have used a 0-order allocation)
2002-11-25[PATCH] kernel_stat cleanupAndrew Morton
Patch from Dipankar Sarma <dipankar@gamebox.net> This is a trivial cleanup removing two old unused macros from kernel_stat.h that made no sense with the new per-CPU kstat. Also included a few finicky coding style changes. Please apply.
2002-11-25[PATCH] Allow for profile_buf size = kernel text sizeAndrew Morton
Patch from Ravikiran G Thirumalai <kiran@in.ibm.com> Allows the kernel profiler to use a shift value of zero for high-resolution profiling. So instead of overloading a shift of zero to mean "not profiling", use a separate flag for that. This means that anyone who is currently using "profile=0" to disable profiling has accidentally turned profiling on, so I added a printk.
2002-11-25[PATCH] misc fixesAndrew Morton
- Missing parentheses around macro arg in __pte_offest() - struct page_state needs to be cacheline aligned (the first seven fields should be in the same cacheline)
2002-11-25[PATCH] fix build with IDE disabledAnton Blanchard
More fall-out from the -ac merge.
2002-11-25LSM: Move the definition of capable() into sched.h if CONFIG_SECURITY is set ↵Greg Kroah-Hartman
to help make the #include nightmare more managable.
2002-11-25MergeLinus Torvalds
2002-11-25MergeLinus Torvalds
2002-11-25Fix up Alan's huge patch set. It couldn't have compiled forLinus Torvalds
him either. Tssk, tssk.
2002-11-25[PATCH] CONFIG_DEBUG_SPINLOCK_SLEEPDave Jones
This makes the sleep-under-spinlock-held check a CONFIG_ option.
2002-11-25[PATCH] we can kill off the soundmodem headers too nowAlan Cox
2002-11-25[PATCH] reserve a serio bit for PC98Alan Cox
2002-11-25[PATCH] more pci ident definesAlan Cox
2002-11-25[PATCH] dvb header updatesAlan Cox
2002-11-25[PATCH] ide headersAlan Cox
Add new callbacks Add dead field
2002-11-23MergeGreg Kroah-Hartman
2002-11-23[PATCH] remove CONFIG_USB_LONG_TIMEOUTDavid Brownell
Basically, no point in having short and long timeout options where both are _shorter_ than the timeout from the USB spec.
2002-11-23Merge tp1.ruhr-uni-bochum.de:/home/kai/src/kernel/v2.5/linux-2.5Kai Germaschewski
into tp1.ruhr-uni-bochum.de:/home/kai/src/kernel/v2.5/linux-2.5.isdn
2002-11-21[PATCH] no-buffer-head ext2 optionAndrew Morton
Implements a new set of block address_space_operations which will never attach buffer_heads to file pagecache. These can be turned on for ext2 with the `nobh' mount option. During write-intensive testing on a 7G machine, total buffer_head storage remained below 0.3 megabytes. And those buffer_heads are against ZONE_NORMAL pagecache and will be reclaimed by ZONE_NORMAL memory pressure. This work is, of course, a special for the huge highmem machines. Possibly it obsoletes the buffer_heads_over_limit stuff (which doesn't work terribly well), but that code is simple, and will provide relief for other filesystems. It should be noted that the nobh_prepare_write() function and the PageMappedToDisk() infrastructure is what is needed to solve the problem of user data corruption when the filesystem which backs a sparse MAP_SHARED mapping runs out of space. We can use this code in filemap_nopage() to ensure that all mapped pages have space allocated on-disk. Deliver SIGBUS on ENOSPC. This will require a new address_space op, I expect.
2002-11-21[PATCH] handle zones which are full of unreclaimable pagesAndrew Morton
This patch is a general solution to the situation where a zone is full of pinned pages. This can come about if: a) Someone has allocated all of ZONE_DMA for IO buffers b) Some application is mlocking some memory and a zone ends up full of mlocked pages (can happen on a 1G ia32 system) c) All of ZONE_HIGHMEM is pinned in hugetlb pages (can happen on 1G machines) We'll currently burn 10% of CPU in kswapd when this happens, although it is quite hard to trigger. The algorithm is: - If page reclaim has scanned 2 * the total number of pages in the zone and there have been no pages freed in that zone then mark the zone as "all unreclaimable". - When a zone is "all unreclaimable" page reclaim almost ignores it. We will perform a "light" scan at DEF_PRIORITY (typically 1/4096'th of the zone, or 64 pages) and then forget about the zone. - When a batch of pages are freed into the zone, clear its "all unreclaimable" state and start full scanning again. The assumption being that some state change has come about which will make reclaim successful again. So if a "light scan" actually frees some pages, the zone will revert to normal state immediately. So we're effectively putting the zone into "low power" mode, and lightly polling it to see if something has changed. The code works OK, but is quite hard to test - I mainly tested it by pinning all highmem in hugetlb pages.
2002-11-21[PATCH] Remove mapping->vm_writebackAndrew Morton
The vm_writeback address_space operation was designed to provide the VM with a "clustered writeout" capability. It allowed the filesystem to perform more intelligent writearound decisions when the VM was trying to clean a particular page. I can't say I ever saw any real benefit from this - not much writeout actually happens on that path - quite a lot of work has gone into minimising it actually. The default ->vm_writeback a_op which I provided wrote back the pages in ->dirty_pages order. But there is one scenario in which this causes problems - writing a single 4G file with mem=4G. We end up with all of ZONE_NORMAL full of dirty pages, but all writeback effort is against highmem pages. (Because there is about 1.5G of dirty memory total). Net effect: the machine stalls ZONE_NORMAL allocation attempts until the ->dirty_pages writeback advances onto ZONE_NORMAL pages. This can be fixed most sweetly with additional radix-tree infrastructure which will be quite complex. Later. So this patch dumps it all, and goes back to using writepage against individual pages as they come off the LRU.
2002-11-21[PATCH] Fix busy-wait with writeback to large queuesAndrew Morton
blk_congestion_wait() is a utility function which various callers use to throttle themselves to the rate at which the IO system can retire writes. The current implementation refuses to wait if no queues are "congested" (>75% of requests are in flight). That doesn't work if the queue is so huge that it can hold more than 40% (dirty_ratio) of memory. The queue simply cannot enter congestion because the VM refuses to allow more than 40% of memory to be dirtied. (This spin could happen with a lot of normal-sized queues too) So this patch simply changes blk_congestion_wait() to throttle even if there are no congested queues. It will cause the caller to sleep until someone puts back a write request against any queue. (Nobody uses blk_congestion_wait for read congestion). The patch adds new state to backing_dev_info->state: a couple of flags which indicate whether there are _any_ reads or writes in flight against that queue. This was added to prevent blk_congestion_wait() from taking a nap when there are no writes at all in flight. But the "are there any reads" info could be used to defer background writeout from pdflush, to reduce read-vs-write competition. We'll see. Because the large request queues have made a fundamental change: blocking in get_request_wait() has been the main form of VM throttling for years. But with large queues it doesn't work any more - all throttling happens in blk_congestion_wait(). Also, change io_schedule_timeout() to propagate the schedule_timeout() return value. I was using that in some debug code, but it should have been like that from day one.
2002-11-21[PATCH] Make inode_ops->setxattr value parameter constAndrew Morton
Patch from Andreas Gruenbacher <agruen@suse.de> The setxattr inode operation is defined like this in 2.4 and 2.5: int (*setxattr) (struct dentry *dentry, const char *name, void *value, size_t size, int flags); the original type of the value parameter was `const void *'; the const obviously has been lost at some point. The definition should be: int (*setxattr) (struct dentry *dentry, const char *name, const void *value, size_t size, int flags);
2002-11-21[PATCH] kNFSd - 2 of 2 - Change NFSv4 reply encoding to cope with multiple ↵Neil Brown
pages. This allows NFSv4 responses to cover move than one page. There are still limits though. There can be at most one 'data' response which includes READ, READLINK, READDIR. For these responses, the interesting data goes in a separate page or, for READ, list of pages. All responses before the 'data' response must fit in one page, and all responses after it must also fit in one (separate) page.
2002-11-21[PATCH] kNFSd - 1 of 2 - Change NFSv4 xdr decoding to cope with separate pages.Neil Brown
Now that nfsd uses a list of pages for requests instead of one large buffer, NFSv4 need to know about this. The most interesting part of this is that it is possible that section of a request, like a path name, could span two pages, so we need to be able to kmalloc as little bit of space to copy them into, and make sure they get freed later.
2002-11-21Merge http://linux-acpi.bkbits.net/linux-acpiLinus Torvalds
into penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/linux
2002-11-21[PATCH] Split buffer overflow checking out of struct nfs4_compoundTrond Myklebust
Here is the a pre-patch in the attempt to get rid of 'struct nfs4_compound', and the associated horrible union in 'struct nfs4_op'. It splits out the fields that are meant to do buffer overflow checking and iovec adjusting on the XDR received/sent data. It moves support for that nto the dedicated structure 'xdr_stream', and the associated functions 'xdr_reserve_space()', 'xdr_inline_decode()'. The patch also expands out the all macros ENCODE_HEAD, ENCODE_TAIL, ADJUST_ARGS and DECODE_HEAD, as well as most of the DECODE_TAILs.
2002-11-21[PATCH] Add back in <asm/system.h> and <linux/linkage.h> to <linux/interrupt.h>Tom Rini
linux/interrupt.h needs: asm/system.h: smb_mb() linux/linkage.h: asmlinkage/FASTCALL/etc.
2002-11-21[PATCH] cpufreq: cleanupsDominik Brodowski
This changes the return type of the verify and setpolicy functions from void to int. While doing this, I've changed the values for minimum and maximum supported frequency to be per CPU, as UltraSPARC needs this. Additionally, small cleanups in various drivers.
2002-11-21[PATCH] PCI: rename exported pbus_* functionsIvan Kokshaysky
Traditional naming in pci/setup-xx code assumes that pdev_*/pbus_* functions are private, everything visible from outer world should be pci_*.
2002-11-21[PATCH] meye driver updateStelian Pop
The most important changes are: - allocate buffers on open(), not module load; - correct some failed allocation paths; - use wait_event; - C99 structs inits;
2002-11-21[PATCH] sonypi driver updateStelian Pop
The most important changes are: * add suspend/resume support to the sonypi driver (not based on driverfs however) (Florian Lohoff); * add "Zoom" and "Thumbphrase" buttons (Francois Gurin); * add camera and lid events for C1XE (Kunihiko IMAI); * add a mask parameter letting the user choose what kind of events he wants; * use ACPI ec_read/ec_write when available in order to play nice when latest ACPI is enabled; * several source cleanups.
2002-11-21[PATCH] add necessary #ifdefs to netfilter_bridge.h, vs 2.5.48Bart De Schuymer