Home
last modified time | relevance | path

Searched +full:use +full:- +full:rtm (Results 1 – 25 of 35) sorted by relevance

12

/linux/kernel/locking/
H A Drwbase_rt.c1 // SPDX-License-Identifier: GPL-2.0-only
4 * RT-specific reader/writer semaphores and reader/writer locks
14 * 2) Set the reader BIAS, so readers can use the fast path again
36 * for one reader after the other. We can't use multi-reader inheritance
41 * The risk of writer starvation is there, but the pathological use cases
44 * Fast-path orderings:
58 * Increment reader count, if sem->readers < 0, i.e. READER_BIAS is in rwbase_read_trylock()
61 for (r = atomic_read(&rwb->readers); r < 0;) { in rwbase_read_trylock()
62 if (likely(atomic_try_cmpxchg_acquire(&rwb->readers, &r, r + 1))) in rwbase_read_trylock()
71 struct rt_mutex_base *rtm = &rwb->rtmutex; in __rwbase_read_lock() local
[all …]
H A Drtmutex.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * RT-Mutexes: simple blocking mutual exclusion locks with PI support
7 * Copyright (C) 2004-2006 Red Hat, Inc., Ingo Molnar <mingo@redhat.com>
8 * Copyright (C) 2005-2006 Timesys Corp., Thomas Gleixner <tglx@timesys.com>
17 * See Documentation/locking/rt-mutex-design.rst for details.
33 # define ww_container_of(rtm) NULL argument
61 # define ww_container_of(rtm) container_of(rtm, struct ww_mutex, base) argument
66 * lock->owner state tracking:
68 * lock->owner holds the task_struct pointer of the owner. Bit 0
79 * possible when bit 0 of lock->owner is 0.
[all …]
H A Drwsem.c1 // SPDX-License-Identifier: GPL-2.0
5 * Derived from asm-i386/semaphore.h
7 * Writer lock-stealing by Alex Shi <alex.shi@intel.com>
13 * Rwsem count bit fields re-definition and rwsem rearchitecture by
38 * - Bit 0: RWSEM_READER_OWNED - rwsem may be owned by readers (just a hint)
39 * - Bit 1: RWSEM_NONSPINNABLE - Cannot spin on a reader-owned lock
41 * When the rwsem is reader-owned and a spinning writer has timed out,
50 * for a free or reader-owned rwsem, the owner value may contain
60 * - rwsem is not currently writer owned
61 * - the handoff isn't set.
[all …]
/linux/arch/x86/kernel/cpu/
H A Dtsx.c1 // SPDX-License-Identifier: GPL-2.0
5 * Copyright (C) 2019-2021 Intel Corporation
49 /* Enable the RTM feature in the cpu */ in tsx_enable()
55 * can enumerate and use the TSX feature. in tsx_enable()
83 * - X86_FEATURE_RTM_ALWAYS_ABORT
84 * - X86_FEATURE_TSX_FORCE_ABORT
86 * 2. The second method is for CPUs which do not have the above-mentioned
87 * MSR: those use a different MSR - MSR_IA32_TSX_CTRL and disable TSX
93 * clears the respective RTM and HLE feature flags.
100 * cause for the supported CPUID feature bits to get re-detected and, if
[all …]
/linux/Documentation/devicetree/bindings/spi/
H A Dsocionext,synquacer-spi.yaml1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
3 ---
4 $id: http://devicetree.org/schemas/spi/socionext,synquacer-spi.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Socionext SynQuacer HS-SPI Controller
10 - Masahisa Kojima <masahisa.kojima@linaro.org>
11 - Jassi Brar <jaswinder.singh@linaro.org>
14 - $ref: spi-controller.yaml#
18 const: socionext,synquacer-spi
26 - description: core clock
[all …]
/linux/net/mpls/
H A Daf_mpls.c1 // SPDX-License-Identifier: GPL-2.0-only
31 /* max memory we will use for mpls_route */
41 static int label_limit = (1 << 20) - 1;
82 if (index < net->mpls.platform_labels) { in mpls_route_input_rcu()
84 rcu_dereference(net->mpls.platform_label); in mpls_route_input_rcu()
92 return dev && (dev->flags & IFF_UP) && netif_carrier_ok(dev); in mpls_output_possible()
98 return (u8 *)nh + rt->rt_via_offset; in __mpls_nh_via()
110 return nh->nh_labels * sizeof(struct mpls_shim_hdr); in mpls_nh_header_size()
116 return dev->mtu; in mpls_dev_mtu()
122 if (skb->len <= mtu) in mpls_pkt_too_big()
[all …]
/linux/net/ipv4/
H A Dfib_frontend.c1 // SPDX-License-Identifier: GPL-2.0-or-later
58 return -ENOMEM; in fib4_rules_init()
64 hlist_add_head_rcu(&local_table->tb_hlist, in fib4_rules_init()
65 &net->ipv4.fib_table_hash[TABLE_LOCAL_INDEX]); in fib4_rules_init()
66 hlist_add_head_rcu(&main_table->tb_hlist, in fib4_rules_init()
67 &net->ipv4.fib_table_hash[TABLE_MAIN_INDEX]); in fib4_rules_init()
72 return -ENOMEM; in fib4_rules_init()
87 if (id == RT_TABLE_LOCAL && !net->ipv4.fib_has_custom_rules) in fib_new_table()
96 rcu_assign_pointer(net->ipv4.fib_main, tb); in fib_new_table()
99 rcu_assign_pointer(net->ipv4.fib_default, tb); in fib_new_table()
[all …]
H A Dipmr.c1 // SPDX-License-Identifier: GPL-2.0-or-later
85 return rcu_dereference(vif->dev); in vif_dev_read()
119 list_for_each_entry_rcu(mrt, &net->ipv4.mr_tables, list, \
121 list_empty(&net->ipv4.mr_tables))
129 ret = list_entry_rcu(net->ipv4.mr_tables.next, in ipmr_mr_table_iter()
132 ret = list_entry_rcu(mrt->list.next, in ipmr_mr_table_iter()
135 if (&ret->list == &net->ipv4.mr_tables) in ipmr_mr_table_iter()
145 if (mrt->id == id) in ipmr_get_table()
164 err = fib_rules_lookup(net->ipv4.mr_rules_ops, in ipmr_fib_lookup()
175 struct ipmr_result *res = arg->result; in ipmr_rule_action()
[all …]
H A Dfib_semantics.c1 // SPDX-License-Identifier: GPL-2.0-or-later
71 for (nhsel = 0, nh = (fi)->fib_nh; \
77 for (nhsel = 0, nexthop_nh = (struct fib_nh *)((fi)->fib_nh); \
86 int nhsel; const struct fib_nh *nh = (fi)->fib_nh; \
91 struct fib_nh *nexthop_nh = (struct fib_nh *)((fi)->fib_nh); \
125 .error = -EINVAL,
129 .error = -EHOSTUNREACH,
133 .error = -EACCES,
137 .error = -EAGAIN,
141 .error = -EINVAL,
[all …]
H A Droute.c1 // SPDX-License-Identifier: GPL-2.0-or-later
7 * ROUTE - implementation of the IP router.
34 * Alan Cox : Use __u32 properly
48 * Andi Kleen : Load-limit warning messages.
215 seq_printf(seq, "%-127s\n", in rt_cache_seq_show()
236 for (cpu = *pos-1; cpu < nr_cpu_ids; ++cpu) { in rt_cpu_seq_start()
278 0, /* st->in_hit */ in rt_cpu_seq_show()
279 st->in_slow_tot, in rt_cpu_seq_show()
280 st->in_slow_mc, in rt_cpu_seq_show()
281 st->in_no_route, in rt_cpu_seq_show()
[all …]
/linux/net/mctp/
H A Droute.c1 // SPDX-License-Identifier: GPL-2.0
3 * Management Component Transport Protocol (MCTP) - routing
50 /* TODO: look up in skb->cb? */ in mctp_lookup_bind()
56 type = (*(u8 *)skb->data) & 0x7f; in mctp_lookup_bind()
58 sk_for_each_rcu(sk, &net->mctp.binds) { in mctp_lookup_bind()
61 if (msk->bind_net != MCTP_NET_ANY && msk->bind_net != cb->net) in mctp_lookup_bind()
64 if (msk->bind_type != type) in mctp_lookup_bind()
67 if (!mctp_address_matches(msk->bind_addr, mh->dest)) in mctp_lookup_bind()
78 * struct net->mctp.keys contains our set of currently-allocated keys for
85 * a key with (local = local-eid, peer = ANY). This allows a match on the
[all …]
/linux/net/ipv6/
H A Droute.c1 // SPDX-License-Identifier: GPL-2.0-or-later
4 * FIB front-end.
14 * - respect outgoing interface
15 * - select from (probably) reachable routers (i.e.
17 * - always select the same router if it is (probably)
18 * reachable. otherwise, round-robin the list.
79 RT6_NUD_FAIL_HARD = -3,
80 RT6_NUD_FAIL_PROBE = -2,
81 RT6_NUD_FAIL_DO_RR = -1,
142 rt->dst.rt_uncached_list = ul; in rt6_uncached_list_add()
[all …]
/linux/drivers/net/fddi/skfp/h/
H A Dskfbi.h1 /* SPDX-License-Identifier: GPL-2.0-or-later */
15 * FDDI-Fx (x := {I(SA), P(CI)})
19 /*--------------------------------------------------------------------------*/
41 /* 0x0001 - 0x0003: reserved */
49 /* 0x0010 - 0x006b: formac+ (supernet_3) fequently used registers */
52 #define B0_ST1U 0x0010 /* read upper 16-bit of status reg 1 */
53 #define B0_ST1L 0x0014 /* read lower 16-bit of status reg 1 */
54 #define B0_ST2U 0x0018 /* read upper 16-bit of status reg 2 */
55 #define B0_ST2L 0x001c /* read lower 16-bit of status reg 2 */
59 #define B0_MDRU 0x0028 /* r/w upper 16-bit of mem. data reg */
[all …]
/linux/drivers/spi/
H A Dspi-synquacer.c1 // SPDX-License-Identifier: GPL-2.0
5 // Copyright (c) 2015-2018 Socionext Inc.
6 // Copyright (c) 2018-2019 Linaro Ltd.
108 (SYNQUACER_HSSPI_FIFO_DEPTH - SYNQUACER_HSSPI_FIFO_TX_THRESHOLD)
128 bool aces, rtm; member
143 u32 len = readl(sspi->regs + SYNQUACER_HSSPI_REG_DMSTATUS); in read_fifo()
147 len = min(len, sspi->rx_words); in read_fifo()
149 switch (sspi->bpw) { in read_fifo()
151 u8 *buf = sspi->rx_buf; in read_fifo()
153 ioread8_rep(sspi->regs + SYNQUACER_HSSPI_REG_RX_FIFO, in read_fifo()
[all …]
/linux/sound/soc/intel/avs/boards/
H A Dnau8825.c1 // SPDX-License-Identifier: GPL-2.0-only
3 // Copyright(c) 2021-2022 Intel Corporation
17 #include <sound/soc-acpi.h>
21 #define SKL_NUVOTON_CODEC_DAI "nau8825-hifi"
26 struct snd_soc_dapm_context *dapm = w->dapm; in avs_nau8825_clock_control()
27 struct snd_soc_card *card = dapm->card; in avs_nau8825_clock_control()
33 dev_err(card->dev, "Codec dai not found\n"); in avs_nau8825_clock_control()
34 return -EINVAL; in avs_nau8825_clock_control()
43 dev_err(card->dev, "Set sysclk failed: %d\n", ret); in avs_nau8825_clock_control()
83 struct snd_soc_card *card = runtime->card; in avs_nau8825_codec_init()
[all …]
/linux/include/linux/
H A Dmroute_base.h5 #include <linux/rhashtable-types.h>
13 * struct vif_device - interface representor for multicast routing
66 .vif_flags = vif->flags, in mr_call_vif_notifier()
87 .vif_flags = vif->flags, in mr_call_vif_notifiers()
104 #define VIF_EXISTS(_mrt, _idx) (!!rcu_access_pointer((_mrt)->vif_table[_idx].dev))
107 * MFC_STATIC - the entry was added statically (not by a routing daemon)
108 * MFC_OFFLOAD - the entry was offloaded to the hardware
116 * struct mr_mfc - common multicast routing entries
128 * @lastuse: time of last use of the group (traffic or update)
164 if (refcount_dec_and_test(&c->mfc_un.res.refcount)) in mr_cache_put()
[all …]
/linux/lib/zstd/common/
H A Dcpu.h5 * This source code is licensed under both the BSD-style license (found in the
8 * You may select, at your option, one of the above-listed licenses.
36 * reserves ebx for use of its pic register so we must specially in ZSTD_cpuid()
169 B(rtm, 11)
/linux/Documentation/admin-guide/hw-vuln/
H A Dtsx_async_abort.rst1 .. SPDX-License-Identifier: GPL-2.0
3 TAA - TSX Asynchronous Abort
11 -------------------
23 ------------
28 CVE-2019-11135 TAA TSX Asynchronous Abort (TAA) condition on some
36 -------
43 hardware transactional memory support to improve performance of multi-threaded
58 Because the buffers are potentially shared between Hyper-Threads cross
59 Hyper-Thread attacks are possible.
61 The victim of a malicious actor does not need to make use of TSX. Only the
[all …]
/linux/tools/arch/x86/include/asm/
H A Dcpufeatures.h1 /* SPDX-License-Identifier: GPL-2.0 */
6 #include <asm/required-features.h>
10 #include <asm/disabled-features.h>
16 #define NCAPINTS 22 /* N 32-bit words worth of info */
17 #define NBUGINTS 2 /* N 32-bit bug flags */
25 * please update the table in kernel/cpu/cpuid-deps.c as well.
28 /* Intel-defined CPU features, CPUID level 0x00000001 (EDX), word 0 */
34 #define X86_FEATURE_MSR ( 0*32+ 5) /* "msr" Model-Specific Registers */
45 #define X86_FEATURE_PSE36 ( 0*32+17) /* "pse36" 36-bit PSEs */
55 #define X86_FEATURE_HT ( 0*32+28) /* "ht" Hyper-Threading */
[all …]
/linux/arch/x86/include/asm/
H A Dcpufeatures.h1 /* SPDX-License-Identifier: GPL-2.0 */
6 #include <asm/required-features.h>
10 #include <asm/disabled-features.h>
16 #define NCAPINTS 22 /* N 32-bit words worth of info */
17 #define NBUGINTS 2 /* N 32-bit bug flags */
25 * please update the table in kernel/cpu/cpuid-deps.c as well.
28 /* Intel-defined CPU features, CPUID level 0x00000001 (EDX), word 0 */
34 #define X86_FEATURE_MSR ( 0*32+ 5) /* "msr" Model-Specific Registers */
45 #define X86_FEATURE_PSE36 ( 0*32+17) /* "pse36" 36-bit PSEs */
55 #define X86_FEATURE_HT ( 0*32+28) /* "ht" Hyper-Threading */
[all …]
/linux/tools/include/uapi/linux/
H A Dif_link.h1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
43 * struct rtnl_link_stats64 - The main device statistics structure.
93 * - 30.3.1.1.21 aMulticastFramesReceivedOK
103 * - 30.3.1.1.23 aInRangeLengthErrors
104 * - 30.3.1.1.24 aOutOfRangeLengthField
105 * - 30.3.1.1.25 aFrameTooLongErrors
111 * not correspond one-to-one with dropped packets.
113 * The recommended interpretation for high speed interfaces is -
131 * - 30.3.1.1.6 aFrameCheckSequenceErrors
138 * - 30.3.1.1.7 aAlignmentErrors
[all …]
/linux/arch/x86/kvm/
H A Dcpuid.c1 // SPDX-License-Identifier: GPL-2.0-only
3 * Kernel-based Virtual Machine driver for Linux
66 /* Scattered Flag - For features that are scattered by cpufeatures.h. */
74 * Magic value used by KVM when querying userspace-provided CPUID entries and
80 #define KVM_CPUID_INDEX_NOT_SIGNIFICANT -1ull
89 * KVM has a semi-arbitrary rule that querying the guest's CPUID model in cpuid_entry2_find()
93 * path, e.g. the core VM-Enter/VM-Exit run loop. Nothing will break in cpuid_entry2_find()
103 if (e->function != function) in cpuid_entry2_find()
107 * If the index isn't significant, use the first entry with a in cpuid_entry2_find()
111 if (!(e->flags & KVM_CPUID_FLAG_SIGNIFCANT_INDEX) || e->index == index) in cpuid_entry2_find()
[all …]
/linux/tools/perf/pmu-events/arch/x86/haswell/
H A Dpipeline.json20 "BriefDescription": "Speculative and retired macro-conditional branches.",
28 …"BriefDescription": "Speculative and retired macro-unconditional branches excluding calls and indi…
60 "BriefDescription": "Not taken macro-conditional branches.",
68 "BriefDescription": "Taken speculative and retired macro-conditional branches.",
76 …"BriefDescription": "Taken speculative and retired macro-conditional branch instructions excluding…
228 …"PublicDescription": "Counts speculatively miss-predicted indirect branches at execution time. Cou…
498 … For instructions that consist of multiple micro-ops, this event counts the retirement of the last…
503 … "BriefDescription": "Number of instructions retired. General Counter - architectural event",
523 … have no exceptions: Counts also flows that have several X87 or flows that use X87 uops in the exc…
527-precise version (that is, does not use PEBS) of the event that counts FP operations retired. For …
[all …]
/linux/tools/perf/pmu-events/arch/x86/haswellx/
H A Dpipeline.json20 "BriefDescription": "Speculative and retired macro-conditional branches.",
28 …"BriefDescription": "Speculative and retired macro-unconditional branches excluding calls and indi…
60 "BriefDescription": "Not taken macro-conditional branches.",
68 "BriefDescription": "Taken speculative and retired macro-conditional branches.",
76 …"BriefDescription": "Taken speculative and retired macro-conditional branch instructions excluding…
228 …"PublicDescription": "Counts speculatively miss-predicted indirect branches at execution time. Cou…
498 … For instructions that consist of multiple micro-ops, this event counts the retirement of the last…
503 … "BriefDescription": "Number of instructions retired. General Counter - architectural event",
523 … have no exceptions: Counts also flows that have several X87 or flows that use X87 uops in the exc…
527-precise version (that is, does not use PEBS) of the event that counts FP operations retired. For …
[all …]
/linux/arch/x86/events/intel/
H A Dds.c1 // SPDX-License-Identifier: GPL-2.0
203 OP_LH | LEVEL(MSC) | P(SNOOP, NONE), /* 0x10: Memory-side Cache Hit */
263 if (event->hw.flags & PERF_X86_EVENT_PEBS_ST_HSW) in precise_datala_hsw()
265 else if (event->hw.flags & PERF_X86_EVENT_PEBS_LD_HSW) in precise_datala_hsw()
276 if (event->hw.flags & PERF_X86_EVENT_PEBS_ST_HSW) { in precise_datala_hsw()
302 /* Retrieve the latency data for e-core of ADL */
308 WARN_ON_ONCE(hybrid_pmu(event->pmu)->pmu_type == hybrid_big); in __grt_latency_data()
311 val = hybrid_var(event->pmu, pebs_data_source)[dse]; in __grt_latency_data()
334 /* Retrieve the latency data for e-core of MTL */
355 val = hybrid_var(event->pmu, pebs_data_source)[status & PERF_PEBS_DATA_SOURCE_MASK]; in lnc_latency_data()
[all …]

12