1. 11 4月, 2006 3 次提交
  2. 10 4月, 2006 13 次提交
    • I
      [PATCH] splice: add optional input and output offsets · 529565dc
      Ingo Molnar 提交于
      add optional input and output offsets to sys_splice(), for seekable file
      descriptors:
      
       asmlinkage long sys_splice(int fd_in, loff_t __user *off_in,
                                  int fd_out, loff_t __user *off_out,
                                  size_t len, unsigned int flags);
      
      semantics are straightforward: f_pos will be updated with the offset
      provided by user-space, before the splice transfer is about to begin.
      Providing a NULL offset pointer means the existing f_pos will be used
      (and updated in situ).  Providing an offset for a pipe results in
      -ESPIPE. Providing an invalid offset pointer results in -EFAULT.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NJens Axboe <axboe@suse.de>
      529565dc
    • I
      [PATCH] introduce a "kernel-internal pipe object" abstraction · 3a326a2c
      Ingo Molnar 提交于
      separate out the 'internal pipe object' abstraction, and make it
      usable to splice. This cleans up and fixes several aspects of the
      internal splice APIs and the pipe code:
      
       - pipes: the allocation and freeing of pipe_inode_info is now more symmetric
         and more streamlined with existing kernel practices.
      
       - splice: small micro-optimization: less pointer dereferencing in splice
         methods
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      
      Update XFS for the ->splice_read/->splice_write changes.
      Signed-off-by: NJens Axboe <axboe@suse.de>
      3a326a2c
    • A
      [PATCH] x86_64: Eliminate IA32_NR_syscalls define · 67d53ea5
      Andi Kleen 提交于
      Or rather compute it based on the table length automatically.
      
      This also has the intended side effect of not warning for new system calls
      anymore.
      Signed-off-by: NAndi Kleen <ak@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      67d53ea5
    • S
      [PATCH] x86_64: fix CONFIG_REORDER · bbd3aff8
      Sam Ravnborg 提交于
      Fix CONFIG_REORDER.
      
      The value of cflags-y was assined to CFLAGS before cflags-y was assigned
      the value used for CONFIG_REORDER.
      
      Use cflags-y for all CFLAGS options in the Makefile to avoid this
      happening again.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NAndi Kleen <ak@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      bbd3aff8
    • J
      [PATCH] x86_64: Fix drift with HPET timer enabled · b20367a6
      Jordan Hargrave 提交于
      If the HPET timer is enabled, the clock can drift by ~3 seconds a day.
      This is due to the HPET timer not being initialized with the correct
      setting (still using PIT count).
      
      If HZ changes, this drift can become even more pronounced.
      
      HPET patch initializes tick_nsec with correct tick_nsec settings for
      HPET timer.
      
      Vojtech comments:
      
        "It's not entirely correct (it assumes the HPET ticks totally
         exactly), but it's significantly better than assuming the PIT error
         there."
      Signed-off-by: NAndi Kleen <ak@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      b20367a6
    • A
      [PATCH] x86_64: Don't run NMI watchdog during machine checks · 553f265f
      Andi Kleen 提交于
      Machine checks can stall the machine for a long time and
      it's not good to trigger the nmi watchdog during that.
      Signed-off-by: NAndi Kleen <ak@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      553f265f
    • D
      [PATCH] x86_64: extra NODES_SHIFT definition · be56db61
      Dave Hansen 提交于
      The generic linux/numa.h file defines NODES_SHIFT to 0 in case
      the architecture did not.
      
      Every architecture which has a NUMA config option defines
      NODES_SHIFT in its asm-$ARCH headers, but only if NUMA is
      enabled, except for x86_64.
      
      This should make it like all the rest.
      Signed-off-by: NDave Hansen <haveblue@us.ibm.com>
      Signed-off-by: NAndi Kleen <ak@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      be56db61
    • A
      [PATCH] i386: Consolidate modern APIC handling · 95d769aa
      Andi Kleen 提交于
      AMD systems have a modern APIC that supports 8 bit IDs, but
      don't have a XAPIC version number.  Add a new "modern_apic"
      subfunction that handles this correctly and use it (nearly)
      everywhere where XAPIC is tested for.
      
      I removed one wart: the code specified that external APICs
      would use an 8bit APIC ID. But I checked a real 82093 data sheet
      and it says clearly that they only use 4bit. So I removed
      this special case since it would a bit awkward to implement now.
      
      I removed the valid APIC tests in mptable parsing completely. On any modern
      system they only check against the full field width (8bit) anyways
      and are no-ops. This also fixes them doing the wrong thing
      on >8 core Opterons.
      
      This makes i386 boot again on 16 core Opterons.
      
      Cc: Ingo Molnar <mingo@elte.hu>
      Signed-off-by: NAndi Kleen <ak@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      95d769aa
    • A
      [PATCH] x86_64: Introduce e820_all_mapped · 95222368
      Arjan van de Ven 提交于
      Introduce a e820_all_mapped() function which checks if the entire range
      <start,end> is mapped with type.
      
      This is done by moving the local start variable to the end of each
      known-good region; if at the end of the function the start address is
      still before end, there must be a part that's not of the correct type;
      otherwise it's a good region.
      Signed-off-by: NArjan van de Ven <arjan@linux.intel.com>
      Signed-off-by: NAndi Kleen <ak@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      95222368
    • A
      [PATCH] x86_64: Rename e820_mapped to e820_any_mapped · eee5a9fa
      Arjan van de Ven 提交于
      Rename e820_mapped to e820_any_mapped since it tests if any part of the
      range is mapped according to the type.
      
      Later steps will introduce e820_all_mapped which will check if the
      entire range is mapped with the type.  Both have their merit.
      Signed-off-by: NArjan van de Ven <arjan@linux.intel.com>
      Signed-off-by: NAndi Kleen <ak@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      eee5a9fa
    • A
      [PATCH] x86_64: Handle empty PXMs that only contain hotplug memory · a8062231
      Andi Kleen 提交于
      The node setup code would try to allocate the node metadata in the node
      itself, but that fails if there is no memory in there.
      
      This can happen with memory hotplug when the hotplug area defines an so
      far empty node.
      
      Now use bootmem to try to allocate the mem_map in other nodes.
      
      And if it fails don't panic, but just ignore the node.
      
      To make this work I added a new __alloc_bootmem_nopanic function that
      does what its name implies.
      
      TBD should try to use nearby nodes here.  Currently we just use any.
      It's hard to do it better because bootmem doesn't have proper fallback
      lists yet.
      Signed-off-by: NAndi Kleen <ak@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      a8062231
    • A
      [PATCH] x86_64: Reserve SRAT hotadd memory on x86-64 · 68a3a7fe
      Andi Kleen 提交于
      From: Keith Mannthey, Andi Kleen
      
      Implement memory hotadd without sparsemem. The memory in the SRAT
      hotadd area is just preserved instead and can be activated later.
      
      There are a few restrictions:
      - Only one continuous hotadd area allowed per node
      
      The main problem is dealing with the many buggy SRAT tables
      that are out there. The strategy here is to reject anything
      suspicious.
      
      Originally from Keith Mannthey, with several hacks and changes by AK
      and also contributions from Andrew Morton
      
      [ TBD: Problems pointed out by KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>:
      
       1) Goto's rebuild_zonelist patch will not work if CONFIG_MEMORY_HOTPLUG=n.
      
          Rebuilding zonelist is necessary when the system has just memory <
          4G at boot, and hot add memory > 4G.  because x86_64 has DMA32,
          ZONE_NORAML is not included into zonelist at boot time if system
          doesn't have memory >4G at boot.
      
          [AK: should just force the higher zones at boot time when SRAT tells us]
      
       2) zone and node's spanned_pages and present_pages are not incremented.
          They should be.
      
          For example, our server (ia64/Fujitsu PrimeQuest) can equip memory
          from 4G to 1T(maybe 2T in future), and SRAT will *always* say we have
          possible 1T +memory.  (Microsoft requires "write all possible memory
          in SRAT") When we reserve memmap for possible 1T memory, Linux will
          not work well in +minimum 4G configuraion ;)
      
          [AK: needs limiting to 5-10% of max memory]
       ]
      Signed-off-by: NAndi Kleen <ak@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      68a3a7fe
    • A
      [PATCH] x86_64: Support memory hotadd without sparsemem · 9d99aaa3
      Andi Kleen 提交于
      Memory hotadd doesn't need SPARSEMEM, but can be handled by just preallocating
      mem_maps. This only needs some untangling of ifdefs to enable the necessary
      code even without SPARSEMEM.
      
      Originally from Keith Mannthey, hacked by AK.
      Signed-off-by: NAndi Kleen <ak@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      9d99aaa3
  3. 03 4月, 2006 16 次提交
  4. 02 4月, 2006 8 次提交