| /linux/tools/memory-model/Documentation/ |
| H A D | glossary.txt | 1 This document contains brief definitions of LKMM-related terms. Like most 10 Address dependencies are quite common in RCU read-side critical 15 3 do_something(p->a); 18 In this case, because the address of "p->a" on line 3 is computed 19 from the value returned by the rcu_dereference() on line 2, the 21 "p->a". In rare cases, optimizing compilers can destroy address 28 using spin_lock(). With respect to a non-lock shared variable, 29 a special operation that includes a load and which orders that 40 See also "Happens-Befor [all...] |
| H A D | ordering.txt | 1 This document gives an overview of the categories of memory-ordering 2 operations provided by the Linux-kernel memory model (LKMM). 8 This section lists LKMM's three top-level categories of memory-ordering 11 1. Barriers (also known as "fences"). A barrier orders some or 38 b. Read-modify-write (RMW) ordering augmentation barriers. 56 -------------------- 58 The Linux-kernel primitives that provide full ordering include: 62 o Value-returning RMW atomic operations whose names do not end in 65 o RCU's grace-period primitives. 67 First, the smp_mb() full memory barrier orders all of the CPU's prior [all …]
|
| H A D | explanation.txt | 1 Explanation of the Linux-Kernel Memory Consistency Model 15 7. THE PROGRAM ORDER RELATION: po AND po-loc 18 10. THE READS-FROM RELATION: rf, rfi, and rfe 20 12. THE FROM-READS RELATION: fr, fri, and fre 22 14. PROPAGATION ORDER RELATION: cumul-fence 28 20. THE HAPPENS-BEFORE RELATION: hb 29 21. THE PROPAGATES-BEFORE RELATION: pb 30 22. RCU RELATIONS: rcu-link, rcu-gp, rcu-rscsi, rcu-order, rcu-fence, and rb 31 23. SRCU READ-SIDE CRITICAL SECTIONS 39 ------------ [all …]
|
| /linux/Documentation/userspace-api/media/v4l/ |
| H A D | field-order.rst | 1 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later 4 .. _field-order: 31 even) fields, the *spatial order*: The first line of the top field is 32 the first line of an interlaced frame, the first line of the bottom 33 field is the second line of that frame. 70 .. flat-table:: 71 :header-rows: 0 72 :stub-columns: 0 75 * - ``V4L2_FIELD_ANY`` 76 - 0 [all …]
|
| H A D | hist-v4l2.rst | 1 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later 4 .. _hist-v4l2: 21 1998-08-20: First version. 23 1998-08-27: The :c:func:`select()` function was introduced. 25 1998-09-10: New video standard interface. 27 1998-09-18: The ``VIDIOC_NONCAP`` ioctl was replaced by the otherwise 36 1998-09-28: Revamped video standard. Made video controls individually 39 1998-10-02: The ``id`` field was removed from 47 1998-11-08: Many minor changes. Most symbols have been renamed. Some 50 1998-11-12: The read/write direction of some ioctls was misdefined. [all …]
|
| /linux/arch/arm64/boot/dts/renesas/ |
| H A D | white-hawk-csi-dsi.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 * Device Tree Source for the White Hawk CSI/DSI sub-board 8 #include <dt-bindings/media/video-interfaces.h> 14 #address-cells = <1>; 15 #size-cells = <0>; 21 bus-type = <MEDIA_BUS_TYPE_CSI2_CPHY>; 22 clock-lanes = <0>; 23 data-lanes = <1 2 3>; 24 line-orders = <MEDIA_BUS_CSI2_CPHY_LINE_ORDER_ABC 27 remote-endpoint = <&max96712_out0>; [all …]
|
| /linux/arch/powerpc/mm/ |
| H A D | mmu_context.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 19 /* 32-bit keeps track of the current PGDIR in the thread struct */ in switch_mm_pgdir() 20 tsk->thread.pgdir = mm->pgd; in switch_mm_pgdir() 22 tsk->thread.sr0 = mm->context.sr0; in switch_mm_pgdir() 25 tsk->thread.pid = mm->context.id; in switch_mm_pgdir() 32 /* 64-bit Book3E keeps track of current PGD in the PACA */ in switch_mm_pgdir() 33 get_paca()->pgd = mm->pgd; in switch_mm_pgdir() 35 tsk->thread.pid = mm->context.id; in switch_mm_pgdir() 56 * This full barrier orders the store to the cpumask above vs in switch_mm_irqs_off() 68 * On the other side, the barrier is in mm/tlb-radix.c for in switch_mm_irqs_off() [all …]
|
| /linux/Documentation/admin-guide/mm/ |
| H A D | transhuge.rst | 26 requiring larger clear-page copy-page in page faults which is a 48 Modern kernels support "multi-size THP" (mTHP), which introduces the 50 but smaller than traditional PMD-size (as described above), in 51 increments of a power-of-2 number of pages. mTHP can back anonymous 53 PTE-mapped, but in many cases can still provide similar benefits to 56 prominent because the size of each page isn't as huge as the PMD-sized 66 collapses sequences of basic pages into PMD-sized huge pages. 91 possible to disable hugepages system-wide and to only have them inside 108 ------------------- 113 system wide. This can be achieved per-supported-THP-size with one of:: [all …]
|
| H A D | slab.rst | 12 to the kernel command line. That will enable full debugging for 17 slabs that have data in them. See "slabinfo -h" for more options when 21 gcc -o slabinfo tools/mm/slabinfo.c 24 be enabled on the command line. F.e. no tracking information will be 29 ------------------------------------------- 34 slab_debug=<Debug-Options> 37 slab_debug=<Debug-Options>,<slab name1>,<slab name2>,... 56 caused higher minimum slab orders 57 - Switch all debugging off (useful if the kernel is 73 slab_debug=P,kmalloc-*,dentry [all …]
|
| /linux/tools/testing/selftests/rcutorture/bin/ |
| H A D | kvm-check-branches.sh | |
| /linux/fs/netfs/ |
| H A D | rolling_buffer.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 17 * netfs_folioq_alloc - Allocate a folio_queue struct 22 * Allocate, initialise and account the folio_queue struct and log a trace line 34 fq->debug_id = atomic_inc_return(&debug_ids); in netfs_folioq_alloc() 42 * netfs_folioq_free - Free a folio_queue struct 69 return -ENOMEM; in rolling_buffer_init() 71 roll->head = fq; in rolling_buffer_init() 72 roll->tail = fq; in rolling_buffer_init() 73 iov_iter_folio_queue(&roll->iter, direction, fq, 0, 0, 0); in rolling_buffer_init() 82 struct folio_queue *fq, *head = roll->head; in rolling_buffer_make_space() [all …]
|
| /linux/mm/ |
| H A D | memory.c | 1 // SPDX-License-Identifier: GPL-2.0-only 9 * demand-loading started 01.12.91 - seems it is high on the list of 10 * things wanted, and it should be easy to implement. - Linus 14 * Ok, demand-loading was easy, shared pages a little bit tricker. Shared 15 * pages started 02.12.91, seems to work. - Linus. 21 * Also corrected some "invalidate()"s - I wasn't doing enough of them. 27 * 19.12.91 - works, somewhat. Sometimes I get faults, don't know why. 29 * 20.12.91 - Ok, making the swap-device changeable like the root. 33 * 05.04.94 - Multi-page memory management added for v1.1. 36 * 16.07.99 - Support of BIGMEM added by Gerhard Wichert, Siemens AG [all …]
|
| H A D | page_alloc.c | 1 // SPDX-License-Identifier: GPL-2.0-only 38 #include <linux/fault-inject.h> 62 /* Free Page Internal flags: for internal, non-pcp variants of free_pages(). */ 71 * reporting it and marking it "reported" - it only skips notifying 80 * page shuffling (relevant code - e.g., memory onlining - is expected to 83 * Note: No code should rely on this flag for correctness - it's purely 93 /* prevent >1 _updater_ of zone percpu pageset ->high and ->batch fields */ 124 if (!spin_trylock(&_ret->lock)) { \ 133 spin_unlock(&ptr->lock); \ 156 spin_lock(&(ptr)->lock) [all …]
|
| /linux/Documentation/process/ |
| H A D | threat-model.rst | 6 (:doc:`security-related ones <security-bugs>` vs :doc:`non-security ones 7 <../admin-guide/reporting-issues>`), and can complicate security enforcement 15 ----------------------------- 26 of the Memory Management Unit (MMU), the isolation of DMA-capable peripherals 31 side-channels, hardware response to unexpected inputs), the kernel will usually 32 attempt to implement reasonable mitigations. These are best-effort measures 35 kernel-provided safety guarantee. 42 is performed via configuration (sysctl, file-system permissions etc). 52 * **User-based isolation**: an unprivileged user may restrict access to their 57 * in-memory data (pages are not accessible by default to other users) [all …]
|
| /linux/drivers/net/ethernet/intel/i40e/ |
| H A D | i40e_txrx.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* Copyright(c) 2013 - 2018 Intel Corporation. */ 34 * the value of the rate limit is non-zero 41 * i40e_intrl_usec_to_reg - convert interrupt rate limit to register 97 (test_bit(I40E_HW_CAP_MULTI_TCP_UDP_RSS_PCTYPE, (pf)->hw.caps) ? \ 111 * i.e. RXBUFFER_256 --> 960 byte skb (size-1024 slab) 112 * i.e. RXBUFFER_512 --> 1216 byte skb (size-2048 slab) 127 * Note: For cache line sizes 256 or larger this value is going to end 140 pad_size = SKB_WITH_OVERHEAD(page_size) - rx_buf_len; in i40e_compute_pad() 154 * cache-line alignment. in i40e_skb_pad() [all …]
|
| /linux/arch/powerpc/lib/ |
| H A D | qspinlock.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 67 u64 delta = sched_clock() - seen; in recently_sleepy() 108 return (val >> _Q_TAIL_CPU_OFFSET) - 1; in decode_tail_cpu() 142 " bne- 1b \n" in trylock_clean_tail() 146 : "r" (&lock->val), "r"(tail), "r" (newval), in trylock_clean_tail() 174 " bne- 1b \n" in publish_tail_cpu() 176 : "r" (&lock->val), "r" (tail), "r"(_Q_TAIL_CPU_MASK) in publish_tail_cpu() 190 " bne- 1b \n" in set_mustq() 192 : "r" (&lock->val), "r" (_Q_MUST_Q_VAL) in set_mustq() 206 " bne- 1b \n" in clear_mustq() [all …]
|
| /linux/Documentation/arch/m68k/ |
| H A D | kernel-options.rst | 2 Command Line Options for Linux/m68k 9 Author: Roman.Hodek@informatik.uni-erlangen.de (Roman Hodek) 11 Update: jds@kom.auc.dk (Jes Sorensen) and faq@linux-m68k.org (Chris Lawrence) 16 Often I've been asked which command line options the Linux/m68k 29 The kernel knows three kinds of options on its command line: 41 command line options. 58 ---------- 76 /dev/ram: -> 0x0100 (initial ramdisk) 77 /dev/hda: -> 0x0300 (first IDE disk) 78 /dev/hdb: -> 0x0340 (second IDE disk) [all …]
|
| /linux/drivers/iio/magnetometer/ |
| H A D | ak8974.c | 1 // SPDX-License-Identifier: GPL-2.0-only 7 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). 38 * 16-bit registers are little-endian. LSB is at the address defined below 68 /* AK8974-specific offsets */ 72 /* AMI305-specific offsets */ 81 /* AMI306-specific control register */ 96 /* axis cross-interference */ 113 #define AK8974_INT_X_LOW BIT(4) /* Axis below -threshold */ 145 /* HSCDTD008A-specific control register */ 148 #define HSCDTD008A_CTRL4_RANGE BIT(4) /* 0 = 14-bit output; 1 = 15-bit output */ [all …]
|
| /linux/drivers/iio/gyro/ |
| H A D | mpu3050-core.c | 1 // SPDX-License-Identifier: GPL-2.0-only 39 * Register map: anything suffixed *_H is a big-endian high byte and always 76 /* Bits 8-11 select memory bank */ 163 * Fullscale precision is (for finest precision) +/- 250 deg/s, so the full 184 if (mpu3050->lpf == MPU3050_DLPF_CFG_256HZ_NOLPF2) in mpu3050_get_freq() 188 freq /= (mpu3050->divisor + 1); in mpu3050_get_freq() 200 ret = regmap_set_bits(mpu3050->map, MPU3050_PWR_MGM, in mpu3050_start_sampling() 205 /* Turn on the Z-axis PLL */ in mpu3050_start_sampling() 206 ret = regmap_update_bits(mpu3050->map, MPU3050_PWR_MGM, in mpu3050_start_sampling() 214 raw_val[i] = cpu_to_be16(mpu3050->calibration[i]); in mpu3050_start_sampling() [all …]
|
| /linux/drivers/net/ethernet/intel/ice/ |
| H A D | ice_txrx.c | 1 // SPDX-License-Identifier: GPL-2.0 28 * ice_prgm_fdir_fltr - Program a Flow Director filter 48 return -ENOENT; in ice_prgm_fdir_fltr() 49 tx_ring = vsi->tx_rings[0]; in ice_prgm_fdir_fltr() 50 if (!tx_ring || !tx_ring->desc) in ice_prgm_fdir_fltr() 51 return -ENOENT; in ice_prgm_fdir_fltr() 52 dev = tx_ring->dev; in ice_prgm_fdir_fltr() 55 for (i = ICE_FDIR_CLEAN_DELAY; ICE_DESC_UNUSED(tx_ring) < 2; i--) { in ice_prgm_fdir_fltr() 57 return -EAGAIN; in ice_prgm_fdir_fltr() 65 return -EINVAL; in ice_prgm_fdir_fltr() [all …]
|
| /linux/drivers/media/platform/renesas/ |
| H A D | rcar_fdp1.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * Renesas R-Car Fine Display Processor 11 * m2m-deinterlace, and vsp1 drivers. 16 #include <linux/dma-mapping.h> 26 #include <media/rcar-fcp.h> 27 #include <media/v4l2-ctrls.h> 28 #include <media/v4l2-device.h> 29 #include <media/v4l2-event.h> 30 #include <media/v4l2-ioctl.h> 31 #include <media/v4l2-mem2mem.h> [all …]
|
| /linux/tools/perf/util/ |
| H A D | sort.c | 1 // SPDX-License-Identifier: GPL-2.0 26 #include "mem-events.h" 27 #include "mem-info.h" 29 #include "annotate-data.h" 31 #include "time-utils.h" 35 #include "trace-event.h" 40 #include <event-parse.h> 70 * - 2727 __sort__hpp_header(struct perf_hpp_fmt * fmt,struct perf_hpp * hpp,struct hists * hists,int line,int * span __maybe_unused) __sort__hpp_header() argument [all...] |
| /linux/Documentation/ |
| H A D | memory-barriers.txt | 19 documentation at tools/memory-model/. Nevertheless, even this memory 37 Note also that it is possible that a barrier may be a no-op for an 48 - Device operations. 49 - Guarantees. 53 - Varieties of memory barrier. 54 - What may not be assumed about memory barriers? 55 - Address-dependency barriers (historical). 56 - Control dependencies. 57 - SMP barrier pairing. 58 - Examples of memory barrier sequences. [all …]
|
| /linux/drivers/tty/serial/8250/ |
| H A D | 8250_pci.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Probe module for 8250/16550-type PCI serial ports. 105 /* Unknown vendors/cards - this should not be in linux/pci_ids.h */ 111 * > 0 - number of ports 112 * = 0 - use board->num_ports 113 * < 0 - error 138 int line[]; member 167 "Please send the output of lspci -vv, this\n" in moan_device() 170 "modem board to <linux-serial@vger.kernel.org>.\n", in moan_device() 171 str, dev->vendor, dev->device, in moan_device() [all …]
|
| /linux/drivers/media/i2c/ccs/ |
| H A D | ccs-core.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * drivers/media/i2c/ccs/ccs-core.c 8 * Copyright (C) 2010--2012 Nokia Corporation 13 * Based on smia-sensor.c by Tuukka Toivonen <tuukkat76@gmail.com> 28 #include <linux/v4l2-mediabus.h> 29 #include <media/mipi-csi2.h> 30 #include <media/v4l2-cci.h> 31 #include <media/v4l2-device.h> 32 #include <media/v4l2-fwnode.h> 48 * ccs_module_idents - supported camera modules [all …]
|