- 14 Jun, 2002 2 commits
-
-
Martin Dalecki authored
- fix lock initialization for device tree handling. Well I would be lucky if it would be just a device tree like in Solaris. But after studying the code which goes in right now it appears to develop quite fast in to a "just in case" and "ad-hoc" inferface mess we have already in /proc. Shit! Look for example at the initialization of a device struct. First we have a name to the directory encompassing the device and the immediately we fill in the georgeous name field - which is enterly unnecessary. - Pull locking out from the device type drivers do_request handlers. This allowed us to remove the draddy unlocking on entry to start_request. Much more of host controller rigister acces on crutial code paths is now covered by the queue access lock.
-
Zwane Mwaikambo authored
-
- 13 Jun, 2002 2 commits
-
-
Robert Love authored
Linus, betcha cannot find a more trivial (but correct) patch... This showstopper is against 2.5.21 - please apply.
-
Linus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
- 14 Jun, 2002 1 commit
-
-
Ingo Molnar authored
-
- 13 Jun, 2002 15 commits
-
-
Hugh Dickins authored
Todd R. Eigenschink <todd@tekinteractive.com> reported 2.4 swapoff kernel BUG at filemap.c:122 to LKML 24 May. Other problems on that system may have contributed, but yes, despite __delete_from_swap_cache doing ClearPageDirty before __remove_inode_page to avoid the BUG(), a concurrent zap_pte_range might race to set_page_dirty. So skip that oops in PageSwapCache case. Remove the prior ClearPageDirty? maybe but not without deeper thought: let stay for now.
-
Hugh Dickins authored
Recent testing has shown that BUG() check in try_to_unuse is unsafe. delete_from_swap_cache does final swap_free just after removing page from swap cache, and add_to_swap_cache does swap_duplicate just before putting page into swap cache, therefore swapin_readahead may resurrect a dying swap entry and assign a new page to it. That's fine, there's no need to change this ordering; but it does mean that try_to_unuse's page may have left the swap cache yet its swap_map count still be set. That BUG() has done good service for swapoff sanity, but now abandon it.
-
Hugh Dickins authored
Burton Windle <bwindle@fint.org> reported Kernel memory leak with swapon/swapoff? LKML 31 May. swapon uses rw_swap_page_nolock to read swap_header page (peculiar! should probably rework that sometime), nothing freed the buffers from the page, thus page also never freed.
-
Hugh Dickins authored
Remove /* SMP-safe */ comments before shmem_truncate and shmem_mknod: don't know who or why put there, but they seem to imply that the rest of shmem.c is unsafe.
-
Hugh Dickins authored
Several simple speedups to tmpfs swapoff: without patch, swapoff of a kernel tree in tmpfs might take take 2 minutes, with patch 4 seconds. Inline search go no further than necessary; only search inode when it has swapped pages; start next search from same inode; list in order. (There's a "list_move_tail" in this patch: not available in 2.5.21, but I believe you now have it in your ongoing tree.)
-
Hugh Dickins authored
shmem_mknod should not update directory times if it cannot get an inode.
-
Hugh Dickins authored
shmem_symlink was letting a long symlink overwrite its vfs_inode, now included within struct shmem_inode_info - oops! and failed long symlink inodes were freed but still left on the shmem_inodes list, causing oops in swapoff at shutdown (if not earlier).
-
Hugh Dickins authored
shmem_rename was not maintaining the correct link count on the parent directories when a directory was moved from one to another. This patch from Christoph Rohland <cr@sap.com>, already in 2.5-dj.
-
Martin Dalecki authored
- Bunch of cleanups by Bartlomiej (accounts for over a half of the patch): cmd64x.c: - kill SPLIT_BYTE() macro - kill wrappers for cmd64x_config_drive_for_dma() - misc cleanups cy82c693.c: - kill obsolete comments - clean cy82c693_tune_drive() and calc_clk() - misc cleanups hpt34x.c: - kill obsolete comment - kill SPLIT_BYTE() - kill hpt34x_clear_chipset() - simplify hpt34x_tune_drive() hpt366.c: - kill hpt_min_rev() - kill redundant hpt368_tune_chipset() and hpt374_tune_chipset() - fix badlists checking in config_chipset_for_dma() - misc cleanups pdc202xx.c: - clean registers decoding - clean pdc202xx_tune_chipset() - kill pdc202xx_udma_irq_status(), use generic udma_pci_irq_status() - rationalize pdc202xx_reset() - kill UDMA_SPEED_FLAG() and PDC_CLOCK() macros, do it right by defining constants PDC_UDMA and PDC_CLK - kill init_high_16() inline, no need to hide internals - clean pdc202xx_init_chipset() - split ata66_pdc202xx() and pdc202xx_init_chipset() - clean config_chipset_for_dma() - misc cleanups - Fix plug in of CF cards. The previously used sub device driver attach method lookup was entirely hosed. - Enforce indentation style on ide-cs.c. Enable debugging there. (Makes the patch quite big...)
-
Benjamin LaHaise authored
This makes the IO bitmap allocations a separately allocated structure, shrinking the default task size. We alloc it in sys_ioperm() and copy_thread() and frees in exit_thread(). It also gets rid of the IO_BITMAP_SIZE+1 crap, as only the tss actually needs the tail long, and we weren't copying it into the bitmap anyways.
-
Stephen Rothwell authored
The utime and utimes should do exactly the smae permission check according to SUSv3. "The effective user ID of the process shall match the owner of the file, or has write access to the file or appropriate privileges to use this call in this manner." utimes when passed a NULL second argument would fail on a read only file even if the file is owned by the caller.
-
Linus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
Jens Axboe authored
The following comes from James Bottemley, as he updated the SCSI layer to use the generic tagging. Basically just put blk_queue_tag_request() into ll_rw_blk.c and name it something more sane, blk_queue_find_tag(). In addition, remove REQ_CMD requirement in blk_queue_start_tag() -- this is actually IDE specific (we can only tag read/write requests there...), SCSI actually requires everything to be tagged once enabled. It's replaced with a safety check for an already tagged request.
-
Jens Axboe authored
This is a merge of the two things that are needed for the plugging as it stands in 2.5.21. The first is fixing the locking to be both clearer and safe (Andrew repeatedly broke the old version). The second is a few changes that allow make_request_fn drivers to utilize plugging. This is needed for umem and raid, for instance, that have their private plugging.
-
Linus Torvalds authored
-
- 12 Jun, 2002 18 commits
-
-
Ingo Molnar authored
- i've extended the scheduler context-switch mechanism with the following per-arch defines: prepare_arch_schedule(prev_task); finish_arch_schedule(prev_task); prepare_arch_switch(rq); finish_arch_switch(rq); - plus switch_to() takes 3 parameters again: switch_to(prev, next, last); - schedule_tail() has the 'prev' task parameter again, it must be passed over in switch_to() and passed in to the fork() startup path. architectures that need to unlock the runqueue before doing the switch can do the following: #define prepare_arch_schedule(prev) task_lock(prev) #define finish_arch_schedule(prev) task_unlock(prev) #define prepare_arch_switch(rq) spin_unlock(&(rq)->lock) #define finish_arch_switch(rq) __sti() this way the task-lock makes sure that a task is not scheduled on some other CPU before the switch-out finishes, but the runqueue lock is dropped. (Local interrupts are kept disabled in this variant, just to exclude things like TLB flushes - if that matters.) architectures that can hold the runqueue lock during context-switch can do the following simplification: #define prepare_arch_schedule(prev) do { } while(0) #define finish_arch_schedule(prev) do { } while(0) #define prepare_arch_switch(rq) do { } while(0) #define finish_arch_switch(rq) spin_unlock_irq(&(rq)->lock) further optimizations possible in the 'simple' variant: - an architecture does not have to handle the 'last' parameter in switch_to() if the 'prev' parameter is unused in finish_arch_schedule(). This way the inlined return value of context_switch() too gets optimized away at compile-time. - an architecture does not have to pass the 'prev' pointer to schedule_tail(), if the 'prev' parameter is unused in finish_arch_schedule(). the x86 architecture makes use of these optimizations. Via this solution we have a reasonably flexible context-switch setup which falls back to the current (faster) code on x86, but on other platforms the runqueue lock can be dropped before doing the context-switch as well. Ingo NOTE: i have coded and tested the 'complex' variant on x86 as well to make sure it works for you on Sparc64 - but since x86's switch_mm() is not too subtle it can use the simpler variant. [ The following things had to be done to make x86 arch use the complex variant: the 4 complex macros have to be used in system.h, entry.S has to 'pushl %ebx' and 'addl $4, %esp' around the call to schedule_tail(), and switch_to() had to be reverted to the 3-parameter variant present in the 2.4 kernels. NOTE2: prepare_to_switch() functionality has been moved into the prepare_arch_switch() macro. NOTE3: please use macros for prepare|finish_arch_switch() so that we can keep the scheduler data structures internal to sched.c.
-
Andrew Morton authored
Silly oversight - read_pages needs to pass the file * down to ->readpage().
-
Andrew Morton authored
- If we're PF_MEMALLOC and BIO allocation failed, fall back to try to allocate a smaller BIO (from a different mempool) - When writepages() gets confused, call a_ops->writepage() instead of going directly to block_write_full_page(). It gives the fs more flexibility, and XFS may want this.
-
Andrew Morton authored
It will need swapops.h for swp_entry().
-
Andrew Morton authored
Fix the order of inodes being marked dirty in a couple of corner cases. The only impact of this bug is that the on-disk copies of i_version might got out of sync for a directory, or that an error inserting an inode into a directory might leave its i_nlinks incorrect on disk for a short interval. Neither problem will cause trouble for ext3 during normal operation, but the nlink problem might cause e2fsck to emit unnecessary warnings if we crash while the incorrect version of the inode is in the journal.
-
Andrew Morton authored
Removes the put_iode optimisation. It's racy, as Chris pointed out.
-
Andrew Morton authored
ext3 will remount the fs readonly if it runs out of inode space. It shouldn't do that - it should just return -ENOSPC.
-
Linus Torvalds authored
Cset exclude: bcrl@redhat.com|ChangeSet|20020429021546|12619
-
Andy Grover authored
This allows compilation without ACPI_DEBUG defined.
-
Andy Grover authored
This adds an export so that processor.o and thermal.o can be compiled as modules
-
http://linux-isdn.bkbits.net/linux-2.5.makeLinus Torvalds authored
into penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/linux
-
Kai Germaschewski authored
into tp1.ruhr-uni-bochum.de:/home/kai/kernel/v2.5/linux-2.5.make
-
Kai Germaschewski authored
A couple of targets were still in the main part of the Makefile, even though they did not need .config to exist for execution. Move them into the noconfig section of the Makefile, allowing them to be executed before make *config.
-
http://linux-isdn.bkbits.net/linux-2.5.isdnLinus Torvalds authored
into penguin.transmeta.com:/home/penguin/torvalds/repositories/kernel/linux
-
Kai Germaschewski authored
into tp1.ruhr-uni-bochum.de:/home/kai/kernel/v2.5/linux-2.5.isdn
-
Kai Germaschewski authored
Unreversed allocations on the error path and the like.
-
Matthew Wilcox authored
- Inline locks_notify_blocked. - Remove a couple of now-bogus comments. - Remove the obsolete F_SHLCK and F_EXLCK cases. - Remove the last remaining reference to FL_BROKEN.
-
Linus Torvalds authored
-
- 11 Jun, 2002 2 commits
-
-
Kai Germaschewski authored
into tp1.ruhr-uni-bochum.de:/home/kai/kernel/v2.5/linux-2.5.isdn
-
Kai Germaschewski authored
into tp1.ruhr-uni-bochum.de:/home/kai/kernel/v2.5/linux-2.5.make
-