1. 18 Jul, 2008 6 commits
    • Maciej W. Rozycki's avatar
      x86: I/O APIC: Always report how the timer has been set up · 49a66a0b
      Maciej W. Rozycki authored
      Following recent (and less so) issues with the 8254 timer when routed
      through the I/O or local APIC, always report which configurations have
      been tried and which one has been set up eventually.  This is so that logs
      posted by people for some other reason can be used as a cross-reference
      when investigating any possible future problems.
      
      The change unifies messages printed on 32-bit and 64-bit platforms and
      adds trailing newlines (removes leading ones), so that proper log level
      annotation can be used and any possible interspersed output will not cause
      a mess.
      
      I have chosen to use apic_printk(APIC_QUIET, ...) rather than printk(...)
      so that the distinction of these messages is maintained making possible
      future decisions about changes in this area easier.  A change posted
      separately making apic_verbosity unsigned removes any extra code that
      would otherwise be generated as a result of this design decision.
      Signed-off-by: default avatarMaciej W. Rozycki <macro@linux-mips.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      49a66a0b
    • Maciej W. Rozycki's avatar
      x86: APIC: Make apic_verbosity unsigned · baa13188
      Maciej W. Rozycki authored
      As a microoptimisation, make apic_verbosity unsigned.  This will make
      apic_printk(APIC_QUIET, ...) expand into just printk(...) with the
      surrounding condition and a reference to apic_verbosity removed.
      Signed-off-by: default avatarMaciej W. Rozycki <macro@linux-mips.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      baa13188
    • Maciej W. Rozycki's avatar
      x86: I/O APIC: Include <asm/i8259.h> required by some code · 17c44697
      Maciej W. Rozycki authored
      Include <asm/i8259.h> for i8259A_lock used in print_PIC() -- #if-0-ed out
      by default.  The 32-bit version gets it right already.
      
      The plan is to enable this code with "apic=debug" eventually.  This will
      aid with debugging strange problems without the need to ask people to
      apply patches.
      Signed-off-by: default avatarMaciej W. Rozycki <macro@linux-mips.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      17c44697
    • Cyrill Gorcunov's avatar
      x86: apic_32 - introduce calibrate_APIC_clock · 836c129d
      Cyrill Gorcunov authored
      Introduce calibrate_APIC_clock so it could help in further 32/64bit
      apic code merging.
      Signed-off-by: default avatarCyrill Gorcunov <gorcunov@gmail.com>
      Cc: Cyrill Gorcunov <gorcunov@gmail.com>
      Cc: macro@linux-mips.org
      Cc: yhlu.kernel@gmail.com
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      836c129d
    • Cyrill Gorcunov's avatar
      x86: apic_64 - make calibrate_APIC_clock to return error code · 89b3b1f4
      Cyrill Gorcunov authored
      Make calibration_result to return error and check calibration_result
      to be sufficient inside calibrate_APIC_clock.
      Signed-off-by: default avatarCyrill Gorcunov <gorcunov@gmail.com>
      Cc: Cyrill Gorcunov <gorcunov@gmail.com>
      Cc: macro@linux-mips.org
      Cc: yhlu.kernel@gmail.com
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      89b3b1f4
    • Maciej W. Rozycki's avatar
      x86: APIC: remove apic_write_around(); use alternatives · 593f4a78
      Maciej W. Rozycki authored
      Use alternatives to select the workaround for the 11AP Pentium erratum
      for the affected steppings on the fly rather than build time.  Remove the
      X86_GOOD_APIC configuration option and replace all the calls to
      apic_write_around() with plain apic_write(), protecting accesses to the
      ESR as appropriate due to the 3AP Pentium erratum.  Remove
      apic_read_around() and all its invocations altogether as not needed.
      Remove apic_write_atomic() and all its implementing backends.  The use of
      ASM_OUTPUT2() is not strictly needed for input constraints, but I have
      used it for readability's sake.
      
      I had the feeling no one else was brave enough to do it, so I went ahead
      and here it is.  Verified by checking the generated assembly and tested
      with both a 32-bit and a 64-bit configuration, also with the 11AP
      "feature" forced on and verified with gdb on /proc/kcore to work as
      expected (as an 11AP machines are quite hard to get hands on these days).
      Some script complained about the use of "volatile", but apic_write() needs
      it for the same reason and is effectively a replacement for writel(), so I
      have disregarded it.
      
      I am not sure what the policy wrt defconfig files is, they are generated
      and there is risk of a conflict resulting from an unrelated change, so I
      have left changes to them out.  The option will get removed from them at
      the next run.
      
      Some testing with machines other than mine will be needed to avoid some
      stupid mistake, but despite its volume, the change is not really that
      intrusive, so I am fairly confident that because it works for me, it will
      everywhere.
      Signed-off-by: default avatarMaciej W. Rozycki <macro@linux-mips.org>
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      593f4a78
  2. 17 Jul, 2008 32 commits
  3. 16 Jul, 2008 2 commits
    • Jesse Barnes's avatar
      Revert "x86/PCI: ACPI based PCI gap calculation" · 58b6e553
      Jesse Barnes authored
      This reverts commit 809d9a8f.
      
      This one isn't quite ready for prime time.  It needs more testing and
      additional feedback from the ACPI guys.
      58b6e553
    • Coly Li's avatar
      [PATCH] ocfs2: fix oops in mmap_truncate testing · c0420ad2
      Coly Li authored
      This patch fixes a mmap_truncate bug which was found by ocfs2 test suite.
      
      In an ocfs2 cluster more than 1 node, run program mmap_truncate, which races
      mmap writes and truncates from multiple processes. While the test is
      running, a stat from another node forces writeout, causing an oops in
      ocfs2_get_block() because it sees a buffer to write which isn't allocated.
      
      This patch fixed the bug by clear dirty and uptodate bits in buffer, leave
      the buffer unmapped and return.
      
      Fix is suggested by Mark Fasheh, and I code up the patch.
      Signed-off-by: default avatarColy Li <coyli@suse.de>
      Signed-off-by: default avatarMark Fasheh <mfasheh@suse.com>
      c0420ad2