- 18 Jun, 2004 40 commits
-
-
William Lee Irwin III authored
Marking invalid APIC ID's in phys_cpu_present_map was intended to generate "collisions" between APIC ID's in order to assist the ordinary bounds checking against the broadcast physical APIC ID. However, this is bounds checked everywhere it's necessary, and it's also not even possible to properly bounds-check everywhere. So this patch removes that marking of non-present physical APIC ID's. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
William Lee Irwin III authored
The following patch repairs kicking of non-present cpus by making cpu_present_to_apicid() bounds-check its argument. It also corrects the same issue on NUMA-Q by correctly passing the generated artificial APIC ID instead of the raw value discovered in the MP table. A miscellaneous compilefix for CONFIG_ACPI_BOOT is also included for completeness. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
William Lee Irwin III authored
The following patch appears sound according to an audit to ensure that all of the codepaths where it was introduced were called after the APIC fixmappings were set up. This patch introduces get_physical_broadcast(), which checks the version ID of the local APIC to determine whether it's a serial APIC or xAPIC, and returns the correct physical broadcast ID. It replaces all uses of APIC_BROADCAST_ID and IO_APIC_MAX_ID with this in order to ensure. It also changes the checks during MP table parsing so the APIC ID is checked in tandem with the version number. I'm holding out for some kind of testing to get an idea of whether this covers the cases or introduces regressions, or whatever. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Andrew Morton authored
Uninline the non-leaf bit search functions. Saves 9 kbytes from my vmlinux. And gratuitously s/__inline__/inline/ Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
William Lee Irwin III authored
arch/x86_64/mm/numa.c: In function `numa_initmem_init': arch/x86_64/mm/numa.c:185: error: incompatible types in assignment Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Tom L. Nguyen authored
Somehow the change in TARGET_CPUS generated this error in UP environment. Patch below will fix it. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Kevin Corry authored
dm-raid1.c: In rh_exit(), use list_for_each_entry_safe instead of list_for_each_safe. Signed-off-by: Kevin Corry <kevcorry@us.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Kevin Corry authored
dm-raid1.c: Make struct region::delayed_bios a bio_list instead of a bio*. This will ensure the queued bios are kept in the proper order. Signed-off-by: Kevin Corry <kevcorry@us.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Kevin Corry authored
dm-io: Proper error handling when someone is trying to read from multiple regions. Signed-off-by: Kevin Corry <kevcorry@us.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Kevin Corry authored
Use structure assignments instead of memcpy's. [Suggested by akpm during kcopyd review.] Signed-off-by: Kevin Corry <kevcorry@us.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Kevin Corry authored
Create/destroy kcopyd on demand. This changes kcopyd to initialize its mempool and workqueue only when a client specifically needs to use it. Signed-off-by: Kevin Corry <kevcorry@us.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Kevin Corry authored
Device-Mapper documentation. Signed-off-by: Kevin Corry <kevcorry@us.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Christophe Saout authored
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Kevin Corry authored
Add missing dm-zero version number. From: Alasdair Kergon <agk@redhat.com> Signed-off-by: Kevin Corry <kevcorry@us.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Alasdair G. Kergon authored
Add dm-zero target Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Alasdair G. Kergon authored
Add mirror target. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Kevin Corry authored
dm-exception-store.c: Fix error cleanup in dm_create_persistent(). This was originally found by chrisw during code review. From: Dave Olien <dmo@osdl.org> Signed-off-by: Kevin Corry <kevcorry@us.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Alasdair G. Kergon authored
Add snapshot target Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Kevin Corry authored
We're also working on some general documentation which will go in Documentation/device-mapper and will include more detailed information about the core driver and the other sub-modules. We'll try to submit those patches in the near future. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Kevin Corry authored
No need to lock kcopyd pages. From: Alasdair Kergon <agk@redhat.com> Signed-off-by: Kevin Corry <kevcorry@us.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Kevin Corry authored
Remove superfluous kcopyd INIT_LIST_HEAD. From: Alasdair Kergon <agk@redhat.com> Signed-off-by: Kevin Corry <kevcorry@us.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Alasdair G. Kergon authored
Add kcopyd - a daemon for copying regions of block devices around in an efficient manner. Multiple destinations can be specified for a copy. Designed to perform well both with many small chunks or few large chunks. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Alasdair G. Kergon authored
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Bogdan Costescu authored
The following patch adds support for the 3Com networking core found in the ATI Radeon 9100 IGP southbridge used on boards like Asus P4R800-VM. The main point of this patch is using HAS_MII instead of HAS_NWAY for the definition of the board. All the previous trials since the end of last year used HAS_NWAY which disables the Tx part of the transceiver; using HAS_NWAY was the way all 3Com Cyclone and Tornado chips worked, as they had the transceiver integrated. The ATI solution has an external transceiver and I had to physically see the different chip on the board (the board was provided by ATI) to finally understand that it needs the HAS_MII definition... I'm still waiting for some docs from ATI to clarify if this is the correct way of handling this chip and if there are any differences w.r.t EEPROM handling, but as it appears to work and was also confirmed by other testers, I don't want to keep owners of such boards away from their networks :-) The textual identification was a bit hard to decide; it's called "3c920B-EMB-WNM" in the Windows .INF file that Asus provides for their boards. As this name was already used for PCI ID 9210, I added the paranthesis which specifies where this chip is found. The Scyld driver defines FEATURE_TORNADO to include HAS_NWAY. This board would then probably need to not be defined with FEATURE_TORNADO, but the same as in this patch. I would like to publicly thank Tyson Vickers for both ideas and patience during the last few weeks. He managed to get the driver working by randomly setting driver parameters :-) But then he contacted me and worked with me towards the solution. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Thomas Winischhofer authored
attached is an update for the sisfb driver to version 1.7.10. This update includes - fixes for pure 64bit and 32/64bit mixed systems (add ioctl conversion; fix variable sizes, etc; REQUIRED for current X.org/XFree86 on 64bit systems, even if pure 64bit), - fixes for 301C video bridge, (scales TV output correctly now) - fixes for 1600x1200 and 1400x1050 LCD panels, - many fixes for 661/741/760 (amongst others, proper LFB support for the 760 and corrections for SiS' new BIOS data layout; would lead to display corruption with old driver) - add support for many modes for LCD which were unsupported previously, - add support for HiVision and YPbPr HDTV - "vga=" statement now honoured properly (sisfb will set the same mode as the kernel did by default) - use LCD native resolution mode if no mode is given - a major clean up of main driver code, - radical removal of duplicate (or nearly duplicate) code, - switched to 2.6 module_param macros, - enhanced communication with the X driver, - added eventual POSTing of SiS300/305 card for non-x86 archs, - added ability to relocate the image on the TV screen using a userland tool, - added Documentation/fb/sisfb.txt (why the heck was this missing?!) - small fix for SiS DRM driver (match 32/64bit fixes mentioned above) (cast the data passed to sis_free as u32) - make driver re-entrant by avoiding static structures and variables. As usual, heavily tested. The mode switching code is even lab-tested by SiS (although 100% written by me). Please apply asap (especially since 64bit systems were not properly supported previously; as mentioned, current X.org/XFree86 needs this update for proper communication with the framebuffer driver on 64bit systems. X crashes on such systems with the old driver). Signed-off-by: Thomas Winischhofer <thomas@winischhofer.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Paul Serice authored
Make all inode numbers unique for images less than 128GB in size. Required for knfsd. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Paul Serice authored
This is my fourth attempt to patch the isofs code. It is similar to the last posting except this one implements the NFS get_parent() method which has always been missing. The original problem I set out to addresses is that the current iso9660 file system cannot reach inodes located beyond the 4GB barrier. This is caused by using the inode number as the byte offset of the inode data. Being 32-bits wide, the inode number is unable to reach inode data that does not reside on the first 4GB of the file system. This causes real problems with "growisofs" http://fy.chalmers.se/~appro/linux/DVD+RW/#isofs4gb and my pet project "shunt" http://www.serice.net/shunt/ This patch switches the isofs code from iget() to iget5_locked() which allows extra data to be passed into isofs_read_inode() so that inode data anywhere on the disk can be reached. The inode number scheme was also changed. Continuing to use the byte offset would have resulted in non-unique inodes in many common situations, but because the inode number no longer plays any role in reading the meta-data off the disk, I was free to set the inode number to some unique characteristic of the file. I have chosen to use the block offset which is also 32-bits wide. Lastly, the pre-patch code uses the default export_operations to handle accessing the file system through NFS. The problem with this is that the default NFS operations assume that iget() works which is no longer the case because of the necessity of switching to iget5_locked(). So, I had to implement the NFS operations too. As a bonus, I went ahead and implemented the NFS get_parent() method which has always been missing. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Tim Schmielau authored
BSD accounting format rework: Use all explicit and implicit padding in struct acct to - correctly report 32 bit uid/gid, - correctly report jobs (e.g., daemons) running longer than 497 days, - increase the precision of ac_etime from 2^-13 to 2^-20 (i.e., from ~6 hours to ~1 min. after a year) - store the current AHZ value. - allow cross-platform processing of the accounting file (limited for m68k which has a different size struct acct). - introduce versioning for smooth transition to incompatible formats in the future. Currently the following version numbers are defined: 0: old format (until 2.6.7) with 16 bit uid/gid 1: extended variant (binary compatible to v0 on M68K) 2: extended variant (binary compatible to v0 on everything except M68K) 3: a new binary incompatible format (64 bytes) 4: new binary incompatible format (128 bytes). layout of its first 64 bytes is the same as for v3. 5: marks second half of new binary incompatible format (128 bytes) (layout is not yet defined) All this is accomplished without breaking binary compatibility. 32 bit uid/gid support is compatible with the patch previously floating around and used e.g. by Red Hat. This patch also introduces a config option for a new, binary incompatible "version 3" format that - is uniform across and properly aligned on all platforms - stores pid and ppid - uses AHZ==100 on all platforms (allows to report longer times) Much of the compatibility glue goes away when v1/v2 support is removed from the kernel. Such a patch is at http://www.physik3.uni-rostock.de/tim/kernel/2.7/acct-cleanup-04.patch and might be applied in the 2.7 timeframe. The new v3 format is source compatible with current GNU acct tools (6.3.5). However, current GNU acct tools can be compiled for only one format. As there is no way to pass the kernel configuration to userspace, with my patch it will still only support the old v2 format. Only if v1/v2 support is removed from the kernel, recompiling GNU acct tools will yield v3 support. A preliminary take at the corresponding work on cross-platform userspace tools (GNU acct package) is at http://www.physik3.uni-rostock.de/tim/kernel/utils/acct/ This version of the package is able to read any of the v0/v2/v3 formats, regardless of byte-order (untested), even within the same file. Cross-platform compatibility with m68k (v1 format) is not yet implemented, but native use on m68k should work (untested). pid and ppid are currently only shown by the dump-acct utility. Thanks to Arthur Corliss, Albert Cahalan and Ragnar Kjørstad for their comments, and to Albert Cahalan for the u64->IEEE float conversion code. Signed-off-by: Tim Schmielau <tim@physik3.uni-rostock.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Alan Cox authored
The existing driver violates basic PCI rules in several places making it unusable for basic things like DHCP in Fedora Core. This patch removes all the situations I can find where it writes to the device while in D3 state and breaks stuff. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Burton N. Windle authored
Fix the 3c905C 10/100 transceiver initialisation woes. (This was reverted from 2.6.7-rcX, but the bug reporter said the failure turned out to be unrepeatable). Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Joris van Rantwijk authored
Add a check to the PM-Timer initialization code. It validates the PM-Timer rate against PIT channel 2 and rejects the PM-Timer if its rate is not withing 5% of the expected number. Rationale: The PMTMR timers of certain (older) mainboards are running at invalid rates, often much faster than the rate expected by the PM-Timer code. This causes the system clock to run much too fast. See also http://bugme.osdl.org/show_bug.cgi?id=2375 Possible workarounds are disabling the PM-Timer in the kernel config or disabling the PM-Timer at boot time through the "clock=tsc" parameter. However, we believe it is more user friendly to automatically validate the PM-Timer rate at boot time before using it as the system time source. Tested by me (with broken timer) and John Stultz (with good timer) and believed to be ok. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Matthew Wilcox authored
The old 1542 scsi driver is both ISA and MCA. The MCA portions are disabled when !CONFIG_MCA through the typical wrapper scheme (a la pci.h and !CONFIG_PCI). However... the driver unconditionally includes linux/mca.h which in turn unconditionally includes asm/mca.h. This breaks drivers on platforms with ISA but not MCA, like alpha. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Ingo Molnar authored
The patch below gets rid of io_apic_sync(). io_apic_sync() was introduced in 2.1.104 and it was originally done for masking and unmasking as well. Later the unmasking use got removed but the masking use lingered around. I dont think it was ever justified to do it and clearly since the lack of io_apic_sync() didnt break some of the other writes we do to the IO-APIC registers, it must be unnecessary in the masking case too. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Ingo Molnar authored
the patch below gets rid of APIC_LOCKUP_DEBUG. It has been in the kernel for more than 3 years and the message was only reported once during that period of time - and even in that case it was a side-effect of a really bad crash. The lockup workaround works, the debugging code can be moved out. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Pavel Machek authored
This cleans up io_apic.c a bit -- I do not really like 4 copies of same code. Ingo said: yeah, agreed - i checked & test it, it's ok. I made a small modification (see the patch below) to uninline the __modify_IO_APIC_irq() function - shaving 0.5K off the kernel's size. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Nick Piggin authored
do_generic_mapping_read() { isize1 = i_size_read(); ... readpage copy_to_user up to isize1; } readpage() { isize2 = i_size_read(); ... read blocks ... zero-fill all blocks past isize2 } If a second thread runs truncate and shrinks i_size, so isize1 and isize2 are different, the read can return up to a page of zero-fill that shouldn't really exist. The trick is to read isize1 after doing the readpage. I realised this is the right way to do it without having to change the readpage API. The patch should not cost any cycles when reading from pagecache. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Andrew Morton authored
Andrea Arcangeli <andrea@suse.de> points out that invalidate_inode_pages2() is supposed to mark mapped-into-pagetable pages as not uptodate so that next time someone faults the page in we will go get a new version from backing store. The callers are the direct-io code and the NFS "something changed on the server" code. In both these cases we do need to go and re-read the page. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Herbert Xu authored
i82365 calls driver_register and platform_device_register without checking their return values. This patch fixes that. It also runs platform_device_register() prior to isa_probe() so we don't have to undo ise_probe()'s effects if platform_device_register() ends up failing. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Tomas Olsson authored
sys_getgroups16 (or rather groups16_to_user()) returns large gids truncated. Needs to be fixed, one way or another. Don't know why the other similar casts are still there. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Rene Herman authored
The same small tweaks for x86_64. Just to keep the two in sync. One additional wrinkle: vram_resource was exported to e820.c, which didn't actually use it. Undo that. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-