1. 12 7月, 2011 16 次提交
  2. 28 6月, 2011 2 次提交
    • J
      watchdog: Intel SCU Watchdog: Fix build and remove duplicate code · e376fd66
      Jesper Juhl 提交于
      Trying to build the Intel SCU Watchdog fails for me with gcc 4.6.0 -
      $ gcc --version | head -n 1
      gcc (GCC) 4.6.0 20110513 (prerelease)
      
      like this :
        CC      drivers/watchdog/intel_scu_watchdog.o
      In file included from drivers/watchdog/intel_scu_watchdog.c:49:0:
      /home/jj/src/linux-2.6/arch/x86/include/asm/apb_timer.h: In function ‘apbt_time_init’:
      /home/jj/src/linux-2.6/arch/x86/include/asm/apb_timer.h:65:42: warning: ‘return’ with a value, in function returning void [enabled by default]
      drivers/watchdog/intel_scu_watchdog.c: In function ‘intel_scu_watchdog_init’:
      drivers/watchdog/intel_scu_watchdog.c:468:2: error: implicit declaration of function ‘sfi_get_mtmr’ [-Werror=implicit-function-declaration]
      drivers/watchdog/intel_scu_watchdog.c:468:32: warning: assignment makes pointer from integer without a cast [enabled by default]
      cc1: some warnings being treated as errors
      
      make[1]: *** [drivers/watchdog/intel_scu_watchdog.o] Error 1
      make: *** [drivers/watchdog/intel_scu_watchdog.o] Error 2
      
      Additionally, linux/types.h is needlessly being included twice in 
      drivers/watchdog/intel_scu_watchdog.c
      Signed-off-by: NJesper Juhl <jj@chaosbits.net>
      Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
      e376fd66
    • K
      Fix node_start/end_pfn() definition for mm/page_cgroup.c · c6830c22
      KAMEZAWA Hiroyuki 提交于
      commit 21a3c964 uses node_start/end_pfn(nid) for detection start/end
      of nodes. But, it's not defined in linux/mmzone.h but defined in
      /arch/???/include/mmzone.h which is included only under
      CONFIG_NEED_MULTIPLE_NODES=y.
      
      Then, we see
        mm/page_cgroup.c: In function 'page_cgroup_init':
        mm/page_cgroup.c:308: error: implicit declaration of function 'node_start_pfn'
        mm/page_cgroup.c:309: error: implicit declaration of function 'node_end_pfn'
      
      So, fixiing page_cgroup.c is an idea...
      
      But node_start_pfn()/node_end_pfn() is a very generic macro and
      should be implemented in the same manner for all archs.
      (m32r has different implementation...)
      
      This patch removes definitions of node_start/end_pfn() in each archs
      and defines a unified one in linux/mmzone.h. It's not under
      CONFIG_NEED_MULTIPLE_NODES, now.
      
      A result of macro expansion is here (mm/page_cgroup.c)
      
      for !NUMA
       start_pfn = ((&contig_page_data)->node_start_pfn);
        end_pfn = ({ pg_data_t *__pgdat = (&contig_page_data); __pgdat->node_start_pfn + __pgdat->node_spanned_pages;});
      
      for NUMA (x86-64)
        start_pfn = ((node_data[nid])->node_start_pfn);
        end_pfn = ({ pg_data_t *__pgdat = (node_data[nid]); __pgdat->node_start_pfn + __pgdat->node_spanned_pages;});
      
      Changelog:
       - fixed to avoid using "nid" twice in node_end_pfn() macro.
      Reported-and-acked-by: NRandy Dunlap <randy.dunlap@oracle.com>
      Reported-and-tested-by: NIngo Molnar <mingo@elte.hu>
      Acked-by: NMel Gorman <mgorman@suse.de>
      Signed-off-by: NKAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      c6830c22
  3. 20 6月, 2011 1 次提交
  4. 19 6月, 2011 1 次提交
  5. 29 5月, 2011 2 次提交
    • L
      x86 idle: clarify AMD erratum 400 workaround · 02c68a02
      Len Brown 提交于
      The workaround for AMD erratum 400 uses the term "c1e" falsely suggesting:
      1. Intel C1E is somehow involved
      2. All AMD processors with C1E are involved
      
      Use the string "amd_c1e" instead of simply "c1e" to clarify that
      this workaround is specific to AMD's version of C1E.
      Use the string "e400" to clarify that the workaround is specific
      to AMD processors with Erratum 400.
      
      This patch is text-substitution only, with no functional change.
      
      cc: x86@kernel.org
      Acked-by: NBorislav Petkov <borislav.petkov@amd.com>
      Signed-off-by: NLen Brown <len.brown@intel.com>
      02c68a02
    • E
      ns: Wire up the setns system call · 7b21fddd
      Eric W. Biederman 提交于
      32bit and 64bit on x86 are tested and working.  The rest I have looked
      at closely and I can't find any problems.
      
      setns is an easy system call to wire up.  It just takes two ints so I
      don't expect any weird architecture porting problems.
      
      While doing this I have noticed that we have some architectures that are
      very slow to get new system calls.  cris seems to be the slowest where
      the last system calls wired up were preadv and pwritev.  avr32 is weird
      in that recvmmsg was wired up but never declared in unistd.h.  frv is
      behind with perf_event_open being the last syscall wired up.  On h8300
      the last system call wired up was epoll_wait.  On m32r the last system
      call wired up was fallocate.  mn10300 has recvmmsg as the last system
      call wired up.  The rest seem to at least have syncfs wired up which was
      new in the 2.6.39.
      
      v2: Most of the architecture support added by Daniel Lezcano <dlezcano@fr.ibm.com>
      v3: ported to v2.6.36-rc4 by: Eric W. Biederman <ebiederm@xmission.com>
      v4: Moved wiring up of the system call to another patch
      v5: ported to v2.6.39-rc6
      v6: rebased onto parisc-next and net-next to avoid syscall  conflicts.
      v7: ported to Linus's latest post 2.6.39 tree.
      
      >  arch/blackfin/include/asm/unistd.h     |    3 ++-
      >  arch/blackfin/mach-common/entry.S      |    1 +
      Acked-by: NMike Frysinger <vapier@gentoo.org>
      
      Oh - ia64 wiring looks good.
      Acked-by: NTony Luck <tony.luck@intel.com>
      Signed-off-by: NEric W. Biederman <ebiederm@xmission.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      7b21fddd
  6. 27 5月, 2011 4 次提交
  7. 25 5月, 2011 6 次提交
    • R
      x86: remove 32-bit versions of readq()/writeq() · dbee8a0a
      Roland Dreier 提交于
      The presense of a writeq() implementation on 32-bit x86 that splits the
      64-bit write into two 32-bit writes turns out to break the mpt2sas driver
      (and in general is risky for drivers as was discussed in
      <http://lkml.kernel.org/r/adaab6c1h7c.fsf@cisco.com>).  To fix this,
      revert 2c5643b1 ("x86: provide readq()/writeq() on 32-bit too") and
      follow-on cleanups.
      
      This unfortunately leads to pushing non-atomic definitions of readq() and
      write() to various x86-only drivers that in the meantime started using the
      definitions in the x86 version of <asm/io.h>.  However as discussed
      exhaustively, this is actually the right thing to do, because the right
      way to split a 64-bit transaction is hardware dependent and therefore
      belongs in the hardware driver (eg mpt2sas needs a spinlock to make sure
      no other accesses occur in between the two halves of the access).
      
      Build tested on 32- and 64-bit x86 allmodconfig.
      
      Link: http://lkml.kernel.org/r/x86-32-writeq-is-broken@mdm.bga.comAcked-by: NHitoshi Mitake <h.mitake@gmail.com>
      Cc: Kashyap Desai <Kashyap.Desai@lsi.com>
      Cc: Len Brown <lenb@kernel.org>
      Cc: Ravi Anand <ravi.anand@qlogic.com>
      Cc: Vikas Chaudhary <vikas.chaudhary@qlogic.com>
      Cc: Matthew Garrett <mjg@redhat.com>
      Cc: Jason Uhlenkott <juhlenko@akamai.com>
      Acked-by: NJames Bottomley <James.Bottomley@parallels.com>
      Acked-by: NIngo Molnar <mingo@elte.hu>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Signed-off-by: NRoland Dreier <roland@purestorage.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      dbee8a0a
    • R
      x86: Reorder mm_context_t to remove x86_64 alignment padding and thus shrink mm_struct · af6a25f0
      Richard Kennedy 提交于
      Reorder mm_context_t to remove alignment padding on 64 bit
      builds shrinking its size from 64 to 56 bytes.
      
      This allows mm_struct to shrink from 840 to 832 bytes, so using
      one fewer cache lines, and getting more objects per slab when
      using slub.
      
      slabinfo mm_struct reports
      before :-
      
          Sizes (bytes)     Slabs
          -----------------------------------
          Object :     840  Total  :       7
          SlabObj:     896  Full   :       1
          SlabSiz:   16384  Partial:       4
          Loss   :      56  CpuSlab:       2
          Align  :      64  Objects:      18
      
      after :-
      
          Sizes (bytes)     Slabs
          ----------------------------------
          Object :     832  Total  :       7
          SlabObj:     832  Full   :       1
          SlabSiz:   16384  Partial:       4
          Loss   :       0  CpuSlab:       2
          Align  :      64  Objects:      19
      Signed-off-by: NRichard Kennedy <richard@rsk.demon.co.uk>
      Cc: wilsons@start.ca
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Pekka Enberg <penberg@kernel.org>
      Link: http://lkml.kernel.org/r/1306244999.1999.5.camel@castor.rskSigned-off-by: NIngo Molnar <mingo@elte.hu>
      af6a25f0
    • C
      x86, UV: Clean up uv_tlb.c · f073cc8f
      Cliff Wickman 提交于
      SGI UV's uv_tlb.c driver has become rather hard to read, with overly large
      functions, non-standard coding style and (way) too long variable, constant
      and function names and non-obvious code flow sequences.
      
      This patch improves the readability and maintainability of the driver
      significantly, by doing the following strict code cleanups with no side
      effects:
      
       - Split long functions into shorter logical functions.
      
       - Shortened some variable and structure member names.
      
       - Added special functions for reads and writes of MMR regs with
         very long names.
      
       - Added the 'tunables' table to shortened tunables_write().
      
       - Added the 'stat_description' table to shorten uv_ptc_proc_write().
      
       - Pass fewer 'stat' arguments where it can be derived from the 'bcp'
         argument.
      
       - Function definitions consistent on one line, and inline in few (short) cases.
      
       - Moved some small structures and an atomic inline function to the header file.
      
       - Moved some local variables to the blocks where they are used.
      
       - Updated the copyright date.
      
       - Shortened uv_write_global_mmr64() etc. using some aliasing; no
         line breaks. Renamed many uv_.. functions that are not exported.
      
       - Aligned structure fields.
          [ note that not all structures are aligned the same way though; I'd like
            to keep the extensive commenting in some of them. ]
      
       - Shortened some long structure names.
      
       - Standard pass/fail exit from init_per_cpu()
      
       - Vertical alignment for mass initializations.
      
       - More separation between blocks of code.
      
      Tested on a 16-processor Altix UV.
      Signed-off-by: NCliff Wickman <cpw@sgi.com>
      Cc: penberg@kernel.org
      Link: http://lkml.kernel.org/r/E1QOw12-0004MN-Lp@eag09.americas.sgi.comSigned-off-by: NIngo Molnar <mingo@elte.hu>
      f073cc8f
    • J
      x86, UV: Add support for SGI UV2 hub chip · 2a919596
      Jack Steiner 提交于
      This patch adds support for a new version of the SGI UV hub
      chip. The hub chip is the node controller that connects multiple
      blades into a larger coherent SSI.
      
      For the most part, UV2 is compatible with UV1. The majority of
      the changes are in the addresses of MMRs and in a few cases, the
      contents of MMRs. These changes are the result in changes in the
      system topology such as node configuration, processor types,
      maximum nodes, physical address sizes, etc.
      Signed-off-by: NJack Steiner <steiner@sgi.com>
      Link: http://lkml.kernel.org/r/20110511175028.GA18006@sgi.comSigned-off-by: NIngo Molnar <mingo@elte.hu>
      2a919596
    • K
      x86, cpufeature: Update CPU feature RDRND to RDRAND · 7ccafc5f
      Kees Cook 提交于
      The Intel manual changed the name of the CPUID bit to match the
      instruction name. We should follow suit for sanity's sake. (See Intel SDM
      Volume 2, Table 3-20 "Feature Information Returned in the ECX Register".)
      
      [ hpa: we can only do this at this time because there are currently no CPUs
        with this feature on the market, hence this is pre-hardware enabling.
        However, Cc:'ing stable so that stable can present a consistent ABI. ]
      Signed-off-by: NKees Cook <kees.cook@canonical.com>
      Link: http://lkml.kernel.org/r/20110524232926.GA27728@outflux.netSigned-off-by: NH. Peter Anvin <hpa@linux.intel.com>
      Cc: Fenghua Yu <fenghua.yu@intel.com>
      Cc: <stable@kernel.org> v2.6.36-39
      7ccafc5f
    • R
      PM / Hibernate: Remove arch_prepare_suspend() · 35425801
      Rafael J. Wysocki 提交于
      All architectures supporting hibernation define
      arch_prepare_suspend() as an empty function, so remove it.
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      35425801
  8. 24 5月, 2011 3 次提交
  9. 22 5月, 2011 5 次提交