index
:
linux-yocto
master
v4.14/base
v4.14/standard/arm-versatile-926ejs
v4.14/standard/base
v4.14/standard/beaglebone
v4.14/standard/edgerouter
v4.14/standard/fsl-mpc8315e-rdb
v4.14/standard/intel
v4.14/standard/mti-malta32
v4.14/standard/mti-malta64
v4.14/standard/preempt-rt/base
v4.14/standard/preempt-rt/intel
v4.14/standard/qemuarm64
v4.14/standard/qemuppc
v4.14/standard/tiny/base
v4.14/standard/tiny/common-pc
v4.14/standard/tiny/intel
v4.15/base
v4.15/standard/arm-versatile-926ejs
v4.15/standard/base
v4.15/standard/beaglebone
v4.15/standard/edgerouter
v4.15/standard/fsl-mpc8315e-rdb
v4.15/standard/intel
v4.15/standard/mti-malta32
v4.15/standard/mti-malta64
v4.15/standard/preempt-rt/base
v4.15/standard/preempt-rt/intel
v4.15/standard/qemuarm64
v4.15/standard/qemuppc
v4.15/standard/tiny/arm-versatile-926ejs
v4.15/standard/tiny/base
v4.15/standard/tiny/common-pc
v4.15/standard/tiny/intel
v4.18/base
v4.18/standard/arm-versatile-926ejs
v4.18/standard/base
v4.18/standard/beaglebone
v4.18/standard/edgerouter
v4.18/standard/fsl-mpc8315e-rdb
v4.18/standard/intel
v4.18/standard/intel-socfpga
v4.18/standard/intel-x86
v4.18/standard/mti-malta32
v4.18/standard/mti-malta64
v4.18/standard/preempt-rt/base
v4.18/standard/preempt-rt/intel
v4.18/standard/preempt-rt/intel-x86
v4.18/standard/qemuarm64
v4.18/standard/qemuppc
v4.18/standard/tiny/arm-versatile-926ejs
v4.18/standard/tiny/base
v4.18/standard/tiny/common-pc
v4.18/standard/tiny/intel
v4.19/base
v4.19/standard/arm-versatile-926ejs
v4.19/standard/axxia
v4.19/standard/base
v4.19/standard/beaglebone
v4.19/standard/edgerouter
v4.19/standard/fsl-mpc8315e-rdb
v4.19/standard/intel
v4.19/standard/intel-x86
v4.19/standard/mti-malta32
v4.19/standard/mti-malta64
v4.19/standard/preempt-rt/axxia
v4.19/standard/preempt-rt/base
v4.19/standard/preempt-rt/intel
v4.19/standard/preempt-rt/intel-x86
v4.19/standard/qemuarm64
v4.19/standard/qemuppc
v4.19/standard/tiny/arm-versatile-926ejs
v4.19/standard/tiny/base
v4.19/standard/tiny/common-pc
v4.19/standard/tiny/intel
v4.19/standard/tiny/intel-x86
v4.19/standard/xlnx-soc
v4.8/base
v4.8/standard/arm-versatile-926ejs
v4.8/standard/base
v4.8/standard/beaglebone
v4.8/standard/edgerouter
v4.8/standard/fsl-mpc8315e-rdb
v4.8/standard/intel
v4.8/standard/mti-malta32
v4.8/standard/mti-malta64
v4.8/standard/preempt-rt/base
v4.8/standard/preempt-rt/intel
v4.8/standard/qemuarm64
v4.8/standard/qemuppc
v4.8/standard/tiny/base
v4.8/standard/tiny/common-pc
v4.8/standard/tiny/intel
v5.0/base
v5.0/standard/arm-versatile-926ejs
v5.0/standard/base
v5.0/standard/beaglebone
v5.0/standard/edgerouter
v5.0/standard/fsl-mpc8315e-rdb
v5.0/standard/intel-x86
v5.0/standard/mti-malta32
v5.0/standard/mti-malta64
v5.0/standard/preempt-rt/base
v5.0/standard/preempt-rt/intel-x86
v5.0/standard/qemuarm64
v5.0/standard/qemuppc
v5.0/standard/tiny/arm-versatile-926ejs
v5.0/standard/tiny/base
v5.0/standard/tiny/common-pc
v5.0/standard/tiny/intel-x86
v5.0/standard/xilinx-zynqmp
v5.10/base
v5.10/standard/arm-versatile-926ejs
v5.10/standard/base
v5.10/standard/bcm-2xxx-rpi
v5.10/standard/beaglebone
v5.10/standard/cn-sdkv4.18/cn96xx
v5.10/standard/cn-sdkv5.4/octeon
v5.10/standard/edgerouter
v5.10/standard/fsl-mpc8315e-rdb
v5.10/standard/intel-sdk-5.10/intel-socfpga
v5.10/standard/mti-malta32
v5.10/standard/mti-malta64
v5.10/standard/nxp-ls20xx
v5.10/standard/nxp-sdk-5.10/nxp-s32g2xx
v5.10/standard/nxp-sdk-5.10/nxp-soc
v5.10/standard/preempt-rt/base
v5.10/standard/preempt-rt/bcm-2xxx-rpi
v5.10/standard/preempt-rt/cn-sdkv4.18/cn96xx
v5.10/standard/preempt-rt/cn-sdkv5.4/octeon
v5.10/standard/preempt-rt/intel-sdk-5.10/intel-socfpga
v5.10/standard/preempt-rt/nxp-sdk-5.10/nxp-s32g2xx
v5.10/standard/preempt-rt/nxp-sdk-5.10/nxp-soc
v5.10/standard/preempt-rt/sdkv5.10/axxia
v5.10/standard/preempt-rt/sdkv5.10/xlnx-soc
v5.10/standard/preempt-rt/ti-sdk-5.10/ti-j72xx
v5.10/standard/preempt-rt/x86
v5.10/standard/qemuarm64
v5.10/standard/qemuppc
v5.10/standard/sdkv5.10/axxia
v5.10/standard/sdkv5.10/xlnx-soc
v5.10/standard/sdkv5.4/xlnx-soc
v5.10/standard/ti-am335x
v5.10/standard/ti-sdk-5.10/ti-j72xx
v5.10/standard/tiny/arm-versatile-926ejs
v5.10/standard/tiny/base
v5.10/standard/tiny/common-pc
v5.10/standard/tiny/x86
v5.10/standard/x86
v5.10/standard/xilinx-zynqmp
v5.13/base
v5.13/standard/arm-versatile-926ejs
v5.13/standard/base
v5.13/standard/bcm-2xxx-rpi
v5.13/standard/beaglebone
v5.13/standard/edgerouter
v5.13/standard/fsl-mpc8315e-rdb
v5.13/standard/mti-malta32
v5.13/standard/mti-malta64
v5.13/standard/nxp-ls20xx
v5.13/standard/preempt-rt/base
v5.13/standard/preempt-rt/bcm-2xxx-rpi
v5.13/standard/preempt-rt/x86
v5.13/standard/qemuarm64
v5.13/standard/qemuppc
v5.13/standard/ti-am335x
v5.13/standard/tiny/arm-versatile-926ejs
v5.13/standard/tiny/base
v5.13/standard/tiny/common-pc
v5.13/standard/tiny/x86
v5.13/standard/x86
v5.13/standard/xilinx-zynqmp
v5.14/base
v5.14/standard/arm-versatile-926ejs
v5.14/standard/base
v5.14/standard/bcm-2xxx-rpi
v5.14/standard/beaglebone
v5.14/standard/edgerouter
v5.14/standard/fsl-mpc8315e-rdb
v5.14/standard/mti-malta32
v5.14/standard/mti-malta64
v5.14/standard/nxp-ls20xx
v5.14/standard/preempt-rt/base
v5.14/standard/preempt-rt/bcm-2xxx-rpi
v5.14/standard/preempt-rt/x86
v5.14/standard/qemuarm64
v5.14/standard/qemuppc
v5.14/standard/ti-am335x
v5.14/standard/tiny/arm-versatile-926ejs
v5.14/standard/tiny/base
v5.14/standard/tiny/common-pc
v5.14/standard/tiny/x86
v5.14/standard/x86
v5.14/standard/xilinx-zynqmp
v5.15/base
v5.15/standard/arm-versatile-926ejs
v5.15/standard/base
v5.15/standard/bcm-2xxx-rpi
v5.15/standard/beaglebone
v5.15/standard/cn-sdkv5.15/octeon
v5.15/standard/cn-sdkv5.4/octeon
v5.15/standard/edgerouter
v5.15/standard/fsl-mpc8315e-rdb
v5.15/standard/intel-sdk-5.15/intel-socfpga
v5.15/standard/mti-malta32
v5.15/standard/mti-malta64
v5.15/standard/nxp-ls20xx
v5.15/standard/nxp-sdk-5.10/nxp-s32g
v5.15/standard/nxp-sdk-5.15/nxp-s32g
v5.15/standard/nxp-sdk-5.15/nxp-soc
v5.15/standard/preempt-rt/base
v5.15/standard/preempt-rt/bcm-2xxx-rpi
v5.15/standard/preempt-rt/cn-sdkv5.15/octeon
v5.15/standard/preempt-rt/cn-sdkv5.4/octeon
v5.15/standard/preempt-rt/intel-sdk-5.15/intel-socfpga
v5.15/standard/preempt-rt/nxp-sdk-5.10/nxp-s32g
v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g
v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-soc
v5.15/standard/preempt-rt/sdkv5.10/axxia
v5.15/standard/preempt-rt/sdkv5.15/xlnx-soc
v5.15/standard/preempt-rt/ti-sdk-5.10/ti-j72xx
v5.15/standard/preempt-rt/x86
v5.15/standard/qemuarm64
v5.15/standard/qemuppc
v5.15/standard/sdkv5.10/axxia
v5.15/standard/sdkv5.15/xlnx-soc
v5.15/standard/ti-am335x
v5.15/standard/ti-sdk-5.10/ti-j72xx
v5.15/standard/tiny/arm-versatile-926ejs
v5.15/standard/tiny/base
v5.15/standard/tiny/common-pc
v5.15/standard/tiny/x86
v5.15/standard/x86
v5.15/standard/xilinx-zynqmp
v5.19/base
v5.19/standard/arm-versatile-926ejs
v5.19/standard/base
v5.19/standard/bcm-2xxx-rpi
v5.19/standard/beaglebone
v5.19/standard/edgerouter
v5.19/standard/fsl-mpc8315e-rdb
v5.19/standard/mti-malta32
v5.19/standard/mti-malta64
v5.19/standard/nxp-ls20xx
v5.19/standard/preempt-rt/arm-versatile-926ejs
v5.19/standard/preempt-rt/base
v5.19/standard/preempt-rt/bcm-2xxx-rpi
v5.19/standard/preempt-rt/x86
v5.19/standard/qemuarm64
v5.19/standard/qemuppc
v5.19/standard/ti-am335x
v5.19/standard/tiny/arm-versatile-926ejs
v5.19/standard/tiny/base
v5.19/standard/tiny/common-pc
v5.19/standard/tiny/x86
v5.19/standard/x86
v5.19/standard/xilinx-zynqmp
v5.2-upstream
v5.2/base
v5.2/standard/arm-versatile-926ejs
v5.2/standard/base
v5.2/standard/bcm-2xxx-rpi
v5.2/standard/beaglebone
v5.2/standard/cn96xx
v5.2/standard/edgerouter
v5.2/standard/fsl-mpc8315e-rdb
v5.2/standard/intel-x86
v5.2/standard/mti-malta32
v5.2/standard/mti-malta64
v5.2/standard/preempt-rt/base
v5.2/standard/preempt-rt/cn96xx
v5.2/standard/preempt-rt/intel-x86
v5.2/standard/qemuarm64
v5.2/standard/qemuppc
v5.2/standard/tiny/arm-versatile-926ejs
v5.2/standard/tiny/base
v5.2/standard/tiny/common-pc
v5.2/standard/tiny/intel-x86
v5.2/standard/xlnx-soc
v5.3/base
v5.3/standard/base
v5.4/base
v5.4/standard/arm-versatile-926ejs
v5.4/standard/base
v5.4/standard/bcm-2xxx-rpi
v5.4/standard/beaglebone
v5.4/standard/cn96xx
v5.4/standard/edgerouter
v5.4/standard/fsl-mpc8315e-rdb
v5.4/standard/intel-x86
v5.4/standard/mti-malta32
v5.4/standard/mti-malta64
v5.4/standard/nxp-imx8
v5.4/standard/nxp-ls20xx
v5.4/standard/nxp-s32g2xx
v5.4/standard/preempt-rt/base
v5.4/standard/preempt-rt/bcm-2xxx-rpi
v5.4/standard/preempt-rt/cn96xx
v5.4/standard/preempt-rt/intel-x86
v5.4/standard/qemuarm64
v5.4/standard/qemuppc
v5.4/standard/ti-am335x
v5.4/standard/ti-j72x
v5.4/standard/tiny/arm-versatile-926ejs
v5.4/standard/tiny/base
v5.4/standard/tiny/common-pc
v5.4/standard/tiny/intel-x86
v5.4/standard/xilinx-zynqmp
v5.4/standard/xlnx-soc
v5.6/base
v5.6/standard/arm-versatile-926ejs
v5.6/standard/base
v5.6/standard/bcm-2xxx-rpi
v5.6/standard/beaglebone
v5.6/standard/cn96xx
v5.6/standard/edgerouter
v5.6/standard/fsl-mpc8315e-rdb
v5.6/standard/intel-x86
v5.6/standard/mti-malta32
v5.6/standard/mti-malta64
v5.6/standard/nxp-ls20xx
v5.6/standard/preempt-rt/base
v5.6/standard/preempt-rt/bcm-2xxx-rpi
v5.6/standard/preempt-rt/intel-x86
v5.6/standard/qemuarm64
v5.6/standard/qemuppc
v5.6/standard/ti-am335x
v5.6/standard/tiny/arm-versatile-926ejs
v5.6/standard/tiny/base
v5.6/standard/tiny/common-pc
v5.6/standard/tiny/intel-x86
v5.6/standard/xilinx-zynqmp
v5.6/standard/xlnx-soc
v5.7/base
v5.7/standard/arm-versatile-926ejs
v5.7/standard/base
v5.7/standard/bcm-2xxx-rpi
v5.7/standard/beaglebone
v5.7/standard/cn96xx
v5.7/standard/edgerouter
v5.7/standard/fsl-mpc8315e-rdb
v5.7/standard/intel-x86
v5.7/standard/mti-malta32
v5.7/standard/mti-malta64
v5.7/standard/nxp-ls20xx
v5.7/standard/preempt-rt/base
v5.7/standard/preempt-rt/bcm-2xxx-rpi
v5.7/standard/preempt-rt/intel-x86
v5.7/standard/qemuarm64
v5.7/standard/qemuppc
v5.7/standard/ti-am335x
v5.7/standard/tiny/arm-versatile-926ejs
v5.7/standard/tiny/base
v5.7/standard/tiny/common-pc
v5.7/standard/tiny/intel-x86
v5.7/standard/xilinx-zynqmp
v5.7/standard/xlnx-soc
v5.8/base
v5.8/standard/arm-versatile-926ejs
v5.8/standard/base
v5.8/standard/bcm-2xxx-rpi
v5.8/standard/beaglebone
v5.8/standard/edgerouter
v5.8/standard/fsl-mpc8315e-rdb
v5.8/standard/intel-x86
v5.8/standard/mti-malta32
v5.8/standard/mti-malta64
v5.8/standard/nxp-ls20xx
v5.8/standard/preempt-rt/base
v5.8/standard/preempt-rt/bcm-2xxx-rpi
v5.8/standard/preempt-rt/intel-x86
v5.8/standard/qemuarm64
v5.8/standard/qemuppc
v5.8/standard/ti-am335x
v5.8/standard/tiny/arm-versatile-926ejs
v5.8/standard/tiny/base
v5.8/standard/tiny/common-pc
v5.8/standard/tiny/intel-x86
v5.8/standard/xilinx-zynqmp
v6.1/base
v6.1/standard/arm-versatile-926ejs
v6.1/standard/base
v6.1/standard/bcm-2xxx-rpi
v6.1/standard/beaglebone
v6.1/standard/cn-sdkv5.15/octeon
v6.1/standard/cn-sdkv6.1/octeon
v6.1/standard/edgerouter
v6.1/standard/fsl-mpc8315e-rdb
v6.1/standard/intel-sdk-6.1/intel-socfpga
v6.1/standard/microchip-polarfire-soc
v6.1/standard/mti-malta32
v6.1/standard/mti-malta64
v6.1/standard/nxp-ls20xx
v6.1/standard/nxp-sdk-5.15/nxp-s32g
v6.1/standard/nxp-sdk-6.1/nxp-soc
v6.1/standard/preempt-rt/arm-versatile-926ejs
v6.1/standard/preempt-rt/base
v6.1/standard/preempt-rt/bcm-2xxx-rpi
v6.1/standard/preempt-rt/cn-sdkv5.15/octeon
v6.1/standard/preempt-rt/cn-sdkv6.1/octeon
v6.1/standard/preempt-rt/intel-sdk-6.1/intel-socfpga
v6.1/standard/preempt-rt/microchip-polarfire-soc
v6.1/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g
v6.1/standard/preempt-rt/nxp-sdk-6.1/nxp-soc
v6.1/standard/preempt-rt/sdkv5.10/axxia
v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc
v6.1/standard/preempt-rt/ti-sdk-5.10/ti-j7xxx
v6.1/standard/preempt-rt/ti-sdk-6.1/ti-j7xxx
v6.1/standard/preempt-rt/x86
v6.1/standard/qemuarm64
v6.1/standard/qemuppc
v6.1/standard/sdkv5.10/axxia
v6.1/standard/sdkv6.1/xlnx-soc
v6.1/standard/ti-am335x
v6.1/standard/ti-sdk-5.10/ti-j7xxx
v6.1/standard/ti-sdk-6.1/ti-j7xxx
v6.1/standard/tiny/arm-versatile-926ejs
v6.1/standard/tiny/base
v6.1/standard/tiny/common-pc
v6.1/standard/tiny/x86
v6.1/standard/x86
v6.1/standard/xilinx-zynqmp
v6.4/base
v6.4/standard/arm-versatile-926ejs
v6.4/standard/base
v6.4/standard/bcm-2xxx-rpi
v6.4/standard/beaglebone
v6.4/standard/edgerouter
v6.4/standard/fsl-mpc8315e-rdb
v6.4/standard/mti-malta32
v6.4/standard/mti-malta64
v6.4/standard/nxp-ls20xx
v6.4/standard/preempt-rt/arm-versatile-926ejs
v6.4/standard/preempt-rt/base
v6.4/standard/preempt-rt/bcm-2xxx-rpi
v6.4/standard/preempt-rt/x86
v6.4/standard/qemuarm64
v6.4/standard/qemuppc
v6.4/standard/ti-am335x
v6.4/standard/tiny/arm-versatile-926ejs
v6.4/standard/tiny/base
v6.4/standard/tiny/common-pc
v6.4/standard/tiny/x86
v6.4/standard/x86
v6.4/standard/xilinx-zynqmp
v6.5/base
v6.5/standard/arm-versatile-926ejs
v6.5/standard/base
v6.5/standard/bcm-2xxx-rpi
v6.5/standard/beaglebone
v6.5/standard/edgerouter
v6.5/standard/fsl-mpc8315e-rdb
v6.5/standard/mti-malta32
v6.5/standard/mti-malta64
v6.5/standard/nxp-ls20xx
v6.5/standard/preempt-rt/arm-versatile-926ejs
v6.5/standard/preempt-rt/base
v6.5/standard/preempt-rt/bcm-2xxx-rpi
v6.5/standard/preempt-rt/x86
v6.5/standard/qemuarm64
v6.5/standard/qemuppc
v6.5/standard/ti-am335x
v6.5/standard/tiny/arm-versatile-926ejs
v6.5/standard/tiny/base
v6.5/standard/tiny/common-pc
v6.5/standard/tiny/x86
v6.5/standard/x86
v6.5/standard/xilinx-zynqmp
v6.6/base
v6.6/standard/arm-versatile-926ejs
v6.6/standard/base
v6.6/standard/bcm-2xxx-rpi
v6.6/standard/beaglebone
v6.6/standard/edgerouter
v6.6/standard/fsl-mpc8315e-rdb
v6.6/standard/mti-malta32
v6.6/standard/mti-malta64
v6.6/standard/nxp-ls20xx
v6.6/standard/nxp-sdk-6.6/nxp-soc
v6.6/standard/preempt-rt/arm-versatile-926ejs
v6.6/standard/preempt-rt/base
v6.6/standard/preempt-rt/bcm-2xxx-rpi
v6.6/standard/preempt-rt/nxp-sdk-6.6/nxp-soc
v6.6/standard/preempt-rt/x86
v6.6/standard/qemuarm64
v6.6/standard/qemuppc
v6.6/standard/ti-am335x
v6.6/standard/tiny/arm-versatile-926ejs
v6.6/standard/tiny/base
v6.6/standard/tiny/common-pc
v6.6/standard/tiny/x86
v6.6/standard/x86
v6.6/standard/xilinx-zynqmp
Yocto Linux Embedded kernel
Grokmirror user
about
summary
refs
log
tree
commit
diff
stats
log msg
author
committer
range
path:
root
/
arch
/
arm
/
mm
/
fault-armv.c
Age
Commit message (
Expand
)
Author
2014-11-21
ARM: convert printk(KERN_* to pr_*
Russell King
2013-11-15
mm: rename USE_SPLIT_PTLOCKS to USE_SPLIT_PTE_PTLOCKS
Kirill A. Shutemov
2012-10-09
mm: replace vma prio_tree with an interval tree
Michel Lespinasse
2011-10-31
arm: remove several unnecessary module.h include instances
Paul Gortmaker
2011-02-21
ARM: pgtable: add pud-level code
Russell King
2010-11-26
ARM: pgtable: introduce pteval_t to represent a pte value
Russell King
2010-10-28
ARM: 6464/2: fix spinlock recursion in adjust_pte()
Mika Westerberg
2010-10-26
mm: remove pte_*map_nested()
Peter Zijlstra
2010-09-19
ARM: 6380/1: Introduce __sync_icache_dcache() for VIPT caches
Catalin Marinas
2010-09-19
ARM: 6379/1: Assume new page cache pages have dirty D-cache
Catalin Marinas
2010-05-17
Merge branch 'devel-stable' into devel
Russell King
2010-04-14
ARM: remove unnecessary cache flush
Russell King
2010-03-30
include cleanup: Update gfp.h and slab.h includes to prepare for breaking imp...
Tejun Heo
2010-02-20
ARM: make_coherent(): fix problems with highpte, part 2
Russell King
2010-02-20
MM: Pass a PTE pointer to update_mmu_cache() rather than the PTE itself
Russell King
2010-01-20
ARM: make_coherent: avoid recalculating the pfn for the modified page
Russell King
2010-01-20
ARM: make_coherent: fix problems with highpte, part 1
Russell King
2010-01-20
ARM: make_coherent: convert adjust_pte() to use p*d_none_or_clear_bad()
Russell King
2010-01-20
ARM: make_coherent: split adjust_pte() in two
Russell King
2009-12-23
ARM: Fix wrong shared bit for CPU write buffer bug test
Russell King
2009-12-04
ARM: Reduce __flush_dcache_page() visibility
Russell King
2009-12-01
ARM: ZERO_PAGE: Avoid flush_dcache_page() for zero page
Russell King
2009-10-12
ARM: force dcache flush if dcache_dirty bit set
Nitin Gupta
2009-01-28
[ARM] 5366/1: fix shared memory coherency with VIVT L1 + L2 caches
Nicolas Pitre
2008-10-09
Merge branch 'ptebits' into devel
Russell King
2008-10-01
[ARM] Introduce new PTE memory type bits
Russell King
2008-09-05
[ARM] sparse: fix several warnings
Russell King
2008-09-01
[ARM] cachetype: move definitions to separate header
Russell King
2008-07-27
[ARM] Fix shared mmap when more than two maps of the same file exist
Russell King
2008-07-03
[ARM] 5092/1: Fix the I-cache invalidation on ARMv6 and later CPUs
Catalin Marinas
2007-02-16
[ARM] 4191/1: Remove redundant __flush_dcache_page() function prototype
George G. Davis
2006-12-13
[ARM] Unuse another Linux PTE bit
Russell King
2005-10-29
[PATCH] mm: arm ready for split ptlock
Hugh Dickins
2005-06-20
[PATCH] ARM: Fix delayed dcache flush for ARMv6 non-aliasing caches
Russell King
2005-04-16
Linux-2.6.12-rc2
v2.6.12-rc2
Linus Torvalds