summaryrefslogtreecommitdiff
path: root/fs/proc/array.c
AgeCommit message (Collapse)Author
2002-09-29[PATCH] sigfix-2.5.39-D0, BK-currIngo Molnar
This fixes a procfs crash noticed by Anton Blanchard. The procfs code can have a reference even to an already exited task, so it needs to follow special rules accessing p->sig. The atomic-signals patch made this bug happen at a much higher frequency, but procfs i believe was buggy ever since, it potentially used the freed signal structure - which just did not result in a crash like it does today. The proper fix is to take the tasklist read-lock in collect_sigign_sigcatch(), this excludes __exit_sighand() freeing the signal structure prematurely.
2002-09-28[PATCH] atomic-thread-signalsIngo Molnar
Avoid racing on signal delivery with thread signal blocking in thread groups. The method to do this is to eliminate the per-thread sigmask_lock, and use the per-group (per 'process') siglock for all signal related activities. This immensely simplified some of the locking interactions within signal.c, and enabled the fixing of the above category of signal delivery races. This became possible due to the former thread-signal patch, which made siglock an irq-safe thing. (it used to be a process-context-only spinlock.) And this is even a speedup for non-threaded applications: only one lock is used. I fixed all places within the kernel except the non-x86 arch sections. Even for them the transition is very straightforward, in almost every case the following is sufficient in arch/*/kernel/signal.c: :1,$s/->sigmask_lock/->sig->siglock/g
2002-09-19[PATCH] remove statm_pgd_rangeAndrew Morton
Bill Irwin's patch to avoid having to walk pagetables while generating /proc/stat output. It can significantly overstate the size of various mappings because it assumes that all VMAs are fully populated. But spending 100% of one of my four CPUs running top(1) is a bug. Bill says this fixes a bug, too. The `SIZE' parameter is supposed to display the amount of memory which the process would consume if it faulted everything in. But "before it only showed instantiated 3rd-level pagetables, so if something within a 4MB aligned range hadn't been faulted in it would slip past the old one".
2002-09-15[PATCH] hugetlb pagesAndrew Morton
Rohit Seth's ia32 huge tlb pages patch. Anton Blanchard took a look at this today; he seemed happy with it and said he could borrow bits.
2002-07-24[PATCH] fix two unwrapped uses of thread_info->cpuMikael Pettersson
This patch for 2.5.28 fixes two explicit accesses to thread_info->cpu in generic code to use the new UP-optimised macros instead.
2002-07-23[PATCH] consolidate task->mm code + fixJohn Levon
The patch below consolidates some duplicate code, reduces some indentation, and adds a freeing of a page in mem_read() that could be left unfreed, as far as I can see.
2002-07-04Merge home.transmeta.com:/home/torvalds/v2.5/viroLinus Torvalds
into home.transmeta.com:/home/torvalds/v2.5/linux
2002-07-04[PATCH] ->i_dev switched to dev_tAlexander Viro
* ->i_dev followed the example of ->s_dev - it's dev_t now. All remaining uses of ->i_dev either outright want dev_t (stat()) or couldn't care less (printing major:minor in /proc/<pid>/maps, etc.)
2002-07-02Fix more places where we exported our internal timeLinus Torvalds
to user space. Convert to standard clock_t.
2002-07-01Make in-kernel HZ be 1000 on x86, retaining user-level 100 HZ clock_t.Linus Torvalds
Stop using "struct tms" internally - always use timer ticks (or one of the sane timeval/timespec types) instead. Explicitly convert to clock_t when copying to user space for the old broken interfaces that still use "clock_t". Clean up and unify jiffies<->timeval conversion.
2002-06-17[PATCH] Latest nonlinear CPU patchesRusty Russell
This patch removes the concept of "logical" CPU numbers, in preparation for CPU hotplugging.
2002-05-28[PATCH] real-time info in /proc/<pid>/statsRobert Love
Attached patch adds output of rt_priority and policy to /proc/<pid>/stats. This will not break compatibility with existing applications and will allow ps(1) and friends to display pertinent scheduling information.
2002-05-03[PATCH] 2.5.13: remove VALID_PAGERoman Zippel
This patch removes VALID_PAGE(), as the test was always too late for discontinous memory configuration. It is replaced with pfn_valid()/ virt_addr_valid(), which are used to test the original input value. Other helper functions: pte_pfn() - extract the page number from a pte pfn_to_page()/page_to_pfn() - convert a page number to/from a page struct
2002-04-02[PATCH] proc race on task_struct->sigDave Jones
Originally from Chris Mason <mason@suse.com>.. collect_sigign_sigcatch can race against exit_sighand. I haven't been able to reproduce it, but I think it causes the oops reported in the 'Kernel Hangs 2.4.16 on heavy io Oracle Tivolie TSM' thread.
2002-03-14[PATCH] wait4() WIFSTOPPED starvation fix #1/2David Howells
This patch (#1) just converts the task_struct to use struct list_head rather than direct pointers for maintaining the children list.
2002-02-19adds simple support for atomically-mapped PTEs. On highmem systems this ↵Ingo Molnar
enables the allocation of the pagetables in highmem.
2002-02-11merge to the -K3 scheduler.Ingo Molnar
2002-02-08[PATCH] includes cleanup, 2nd try.Dave Jones
Big bits first, I'll redo the smaller bits tomorrow after some sleep. Same as last time, rediffed against pre5
2002-02-06[PATCH] thread information blockDavid Howells
syscall latency improvement * There's now an asm/thread_info.h header file with the basic structure def and asm offsets in it. * There's now a linux/thread_info.h header file which includes the asm version and wraps some bitops calls to make convenience functions for accessing the low-level flags. * The task_struct has had some fields removed (and some flags), and has acquired a pointer to the thread_info struct. * task_struct's are now allocated on slabs in kernel/fork.c, whereas thread_info structs are allocated at the bottom of the stack pages. * Some more convenience functions are provided at the end of linux/sched.h to access flags in other tasks (these are here because they need to access the task_struct).
2002-02-05v2.5.2 -> v2.5.2.1Linus Torvalds
- Al Viro: fix up silly problem in swapfile filp cleanups in 2.5.2 - Tachino Nobuhiro: fix another error return for swapfile filp code - Robert Love: merge some of Ingo's scheduler fixes - David Miller: networking, sparc and some scsi driver fixes - Tim Waugh: parport update - OGAWA Hirofumi: fatfs cleanups and bugfixes - Roland Dreier: fix vsscanf buglets. - Ben LaHaise: include file cleanup - Andre Hedrick: IDE taskfile update
2002-02-05v2.5.1.9 -> v2.5.1.10Linus Torvalds
- Kai Germaschewski: ISDN updates - Al Viro: start moving buffer cache indexing to "struct block_device *" - Greg KH: USB update - Russell King: fix up some ARM merge issues - Ingo Molnar: scalable scheduler
2002-02-04v2.5.1.5 -> v2.5.1.6Linus Torvalds
- Davide Libenzi: nicer timeslices for scheduler - Arnaldo: wd7000 scsi driver cleanups and bio update - Greg KH: USB update (including initial 2.0 support) - me: strict typechecking on "kdev_t"
2002-02-04v2.5.1.2 -> v2.5.1.3Linus Torvalds
- Christoph Hellwig: scsi_register_module cleanup - Mikael Pettersson: apic.c LVTERR fixes - Russell King: ARM update (including bio update for icside) - Jens Axboe: more bio updates - Al Viro: make ready to switch bread away from kdev_t.. - Davide Libenzi: scheduler cleanups - Anders Gustafsson: LVM fixes for bio - Richard Gooch: devfs update
2002-02-04v2.4.12 -> v2.4.12.1Linus Torvalds
- Trond Myklebust: deadlock checking in lockd server - Tim Waugh: fix up parport wrong #define - Christoph Hellwig: i2c update, ext2 cleanup - Al Viro: fix partition handling sanity check. - Trond Myklebust: make NFS use SLAB_NOFS, and not play games with PF_MEMALLOC - Ben Fennema: UDF update - Alan Cox: continued merging - Chris Mason: get /proc buffer memory sizes right after buf-in-page-cache
2002-02-04v2.4.9.12 -> v2.4.9.13Linus Torvalds
- Manfred Spraul: /proc/pid/maps cleanup (and bugfix for non-x86) - Al Viro: "block device fs" - cleanup of page cache handling - Hugh Dickins: VM/shmem cleanups and swap search speedup - David Miller: sparc updates, soc driver typo fix, net updates - Jeff Garzik: network driver updates (dl2k, yellowfin and tulip) - Neil Brown: knfsd cleanups and fixues - Ben LaHaise: zap_page_range merge from -ac
2002-02-04v2.4.7 -> v2.4.7.1Linus Torvalds
- Anton Altaparmakov: NTFS error checking - Johannes Erdfelt: USB updates - OGAWA Hirofumi: FAT update - Alan Cox: driver + s390 update merge - Richard Henderson: fix alpha sigsuspend error return value - Marcelo Tosatti: per-zone VM shortage - Daniel Phillips: generic use-once optimization instead of drop-behind - Bjorn Wesen: Cris architecture update - Anton Altaparmakov: support for Windows Dynamic Disks - James Washer: LDT loading SMP bug fix
2002-02-04v2.4.5.2 -> v2.4.5.3Linus Torvalds
- remember to increment the version number - Chris Mason: reiserfs mark_journal_new and bh leak fix - Richard Gooch: devfs update - Alexander Viro: further FS cleanup (superblock list) - David Woodhouse: MTD update - Kai Germaschewski: ISDN update (stanford checker fixes etc) - Rich Baum: gcc-3.0 warning fixes - Jeff Garzik: network driver updates - Geert Uytterhoeven: m68k fbdev logo merge glitch fix - Andrea Arcangeli: fix signal return path - David Miller: Sparc updates - Johannes Erdfelt: USB update - Carsten Otte, Andries Brouwer: don't clear blk_size unconditionally on partition check - Martin Frey: alpha Sable irq fix - Paul Mackerras: PPC softirq update - Patrick Mochel: PCI power management infrastructure - Robert Siemer: miroSOUND driver update - Neil Brown: knfsd updates, including ability to export ReiserFS filesystems - Trond Myklebust: NFS readdir fixup, don't update atime on client - Andrew Morton: truncate_inode_pages speedup - Paul Menage: make inode quota count all inodes..
2002-02-04v2.4.4.1 -> v2.4.4.2Linus Torvalds
- David Miller: network syncup (better TCP page fault handling by Andrea etc) - Tim Hockin: moxa driver fixes - Alexander Viro: clean up process reaping procedures, make /proc use the proper fields to notice that the process is gone, gone, gone. - Justin Gibbs: aic7xxx driver update to 6.1.13. - me: fix PCI allocation so that it doesn't stomp on unknown memory - Jeff Garzik: 8139too net drvr fix - Nigel Gamble: merge page fault interrupt gate from preemtible kernel. Fixes problem noticed by Brian Gerst. - Jean Tourrilhes: Orinoco / Airport support diff. Mucho cleanups.
2002-02-04v2.4.3 -> v2.4.3.1Linus Torvalds
- Bob Tracy: Cyrix MTRR setup fix (don't make it twice as big as asked for) - Trond Myklebust: rpciod needs to be PF_MEMALLOC to avoid deadlocks on memory allocation when writing out NFS data under low memory conditions. Fix up BKL and RPC interactions. - Jeff Garzik: tulip network driver update - fix truncate to call down to the filesystem with the kernel lock. - David Mosberger: ia64 update - David Mosberger: simplify ELF program header generation. - Alan Cox: merge from -ac series - Jeff Garzik: make serial.c recognize modem devices properly
2002-02-04v2.4.2.4 -> v2.4.2.5Linus Torvalds
- Rik van Riel and others: mm rw-semaphore (ps/top ok when swapping) - IDE: 256 sectors at a time is legal, but apparently confuses some drives. Max out at 255 sectors instead. - Petko Manolov: USB pegasus driver update - make the boottime memory map printout at least almost readable. - USB driver updates - pte_alloc()/pmd_alloc() need page_table_lock.
2002-02-04Import changesetLinus Torvalds