1. 15 Feb, 2013 10 commits
    • Vineet Gupta's avatar
      ARC: I/O and DMA Mappings · 1162b070
      Vineet Gupta authored
      Signed-off-by: default avatarVineet Gupta <vgupta@synopsys.com>
      1162b070
    • Vineet Gupta's avatar
      ARC: Page Fault handling · fbd7053a
      Vineet Gupta authored
      This includes recent changes to make handler "retry" and/or "killable"
      
      The killable (early exit) logic is loosely based on how SH implements it
      	return if SIGKILL + either of VM_FAULT_OOM or VM_FAULT_RETRY
      which is different from Hexagon implementation which would NOT early
      exit for
      	SIGKILL + VM_FAULT_OOM + !VM_FAULT_RETRY
      
      credits: Non executable stack support from Simon Spooner
      Signed-off-by: default avatarVineet Gupta <vgupta@synopsys.com>
      fbd7053a
    • Vineet Gupta's avatar
      ARC: TLB flush Handling · d79e678d
      Vineet Gupta authored
      Signed-off-by: default avatarVineet Gupta <vgupta@synopsys.com>
      d79e678d
    • Vineet Gupta's avatar
      ARC: MMU Exception Handling · cc562d2e
      Vineet Gupta authored
      * MMU I-TLB / D-TLB Miss Exceptions
        - Fast Path TLB Refill Handler
        - slowpath TLB creation via do_page_fault() -> update_mmu_cache()
      * Duplicate PD Exception Handler
      Signed-off-by: default avatarVineet Gupta <vgupta@synopsys.com>
      cc562d2e
    • Vineet Gupta's avatar
      ARC: MMU Context Management · f1f3347d
      Vineet Gupta authored
      ARC700 MMU provides for tagging TLB entries with a 8-bit ASID to avoid
      having to flush the TLB every task switch.
      
      It also allows for a quick way to invalidate all the TLB entries for
      task useful for:
      * COW sementics during fork()
      * task exit()ing
      Signed-off-by: default avatarVineet Gupta <vgupta@synopsys.com>
      f1f3347d
    • Vineet Gupta's avatar
      ARC: Page Table Management · 5dda4dc5
      Vineet Gupta authored
      Signed-off-by: default avatarVineet Gupta <vgupta@synopsys.com>
      5dda4dc5
    • Vineet Gupta's avatar
      ARC: Cache Flush Management · 95d6976d
      Vineet Gupta authored
      * ARC700 has VIPT L1 Caches
      * Caches don't snoop and are not coherent
      * Given the PAGE_SIZE and Cache associativity, we don't support aliasing
        D$ configurations (yet), but do allow aliasing I$ configs
      Signed-off-by: default avatarVineet Gupta <vgupta@synopsys.com>
      95d6976d
    • Vineet Gupta's avatar
      ARC: [Review] Prevent incorrect syscall restarts · 55bb9480
      Vineet Gupta authored
      Per Al Viro's "signals for dummies" https://lkml.org/lkml/2012/12/6/366
      there are 3 golden rules for (not) restarting syscalls:
      
      "	What we need to guarantee is
      * restarts do not happen on signals caught in interrupts or exceptions
      * restarts do not happen on signals caught in sigreturn()
      * restart should happen only once, even if we get through do_signal()
        many times."
      
      ARC Port already handled #1, this patch fixes #2 and #3.
      
      We use the additional state in pt_regs->orig_r8 to ckh if restarting
      has already been done once.
      
      Thanks to Al Viro for spotting this.
      Signed-off-by: default avatarVineet Gupta <vgupta@synopsys.com>
      Cc: Al Viro <viro@ZenIV.linux.org.uk>
      55bb9480
    • Vineet Gupta's avatar
      ARC: [Review] Preparing to fix incorrect syscall restarts due to signals · 5c39c0ab
      Vineet Gupta authored
      To avoid multiple syscall restarts (multiple signals) or no restart at
      all (sigreturn), we need just an extra bit of state "literally 1 bit" in
      struct pt_regs. orig_r8 is the best place to do this, however given the
      way it is encoded currently, we can't add anything simplistically.
      
      Current orig_r8:
      * syscalls   -> 1 to NR_SYSCALLS
      * Exceptions -> NR_SYSCALLS + 1
      * Break-point-> NR_SYSCALLS + 2
      
      In new scheme it is a bit-field
      * lower short word contains the  exact event type (and a new bit to represent
         restart semantics : if syscall was already / can't be restarted)
      * upper short word optionally containing the syscall num - needed by
        likes of tracehooks etc
      
      This patch only changes how orig_r8 is organised and nothing should
      change behaviourily.
      Signed-off-by: default avatarVineet Gupta <vgupta@synopsys.com>
      Cc: Al Viro <viro@ZenIV.linux.org.uk>
      5c39c0ab
    • Vineet Gupta's avatar
      ARC: Signal handling · c3581039
      Vineet Gupta authored
      Includes following fixes courtesy review by Al-Viro
      
      * Tracer poke to Callee-regs were lost
      
        Before going off into do_signal( ) we save the user-mode callee regs
        (as they are not saved by default as part of pt_regs). This is to make
        sure that that a Tracer (if tracing related signal) is able to do likes
        of PEEKUSR(callee-reg).
      
        However in return path we were simply discarding the user-mode callee
        regs, which would break a POKEUSR(callee-reg) from a tracer.
      
      * Issue related to multiple syscall restarts are addressed in next patch
      Signed-off-by: default avatarVineet Gupta <vgupta@synopsys.com>
      Cc: Al Viro <viro@ZenIV.linux.org.uk>
      Acked-by: default avatarJonas Bonn <jonas@southpole.se>
      c3581039
  2. 11 Feb, 2013 18 commits
  3. 28 Jan, 2013 1 commit
  4. 25 Jan, 2013 4 commits
    • Linus Torvalds's avatar
      Linux 3.8-rc5 · 949db153
      Linus Torvalds authored
      949db153
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs · d7df025e
      Linus Torvalds authored
      Pull btrfs fixes from Chris Mason:
       "It turns out that we had two crc bugs when running fsx-linux in a
        loop.  Many thanks to Josef, Miao Xie, and Dave Sterba for nailing it
        all down.  Miao also has a new OOM fix in this v2 pull as well.
      
        Ilya fixed a regression Liu Bo found in the balance ioctls for pausing
        and resuming a running balance across drives.
      
        Josef's orphan truncate patch fixes an obscure corruption we'd see
        during xfstests.
      
        Arne's patches address problems with subvolume quotas.  If the user
        destroys quota groups incorrectly the FS will refuse to mount.
      
        The rest are smaller fixes and plugs for memory leaks."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: (30 commits)
        Btrfs: fix repeated delalloc work allocation
        Btrfs: fix wrong max device number for single profile
        Btrfs: fix missed transaction->aborted check
        Btrfs: Add ACCESS_ONCE() to transaction->abort accesses
        Btrfs: put csums on the right ordered extent
        Btrfs: use right range to find checksum for compressed extents
        Btrfs: fix panic when recovering tree log
        Btrfs: do not allow logged extents to be merged or removed
        Btrfs: fix a regression in balance usage filter
        Btrfs: prevent qgroup destroy when there are still relations
        Btrfs: ignore orphan qgroup relations
        Btrfs: reorder locks and sanity checks in btrfs_ioctl_defrag
        Btrfs: fix unlock order in btrfs_ioctl_rm_dev
        Btrfs: fix unlock order in btrfs_ioctl_resize
        Btrfs: fix "mutually exclusive op is running" error code
        Btrfs: bring back balance pause/resume logic
        btrfs: update timestamps on truncate()
        btrfs: fix btrfs_cont_expand() freeing IS_ERR em
        Btrfs: fix a bug when llseek for delalloc bytes behind prealloc extents
        Btrfs: fix off-by-one in lseek
        ...
      d7df025e
    • Linus Torvalds's avatar
      Merge branch 'for-next' of git://git.samba.org/sfrench/cifs-2.6 · 66e2d3e8
      Linus Torvalds authored
      Pull cifs fixes from Steve French:
       "Two small cifs fixes"
      
      * 'for-next' of git://git.samba.org/sfrench/cifs-2.6:
        fs/cifs/cifs_dfs_ref.c: fix potential memory leakage
        cifs: fix srcip_matches() for ipv6
      66e2d3e8
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/virt/kvm/kvm · d93816a6
      Linus Torvalds authored
      Pull kvm fixlet from Marcelo Tosatti.
      
      * git://git.kernel.org/pub/scm/virt/kvm/kvm:
        KVM: PPC: Emulate dcbf
      d93816a6
  5. 24 Jan, 2013 7 commits
    • Linus Torvalds's avatar
      Merge branch 'fixes' of git://git.linaro.org/people/rmk/linux-arm · 01acd3ef
      Linus Torvalds authored
      Pull ARM fixes from Russell King:
       "A number of fixes:
      
        Patrik found a problem with preempt counting in the VFP assembly
        functions which can cause the preempt count to be upset.
      
        Nicolas fixed a problem with the parsing of the DT when it straddles a
        1MB boundary.
      
        Subhash Jadavani reported a problem with sparsemem and our highmem
        support for cache maintanence for DMA areas, and TI found a bug in
        their strongly ordered memory mapping type.
      
        Also, three fixes by way of Will Deacon's tree from Dave Martin for
        instruction compatibility and Marc Zyngier to fix hypervisor boot mode
        issues."
      
      * 'fixes' of git://git.linaro.org/people/rmk/linux-arm:
        ARM: 7629/1: mm: Fix missing XN flag for for MT_MEMORY_SO
        ARM: DMA: Fix struct page iterator in dma_cache_maint() to work with sparsemem
        ARM: 7628/1: head.S: map one extra section for the ATAG/DTB area
        ARM: 7627/1: Predicate preempt logic on PREEMP_COUNT not PREEMPT alone
        ARM: virt: simplify __hyp_stub_install epilog
        ARM: virt: boot secondary CPUs through the right entry point
        ARM: virt: Avoid bx instruction for compatibility with <=ARMv4
      01acd3ef
    • Linus Torvalds's avatar
      Merge tag 'fixes-for-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 1496ec13
      Linus Torvalds authored
      Pull ARM SoC fixes from Olof Johansson:
       "Here's a long-pending fixes pull request for arm-soc (I didn't send
        one in the -rc4 cycle).
      
        The larger deltas are from:
      
         - A fixup of error paths in the mvsdio driver
      
         - Header file move for a driver that hadn't been properly converted
           to multiplatform on i.MX, which was causing build failures when
           included
      
         - Device tree updates for at91 dealing mostly with their new pinctrl
           setup merged in 3.8 and mistakes in those initial configs
      
        The rest are the normal mix of small fixes all over the place; sunxi,
        omap, imx, mvebu, etc, etc."
      
      * tag 'fixes-for-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (40 commits)
        mfd: vexpress-sysreg: Don't skip initialization on probe
        ARM: vexpress: Enable A7 cores in V2P-CA15_A7's Device Tree
        ARM: vexpress: extend the MPIDR range used for pen release check
        ARM: at91/dts: correct comment in at91sam9x5.dtsi for mii
        ARM: at91/at91_dt_defconfig: add at91sam9n12 SoC to DT defconfig
        ARM: at91/at91_dt_defconfig: remove memory specification to cmdline
        ARM: at91/dts: add macb mii pinctrl config for kizbox
        ARM: at91: rm9200: remake the BGA as default version
        ARM: at91: fix gpios on i2c-gpio for RM9200 DT
        ARM: at91/at91sam9x5 DTS: add SCK USART pins
        ARM: at91/at91sam9x5 DTS: correct wrong PIO BANK values on u(s)arts
        ARM: at91/at91-pinctrl documentation: fix typo and add some details
        ARM: kirkwood: fix missing #interrupt-cells property
        mmc: mvsdio: use devm_ API to simplify/correct error paths.
        clk: mvebu/clk-cpu.c: fix memory leakage
        ARM: OMAP2+: omap4-panda: add UART2 muxing for WiLink shared transport
        ARM: OMAP2+: DT node Timer iteration fix
        ARM: OMAP2+: Fix section warning for omap_init_ocp2scp()
        ARM: OMAP2+: fix build break for omapdrm
        ARM: OMAP2: Fix missing omap2xxx_clkt_vps_late_init function calls
        ...
      1496ec13
    • Linus Torvalds's avatar
      Merge tag 'pm+acpi-for-3.8-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · ba2ab41f
      Linus Torvalds authored
      Pull ACPI and power management fixes from Rafael Wysocki:
      
       - Two cpuidle initialization fixes from Konrad Rzeszutek Wilk.
      
       - cpufreq regression fixes for AMD processors from Borislav Petkov,
         Stefan Bader, and Matthew Garrett.
      
       - ACPI cpufreq fix from Thomas Schlichter.
      
       - cpufreq and devfreq fixes related to incorrect usage of operating
         performance points (OPP) framework and RCU from Nishanth Menon.
      
       - APEI workaround for incorrect BIOS information from Lans Zhang.
      
      * tag 'pm+acpi-for-3.8-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        cpufreq: Add module aliases for acpi-cpufreq
        ACPI: Check MSR valid bit before using P-state frequencies
        PM / devfreq: exynos4_bus: honor RCU lock usage
        PM / devfreq: add locking documentation for recommended_opp
        cpufreq: cpufreq-cpu0: use RCU locks around usage of OPP
        cpufreq: OMAP: use RCU locks around usage of OPP
        ACPI, APEI: Fixup incorrect 64-bit access width firmware bug
        ACPI / processor: Get power info before updating the C-states
        powernow-k8: Add a kconfig dependency on acpi-cpufreq
        ACPI / cpuidle: Fix NULL pointer issues when cpuidle is disabled
        intel_idle: Don't register CPU notifier if we are not running.
      ba2ab41f
    • Linus Torvalds's avatar
      Merge tag 'regmap-fix-3.8-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap · bff92411
      Linus Torvalds authored
      Pull regmap fixes from Mark Brown:
       "One more oversight in the debugfs code was reported and fixed, plus a
        documentation fix."
      
      * tag 'regmap-fix-3.8-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
        regmap: fix small typo in regmap_bulk_write comment
        regmap: debugfs: Fix seeking from the cache
      bff92411
    • Linus Torvalds's avatar
      Merge branch 'fixes' of git://git.infradead.org/users/vkoul/slave-dma · 3f58e094
      Linus Torvalds authored
      Pull slave-dmaengine fixes from Vinod Koul:
       "A few fixes on slave dmanengine.  There are trivial fixes in imx-dma,
        tegra-dma & ioat driver"
      
      * 'fixes' of git://git.infradead.org/users/vkoul/slave-dma:
        dma: tegra: implement flags parameters for cyclic transfer
        dmaengine: imx-dma: Disable use of hw_chain to fix sg_dma transfers.
        ioat: Fix DMA memory sync direction correct flag
      3f58e094
    • Linus Torvalds's avatar
      Merge branch 'i2c-embedded/for-current' of git://git.pengutronix.de/git/wsa/linux · acc5da0f
      Linus Torvalds authored
      Pill i2c fixes from Wolfram Sang:
       "Here are a few, typical driver fixes for the I2C subsystem"
      
      * 'i2c-embedded/for-current' of git://git.pengutronix.de/git/wsa/linux:
        i2c-designware: add missing MODULE_LICENSE
        i2c: omap: fix draining irq handling
        i2c: omap: errata i462: fix incorrect ack for arbitration lost interrupt
        i2c: muxes: fix wrong use of sizeof(ptr)
        i2c: sirf: register i2c_client from dt child-nodes in probe entry
        i2c: mxs: Fix type of error code
        i2c: mxs: Fix misuse init_completion
      acc5da0f
    • Miao Xie's avatar
      Btrfs: fix repeated delalloc work allocation · 1eafa6c7
      Miao Xie authored
      btrfs_start_delalloc_inodes() locks the delalloc_inodes list, fetches the
      first inode, unlocks the list, triggers btrfs_alloc_delalloc_work/
      btrfs_queue_worker for this inode, and then it locks the list, checks the
      head of the list again. But because we don't delete the first inode that it
      deals with before, it will fetch the same inode. As a result, this function
      allocates a huge amount of btrfs_delalloc_work structures, and OOM happens.
      
      Fix this problem by splice this delalloc list.
      Reported-by: default avatarAlex Lyakas <alex.btrfs@zadarastorage.com>
      Signed-off-by: default avatarMiao Xie <miaox@cn.fujitsu.com>
      Signed-off-by: default avatarJosef Bacik <jbacik@fusionio.com>
      1eafa6c7