An error occurred fetching the project authors.
  1. 07 Sep, 2003 1 commit
    • Andi Kleen's avatar
      [PATCH] x86-64 update · 3720aca6
      Andi Kleen authored
      Nothing too exciting, just some minor new features and bug fixes.
      The IOMMU code should now not BUG again without CONFIG_IOMMU_DEBUG/iommu=force
      
       - Compiles now with -funit-at-a-time
       - Fix up ioctl 32bit tables following Andrew's change.
       - Fix __SI_POLL siginfo_t passing to user space
       - Add 32bit emulation for fadvise64_64
       - Remove unneeded sys32_utimes
       - Various merges with i386 (ACPI, APIC etc.)
       - Port cpuid patching infrastructure from i386
       - Use it to provide better copy_*_user/memcpy/memset/clear/copy_page for
         C stepping K8. String instructions are faster now that unrolled loops.
       - Don't try to merge unforced PCI mappings that don't exceed the device's
         DMA mask.
       - Discard .exit.data/.exit.text at runtime like i386
       - Don't use NTI stores for clear_user
       - Convert bitops.h bitmap functions to use unsigned long * pointers instead
         of void *
       - Fix some warnings in kernel headers.
       - Fix PDA comments
      3720aca6
  2. 31 Aug, 2003 1 commit
    • Andi Kleen's avatar
      [PATCH] x86-64 update · 0708e1f7
      Andi Kleen authored
      Make everything compile and boot again.
      
       - Update defconfig
       - Some minor cleanup
       - Introduce physid_t for APIC masks (fixes UP kernels)
       - Add bandaid for CardBus bridges and broken BIOS (Vojtech)
       - Add bandaid for unsynchronized TSCs  (Vojtech)
       - Fix ffs(0) return value (fixes XFS) 
       - Fix compilation with software suspend
      0708e1f7
  3. 18 Aug, 2003 1 commit
    • Andrew Morton's avatar
      [PATCH] cpumask_t: allow more than BITS_PER_LONG CPUs · bf8cb61f
      Andrew Morton authored
      From: William Lee Irwin III <wli@holomorphy.com>
      
      Contributions from:
      	Jan Dittmer <jdittmer@sfhq.hn.org>
      	Arnd Bergmann <arnd@arndb.de>
      	"Bryan O'Sullivan" <bos@serpentine.com>
      	"David S. Miller" <davem@redhat.com>
      	Badari Pulavarty <pbadari@us.ibm.com>
      	"Martin J. Bligh" <mbligh@aracnet.com>
      	Zwane Mwaikambo <zwane@linuxpower.ca>
      
      It has ben tested on x86, sparc64, x86_64, ia64 (I think), ppc and ppc64.
      
      cpumask_t enables systems with NR_CPUS > BITS_PER_LONG to utilize all their
      cpus by creating an abstract data type dedicated to representing cpu
      bitmasks, similar to fd sets from userspace, and sweeping the appropriate
      code to update callers to the access API.  The fd set-like structure is
      according to Linus' own suggestion; the macro calling convention to ambiguate
      representations with minimal code impact is my own invention.
      
      Specifically, a new set of inline functions for manipulating arbitrary-width
      bitmaps is introduced with a relatively simple implementation, in tandem with
      a new data type representing bitmaps of width NR_CPUS, cpumask_t, whose
      accessor functions are defined in terms of the bitmap manipulation inlines.
      This bitmap ADT found an additional use in i386 arch code handling sparse
      physical APIC ID's, which was convenient to use in this case as the
      accounting structure was required to be wider to accommodate the physids
      consumed by larger numbers of cpus.
      
      For the sake of simplicity and low code impact, these cpu bitmasks are passed
      primarily by value; however, an additional set of accessors along with an
      auxiliary data type with const call-by-reference semantics is provided to
      address performance concerns raised in connection with very large systems,
      such as SGI's larger models, where copying and call-by-value overhead would
      be prohibitive.  Few (if any) users of the call-by-reference API are
      immediately introduced.
      
      Also, in order to avoid calling convention overhead on architectures where
      structures are required to be passed by value, NR_CPUS <= BITS_PER_LONG is
      special-cased so that cpumask_t falls back to an unsigned long and the
      accessors perform the usual bit twiddling on unsigned longs as opposed to
      arrays thereof.  Audits were done with the structure overhead in-place,
      restoring this special-casing only afterward so as to ensure a more complete
      API conversion while undergoing the majority of its end-user exposure in -mm.
       More -mm's were shipped after its restoration to be sure that was tested,
      too.
      
      The immediate users of this functionality are Sun sparc64 systems, SGI mips64
      and ia64 systems, and IBM ia32, ppc64, and s390 systems.  Of these, only the
      ppc64 machines needing the functionality have yet to be released; all others
      have had systems requiring it for full functionality for at least 6 months,
      and in some cases, since the initial Linux port to the affected architecture.
      bf8cb61f
  4. 13 Aug, 2003 1 commit
    • Andi Kleen's avatar
      [PATCH] x86-64 merge for 2.6.0test3 · 8b49c803
      Andi Kleen authored
      Without these changes an x86-64 NUMA kernel won't boot in many
      configurations.
      
      The main change is the improved IOMMU code which supports merging of
      mappings and has various bugfixes.
      
       - Update defconfig
       - Use argument ptregs in 32bit elf_core_copy_task_fpregs
       - Harden aperture fixup code: read aperture from the AGP bridge if needed,
         better error checking.
       - Support nmi_watchdog=panic to panic on watchdog trigger
       - IOMMU: Support panic on IOMMU overflow (iommu=panic)
       - IOMMU: Force SAC for mappings >40bits when iommu=force is active
         (this can potentially give better performance)
       - IOMMU: Cache northbridges for faster TLB flush
       - IOMMU: Fix SMP race in TLB flush
       - IOMMU: Merge pci_alloc_consistent and pci_map_single
       - IOMMU: Clean up leak tracing
       - IOMMU: Rewrite pci_map_sg, support merging of mappings
         On overflow fall back to piece-by-piece mapping.
       - IOMMU: Tell block layer to assume merging when iommu force is active
         (this gives better performance with MTP fusion, drawback is that the
         overflow/fragmentation handling of the IOMMU area is still a big
         dubious with that)
       - Fix/clean up per cpu data
       - Add 64bit clean time(2)
       - Export cpu_callout_map for IPv6
       - Handle nodes with no own memory in NUMA discovery.
         This fixes boot on various newer Opteron motherboards where the memory
         is only connected to a single CPU.
       - Fix fallback path for failed NUMA discovery. numnodes has to be reset.
       - Check for enabled nodes in NUMA discovery (Eric Biederman)
       - Remove NUMA emunodes support. Has badly bitrotted.
       - Add __clear_bit_string for IOMMU code
       - Add new 32bit system calls to ia32_unistd.h
       - Remove duplicate default_do_nmi prototype
       - Make PCI_DMA_BUS_IS_PHYS dependent on no_iommu
       - Fix padding length of siginfo_t to match glibc
       - More pci direct access functions.
      8b49c803
  5. 12 Apr, 2003 1 commit
    • Andrew Morton's avatar
      [PATCH] use spinlocking in the ext2 block allocator · c14c1a44
      Andrew Morton authored
      From Alex Tomas and myself
      
      ext2 currently uses lock_super() to protect the filesystem's in-core block
      allocation bitmaps.
      
      On big SMP machines the contention on that semaphore is causing high context
      switch rates, large amounts of idle time and reduced throughput.
      
      The context switch rate can also worsen block allocation: if several tasks
      are trying to allocate blocks inside the same blockgroup for different files,
      madly rotating between those tasks will cause the files' blocks to be
      intermingled.
      
      On SDET and dbench-style worloads (lots of tasks doing lots of allocation)
      this patch (and a similar one for the inode allocator) improve throughout on
      an 8-way by ~15%.  On 16-way NUMAQ the speedup is 150%.
      
      What wedo isto remove the lock altogether and just rely on the atomic
      semantics of test_and_set_bit(): if the allocator sees a block was free it
      runs test_and_set_bit().  If that fails, then we raced and the allocator will
      go and look for another block.
      
      Of course, we don't really use test_and_set_bit() because that
      isn'tendian-dependent.  New atomic endian-independent functions are
      introduced: ext2_set_bit_atomic() and ext2_clear_bit_atomic().  We do not
      need ext2_test_bit_atomic(), since even if ext2_test_bit() returns the wrong
      result, that error will be detected and naturally handled in the subsequent
      ext2_set_bit_atomic().
      
      For little-endian machines the new atomic ops map directly onto the
      test_and_set_bit(), etc.
      
      For big-endian machines we provide the architecture's impementation with the
      address of a spinlock whcih can be taken around the nonatomic ext2_set_bit().
       The spinlocks are hashed, and the hash is scaled according to the machine
      size.  Architectures are free to implement optimised versions of
      ext2_set_bit_atomic() and ext2_clear_bit_atomic().
      c14c1a44
  6. 22 Feb, 2003 1 commit
    • Andi Kleen's avatar
      [PATCH] x86-64 update for 2.5.62-bk4 · b5f3160f
      Andi Kleen authored
      This still has a few problems; e.g. posix-timers.c seems to be miscompiled
      by many x86-64 compilers when compiled with -O1. But overall it is better
      than before.
      
       - Disable numa again that was enabled by mistake
       - Fix CPU detection in early boot. Force SSE when needed.
       - Hack for nested NMIs.
       - Fix typo in vsyscall code that lead to broken time reporting
       - Merge with 2.5.62-bk4 (new switch_to, printk cleanups, new timer calls etc.)
       - Fix bug in strace - don't assume syscall_trace doesn't clobber %rcx
       - Fix gs load workaround
       - Fix return value of ioperm (found by new LTP test)
       - Remove some unecessary boot output
       - Remove some obsolete code in setup.c
       - Report more in /proc/cpuinfo, fix extended cpu family computation
       - Fix thread_info access from interrupt/exception stacks - this
         fixes many problems that especially showed on SMP (lost reschedule
         interrupts etc.)
       - Fix UP compilation
       - Symlink hugetlbpage.c from i386
       - Fix buggy lazy fpu handling
      b5f3160f
  7. 28 Dec, 2002 1 commit
    • Andi Kleen's avatar
      [PATCH] x86-64 update · 1e1144fd
      Andi Kleen authored
       - Optimize __copy*user a bit.
       - Merge with 2.5.53/i386
       - Fix broken 32bit signal handling.
       - Implement AT_SYSINFO and a vsyscall page for 32bit programs.
       - Fix 32bit SYSCALL entry point to handle 6 arguments and restart correctly.
       - Add oprofile support (Vojtech Pavlik, with changes by me)
         This is shared code with i386.
      1e1144fd
  8. 20 Dec, 2002 1 commit
    • Andi Kleen's avatar
      [PATCH] x86-64 merge · f3081f5b
      Andi Kleen authored
      This patch depends on the i386 MTRR driver cleanup I sent earlier.
      
       - Support non executable mappings for x86-64. data/heap are non executable
         by default now.
       - Beginnings of software suspend from Pavel (not working yet)
       - Support generic compat functions and remove some shared code
         in the 32bit emulation (Stephen Rothwell)
       - Support hugetlbfs
       - Some makefile updates
       - Make sure all 32bit emulation functions return long, not int.
         This fixes some problems with ERESTARTNOSYS.et.al. leaking to userspace.
       - Add new system calls.
       - Fix long standing fs/gs context switch bugs (thanks to Karsten Keil
         for helping to fix that mess). Also make sure the gs selector is
         set to 0 after an exec.
       - Simplify TLS switching
       - Paranoid CPUID check at bootup
       - Reorder scatterlist to be more space efficient (Jes Soerensen)
       - Enlarge 32bit address space to full 4GB.
       - Beginnings of 32bit SYSCALL support (not completely working yet
         and vsyscall page miss yet)
       - Various merges from i386
       - New module loader
       - Support threaded core dump (XMM saving for 32bit programs doesn't
         work, but it appears to be broken on i386 too)
       - Fix bug in signal stack rounding
       - Remove DRM 32bit emulation.
       - Use MTRR driver from i386
       - Use bootflag.c from i386
       - Various other fixes and cleanups.
      f3081f5b
  9. 12 Oct, 2002 1 commit
  10. 11 Jun, 2002 1 commit
    • Andi Kleen's avatar
      [PATCH] 2.5.21 x86-64 jumbo patch - arch specific changes · e4b9e2aa
      Andi Kleen authored
      Here is the big 2.5.21 x86-64 sync patch. It only touches arch/x86_64
      and include/asm-x86_64. It requires a few other changes that I'm sending
      in separate mail.
      
      Changes:
      - merge wit 2.5.21
      - merge from 2.5.21/i386 (new PCI code, new LDT code etc.)
      - sync with 2.4-x86_64 tree.
      - minor updates to 32bit emulation
      - better early console; including serial support.
      - now set up dummy PDA for booting to avoid problems
      - Fix GS reloading in context switch one instruction race
      - Remove hardcoded names from mpparse code
      - Fix inline assembly for RAID-5 xor (similar change needed for i386)
      - Real per cpu data support based on PDA field
      - Cleanup of offset.c generation requested by Kai: it only puts structure
        offsets into offset.h now.
      - Fix i387 fxsave signal frame problems.
      - Add uname emulation via personality ("linux32")
      - New SSE optimized checksum-copy, copy*user, memcpy, clear_page, copy_page
        functions. Other tunings/cleanups in checksum and other user memory
        access function.
      - check if exception table is really sorted
      - Cleanups in page table handling in preparation of non executable pages
        support.
      - Cleanup PDA access to not require offset.h (thanks to kai for kicking me
        to this)
      - use long long for u64/s64 to avoid more warnings
      - remove CONFIG_ISA
      - fix various bugs and other cleanups
      e4b9e2aa
  11. 20 Apr, 2002 1 commit
    • Andi Kleen's avatar
      [PATCH] x86-64 architecture specific sync for 2.5.8 · 88e4bc32
      Andi Kleen authored
      This patch brings 2.5.8 in sync with the x86-64 2.4 development tree again
      (excluding device drivers)
      
      It has lots of bug fixes and enhancements. It only touches architecture
      specific files.
      
      - Sync with 2.5.8
      - SMP/APIC supported now.
      - Module loading works now.
      - Time keeping bugs fixed.
      - entry.S streamlined and some bugs fixed.
      - modify_ldt works now
      - mostly rewritten FPU support (including FXRSTOR for initial FPU
        initialization based on the initial state)
      - 32bit emulation enhanced and bugs fixed.
      - rewrote mm initialization and lots of cleanups in the page table handling
        __PAGE_OFFSET is now moved to 0x10000000000 and some vmalloc/ioremap
        problems have been fixed. They have an own PML4 slot now.
      - WCHAN reporting support for RIP (but not RSP)
      - Lots of various other bug fixes and cleanups.
      
      Currently broken:
      - ACPI
      - MTRR
      
      It needs some other bugfixes outside architecture specific code. I sent
      them all in separate mail.
      88e4bc32
  12. 26 Feb, 2002 1 commit
    • Andi Kleen's avatar
      [PATCH] x86-64 update for 2.5.5 · 3d614679
      Andi Kleen authored
      This patch makes x86-64 compile in 2.5.5 and syncs it with changes in the i386
      port. It also fixes some bugs that were discovered in recent testing:
      - enhance 32bit emulation and fix bugs.
      - fix security hole in vmalloc handling
      - Do not use lockless gettimeofday for now because it is buggy.
      The patch only changes x86_64 specific files.
      
      -Andi
      3d614679
  13. 13 Feb, 2002 1 commit
    • Andi Kleen's avatar
      [PATCH] x86_64 merge: arch + asm · 0457d99a
      Andi Kleen authored
      This adds the x86_64 arch and asm directories and a Documentation/x86_64.
      
      It took a bit longer because I first had to make preemption and thread_info
      work and also found some other bugs while doing this. The port has been
      tested for a long time on UP.
      
      I'm not sure what I should describe.  A lot is based on i386 with
      a lot of cleanups. I wrote a paper about it for last year's OLS that describes
      most of the changes (ftp://ftp.firstfloor.org/pub/ak/x86_64.ps.gz). It is
      a bit outdated now, but should give a good overview.
      
      It currently has a completely cut'n'pasted from others+hacked 32bit
      emulation. I hope to clean that up in the future by merging the generic
      core of this with other 64bit archs.
      
      Thanks,
      -Andi
      0457d99a
  14. 12 Feb, 2002 1 commit
  15. 11 Feb, 2002 1 commit
  16. 05 Feb, 2002 5 commits
    • Linus Torvalds's avatar
      v2.5.2.5 -> v2.5.2.6 · 2f886464
      Linus Torvalds authored
      - Asit Mallick: mtrr update
      - Patrick Mochel: split up kernel/device.c into drivers/base
      - Mikael Pettersson/Al Viro: fix missing in-core inode initialization
      in ext2 introduced by Al's inode trimming
      - David Miller: sparc and network updates
      - Frank Davis: firewire video mmap page remapping fix
      - me: fix configure help scripts to fix breakage noticed by Dave Jones
      - Greg KH: USB updates
      - Kai Germaschewski: ISDN fixes, Config.help entries
      - Douglas Gilbert: SCSI doc update
      - Ingo Molnar: x86 taskswitch optimizations, scheduler updates
      - Mikael Pettersson: make APIC work on old external setups
      - Al Viro: more inode trimming
      2f886464
    • Linus Torvalds's avatar
      v2.5.1.9 -> v2.5.1.10 · 908920b1
      Linus Torvalds authored
      - 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
      908920b1
    • Linus Torvalds's avatar
      v2.4.4.5 -> v2.4.4.6 · c9df1e20
      Linus Torvalds authored
        - Johannes Erdfelt: OHCI hash-chain corruption fix, USB updates
        - Richard Henderson, Ivan Kokshaysky: alpha PCI iommu fixes
        - Tim Waugh: parport changelogs and printk levels
        - Andrew Morton: vmalloc off-by-one (overly sensitive) test
        - Al Viro: VFS layer cleanups
        - Cort Dougan: PPC updates (big bootloader re-org)
        - Alan Cox: more merges, remove phillips camera conversion code
        - Andrea Arkangeli: alpha fixups
        - OGAWA Hirofumi: big-sector support with FAT
        - Neil Brown: more md fixes
      c9df1e20
    • Linus Torvalds's avatar
      v2.4.3 -> v2.4.3.1 · 3544b328
      Linus Torvalds authored
        - 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
      3544b328
    • Linus Torvalds's avatar
      Import changeset · 7a2deb32
      Linus Torvalds authored
      7a2deb32