Home
last modified time | relevance | path

Searched full:we (Results 1 – 25 of 5385) sorted by relevance

12345678910>>...216

/linux/fs/xfs/
H A Dxfs_log_cil.c23 * recover, so we don't allow failure here. Also, we allocate in a context that
24 * we don't want to be issuing transactions from, so we need to tell the
27 * We don't reserve any space for the ticket - we are going to steal whatever
28 * space we require from transactions as they commit. To ensure we reserve all
29 * the space required, we need to set the current reservation of the ticket to
30 * zero so that we know to steal the initial transaction overhead from the
42 * set the current reservation to zero so we know to steal the basic in xlog_cil_ticket_alloc()
62 * We can't rely on just the log item being in the CIL, we have to check
80 * current sequence, we're in a new checkpoint. in xlog_item_in_current_chkpt()
140 * We're in the middle of switching cil contexts. Reset the in xlog_cil_push_pcp_aggregate()
[all …]
H A Dxfs_log.c122 * we have overrun available reservation space, return 0. The memory barrier
240 * path. Hence any lock will be globally hot if we take it unconditionally on
243 * As tickets are only ever moved on and off head->waiters under head->lock, we
244 * only need to take that lock if we are going to add the ticket to the queue
245 * and sleep. We can avoid taking the lock if the ticket was never added to
246 * head->waiters because the t_queue list head will be empty and we hold the
263 * logspace before us. Wake up the first waiters, if we do not wake in xlog_grant_head_check()
325 * This is a new transaction on the ticket, so we need to change the in xfs_log_regrant()
327 * the log. Just add one to the existing tid so that we can see chains in xfs_log_regrant()
348 * If we are failing, make sure the ticket doesn't have any current in xfs_log_regrant()
[all …]
H A Dxfs_log_recover.c78 * Pass log block 0 since we don't have an addr yet, buffer will be in xlog_alloc_buffer()
88 * We do log I/O in units of log sectors (a power-of-2 multiple of the in xlog_alloc_buffer()
89 * basic block size), so we round up the requested size to accommodate in xlog_alloc_buffer()
97 * blocks (sector size 1). But otherwise we extend the buffer by one in xlog_alloc_buffer()
249 * h_fs_uuid is null, we assume this log was last mounted in xlog_header_check_mount()
328 * range of basic blocks we'll be examining. If that fails, in xlog_find_verify_cycle()
329 * try a smaller size. We need to be able to read at least in xlog_find_verify_cycle()
330 * a log sector, or we're out of luck. in xlog_find_verify_cycle()
385 * a good log record. Therefore, we subtract one to get the block number
387 * of blocks we would have read on a previous read. This happens when the
[all …]
/linux/arch/powerpc/mm/nohash/
H A Dtlb_low_64e.S91 /* We need _PAGE_PRESENT and _PAGE_ACCESSED set */
93 /* We do the user/kernel test for the PID here along with the RW test
95 /* We pre-test some combination of permissions to avoid double
98 * We move the ESR:ST bit into the position of _PAGE_BAP_SW in the PTE
103 * writeable, we will take a new fault later, but that should be
106 * We also move ESR_ST in _PAGE_DIRTY position
109 * MAS1 is preset for all we need except for TID that needs to
137 * We are entered with:
176 /* Now we build the MAS:
219 /* We need to check if it was an instruction miss */
[all …]
/linux/drivers/misc/vmw_vmci/
H A Dvmci_route.c33 * which comes from the VMX, so we know it is coming from a in vmci_route()
36 * To avoid inconsistencies, test these once. We will test in vmci_route()
37 * them again when we do the actual send to ensure that we do in vmci_route()
49 * If this message already came from a guest then we in vmci_route()
57 * We must be acting as a guest in order to send to in vmci_route()
63 /* And we cannot send if the source is the host context. */ in vmci_route()
71 * then they probably mean ANY, in which case we in vmci_route()
87 * If it is not from a guest but we are acting as a in vmci_route()
88 * guest, then we need to send it down to the host. in vmci_route()
89 * Note that if we are also acting as a host then this in vmci_route()
[all …]
/linux/Documentation/filesystems/
H A Ddirectory-locking.rst10 When taking the i_rwsem on multiple non-directory objects, we
11 always acquire the locks in order by increasing address. We'll call
22 * lock the directory we are accessing (shared)
26 * lock the directory we are accessing (exclusive)
73 in its own right; it may happen as part of lookup. We speak of the
74 operations on directory trees, but we obviously do not have the full
75 picture of those - especially for network filesystems. What we have
77 Trees grow as we do operations; memory pressure prunes them. Normally
78 that's not a problem, but there is a nasty twist - what should we do
83 possibility that directory we see in one place gets moved by the server
[all …]
H A Didmappings.rst23 on, we will always prefix ids with ``u`` or ``k`` to make it clear whether
24 we're talking about an id in the upper or lower idmapset.
42 that make it easier to understand how we can translate between idmappings. For
43 example, we know that the inverse idmapping is an order isomorphism as well::
49 Given that we are dealing with order isomorphisms plus the fact that we're
50 dealing with subsets we can embed idmappings into each other, i.e. we can
51 sensibly translate between different idmappings. For example, assume we've been
61 Because we're dealing with order isomorphic subsets it is meaningful to ask
64 mapping ``k11000`` up to ``u1000``. Afterwards, we can map ``u1000`` down using
69 If we were given the same task for the following three idmappings::
[all …]
/linux/drivers/usb/dwc2/
H A Dhcd_queue.c32 /* If we get a NAK, wait this long before retrying */
121 * @num_bits: The number of bits we need per period we want to reserve
123 * @interval: How often we need to be scheduled for the reservation this
127 * the interval or we return failure right away.
128 * @only_one_period: Normally we'll allow picking a start anywhere within the
129 * first interval, since we can still make all repetition
131 * here then we'll return failure if we can't fit within
134 * The idea here is that we want to schedule time for repeating events that all
139 * To keep things "simple", we'll represent our schedule with a bitmap that
141 * but does mean that we need to handle things specially (and non-ideally) if
[all …]
/linux/fs/xfs/scrub/
H A Dalloc_repair.c48 * AG. Therefore, we can recreate the free extent records in an AG by looking
60 * walking the rmapbt records, we create a second bitmap @not_allocbt_blocks to
72 * The OWN_AG bitmap itself isn't needed after this point, so what we really do
83 * written to the new btree indices. We reconstruct both bnobt and cntbt at
84 * the same time since we've already done all the work.
86 * We use the prefix 'xrep_abt' here because we regenerate both free space
118 * Next block we anticipate seeing in the rmap records. If the next
119 * rmap record is greater than next_agbno, we have found unused space.
126 /* Longest free extent we found in the AG. */
139 * Make sure the busy extent list is clear because we can't put extents in xrep_setup_ag_allocbt()
[all …]
H A Dfscounters.c32 * The basics of filesystem summary counter checking are that we iterate the
35 * Then we compare what we computed against the in-core counters.
38 * While we /could/ freeze the filesystem and scramble around the AGs counting
39 * the free blocks, in practice we prefer not do that for a scan because
40 * freezing is costly. To get around this, we added a per-cpu counter of the
41 * delalloc reservations so that we can rotor around the AGs relatively
42 * quickly, and we allow the counts to be slightly off because we're not taking
43 * any locks while we do this.
45 * So the first thing we do is warm up the buffer cache in the setup routine by
48 * structures as quickly as it can. We snapshot the percpu counters before and
[all …]
/linux/Documentation/driver-api/thermal/
H A Dcpu-idle-cooling.rst25 because of the OPP density, we can only choose an OPP with a power
35 If we can remove the static and the dynamic leakage for a specific
38 injection period, we can mitigate the temperature by modulating the
47 At a specific OPP, we can assume that injecting idle cycle on all CPUs
49 idle state target residency, we lead to dropping the static and the
69 We use a fixed duration of idle injection that gives an acceptable
132 - It is less than or equal to the latency we tolerate when the
134 user experience, reactivity vs performance trade off we want. This
137 - It is greater than the idle state’s target residency we want to go
138 for thermal mitigation, otherwise we end up consuming more energy.
[all …]
/linux/arch/openrisc/mm/
H A Dfault.c59 * We fault-in kernel-space virtual memory on-demand. The in do_page_fault()
62 * NOTE! We MUST NOT take any locks for this case. We may in do_page_fault()
68 * mappings we don't have to walk all processes pgdirs and in do_page_fault()
69 * add the high mappings all at once. Instead we do it as they in do_page_fault()
82 /* If exceptions were enabled, we can reenable them here */ in do_page_fault()
100 * If we're in an interrupt or have no user in do_page_fault()
101 * context, we must not take the fault.. in do_page_fault()
125 * we get page-aligned addresses so we can only check in do_page_fault()
126 * if we're within a page from usp, but that might be in do_page_fault()
137 * Ok, we have a good vm_area for this memory access, so in do_page_fault()
[all …]
/linux/fs/btrfs/
H A Dlocking.h23 * We are limited in number of subclasses by MAX_LOCKDEP_SUBCLASSES, which at
24 * the time of this patch is 8, which is how many we use. Keep this in mind if
31 * When we COW a block we are holding the lock on the original block,
33 * when we lock the newly allocated COW'd block. Handle this by having
39 * Oftentimes we need to lock adjacent nodes on the same level while
40 * still holding the lock on the original node we searched to, such as
43 * Because of this we need to indicate to lockdep that this is
51 * When splitting we will be holding a lock on the left/right node when
52 * we need to cow that node, thus we need a new set of subclasses for
59 * When splitting we may push nodes to the left or right, but still use
[all …]
/linux/drivers/gpu/drm/i915/gt/
H A Dintel_timeline_types.h31 * We need two distinct counters so that we can assign different
33 * we want to permanently keep the timeline pinned for the kernel
34 * context so that we can issue requests at any time without having
35 * to acquire space in the GGTT. However, we want to keep tracking
36 * the activity (to be able to detect when we become idle) along that
73 * We track the most recent seqno that we wait on in every context so
74 * that we only have to emit a new await and dependency on a more
75 * recent sync point. As the contexts may be executed out-of-order, we
77 * global_seqno. When we know that all tracked fences are completed
78 * (i.e. when the driver is idle), we know that the syncmap is
[all …]
/linux/kernel/irq/
H A Dspurious.c51 * All handlers must agree on IRQF_SHARED, so we test just the in try_one_irq()
165 * We need to take desc->lock here. note_interrupt() is called in __report_bad_irq()
166 * w/o desc->lock held, but IRQ_PROGRESS set. We might race in __report_bad_irq()
197 /* We didn't actually handle the IRQ - see if it was misrouted? */ in try_misrouted_irq()
202 * But for 'irqfixup == 2' we also do it for handled interrupts if in try_misrouted_irq()
213 * Since we don't get the descriptor lock, "action" can in try_misrouted_irq()
235 * We cannot call note_interrupt from the threaded handler in note_interrupt()
236 * because we need to look at the compound of all handlers in note_interrupt()
238 * shared case we have no serialization against an incoming in note_interrupt()
239 * hardware interrupt while we are dealing with a threaded in note_interrupt()
[all …]
/linux/Documentation/arch/powerpc/
H A Dpci_iov_resource_on_powernv.rst40 The following section provides a rough description of what we have on P8
52 For DMA, MSIs and inbound PCIe error messages, we have a table (in
55 We call this the RTT.
57 - For DMA we then provide an entire address space for each PE that can
63 - For MSIs, we have two windows in the address space (one at the top of
87 32-bit PCIe accesses. We configure that window at boot from FW and
91 reserved for MSIs but this is not a problem at this point; we just
93 ignores that however and will forward in that space if we try).
100 Now, this is the "main" window we use in Linux today (excluding
101 SR-IOV). We basically use the trick of forcing the bridge MMIO windows
[all …]
/linux/scripts/
H A Dgenerate_builtin_ranges.awk12 # If we have seen this object before, return information from the cache.
36 # name (e.g. core). We check the associated module file name, and if
55 # We use a modified absolute start address (soff + base) as index because we
58 # So, we use (addr << 1) + 1 to allow a possible anchor record to be placed at
75 # and we record the object name "crypto/lzo-rle".
89 # We collect the base address of the section in order to convert all addresses
92 # We collect the address of the anchor (or first symbol in the section if there
96 # We collect the start address of any sub-section (section included in the top
108 # which format we ar
[all...]
/linux/drivers/md/bcache/
H A Dbcache.h29 * "cached" data is always dirty. The end result is that we get thin
38 * operation all of our available space will be allocated. Thus, we need an
39 * efficient way of deleting things from the cache so we can write new things to
42 * To do this, we first divide the cache device up into buckets. A bucket is the
51 * The priority is used to implement an LRU. We reset a bucket's priority when
52 * we allocate it or on cache it, and every so often we decrement the priority
59 * we have to do is increment its gen (and write its new gen to disk; we batch
62 * Bcache is entirely COW - we never write twice to a bucket, even buckets that
110 * Our unit of allocation is a bucket, and we can't arbitrarily allocate and
113 * (If buckets are really big we'll only use part of the bucket for a btree node
[all …]
/linux/drivers/scsi/aic7xxx/
H A Daic79xx.seq85 * If we have completions stalled waiting for the qfreeze
109 * ENSELO is cleared by a SELDO, so we must test for SELDO
149 * We have received good status for this transaction. There may
169 * Since this status did not consume a FIFO, we have to
170 * be a bit more dilligent in how we check for FIFOs pertaining
178 * count in the SCB. In this case, we allow the routine servicing
183 * we detect case 1, we will properly defer the post of the SCB
222 * bad SCSI status (currently only for underruns), we
223 * queue the SCB for normal completion. Otherwise, we
258 * If we have relatively few commands outstanding, don't
[all …]
/linux/include/linux/
H A Dlru_cache.h29 We use an LRU policy if it is necessary to "cool down" a region currently in
30 the active set before we can "heat" a previously unused region.
33 As it actually Tracks Objects in an Active SeT, we could also call it
35 backend storage upon next resync, if we don't get it right).
39 We replicate IO (more or less synchronously) to local and remote disk.
42 we need to resync all regions that have been target of in-flight WRITE IO
43 (in use, or "hot", regions), as we don't know whether or not those WRITEs
46 To avoid a "full resync", we need to persistently track these regions.
57 If we set a hard limit on the area that may be "hot" at any given time, we
61 we need to resync all blocks that have been changed on the other replica
[all …]
/linux/arch/powerpc/kvm/
H A Dbook3s_hv_rm_xics.c70 * We start the search from our current CPU Id in the core map
71 * and go in a circle until we get back to our ID looking for a
102 * visible before we return to caller (and the in grab_next_hostcore()
147 * if we can't find one, set up state to eventually return too hard. in icp_rm_set_vcpu_irq()
193 * the state already. This is why we never clear the interrupt output in icp_rm_try_update()
194 * here, we only ever set it. The clear only happens prior to doing in icp_rm_try_update()
195 * an update and only by the processor itself. Currently we do it in icp_rm_try_update()
198 * We also do not try to figure out whether the EE state has changed, in icp_rm_try_update()
199 * we unconditionally set it if the new state calls for it. The reason in icp_rm_try_update()
200 * for that is that we opportunistically remove the pending interrupt in icp_rm_try_update()
[all …]
/linux/kernel/sched/
H A Dloadavg.c6 * figure. Its a silly number but people think its important. We go through
15 * We take a distributed and async approach to calculating the global load-avg
32 * serious number of CPUs, therefore we need to take a distributed approach
38 * So assuming nr_active := 0 when we start out -- true per definition, we
43 * across the machine, we assume 10 ticks is sufficient time for every
51 * to the wakeup path. Instead we increment on whatever CPU the task ran
106 * we find: x^n := x^(\Sum n_i * 2^i) := \Prod x^(n_i * 2^i), which is
173 * entering NO_HZ state such that we can include this as an 'extra' CPU delta
174 * when we read the global state.
178 * - When we go NO_HZ idle during the window, we can negate our sample
[all …]
/linux/Documentation/arch/x86/
H A Dentry_64.rst58 so. If we mess that up even slightly, we crash.
60 So when we have a secondary entry, already in kernel mode, we *must
61 not* use SWAPGS blindly - nor must we forget doing a SWAPGS when it's
87 If we are at an interrupt or user-trap/gate-alike boundary then we can
89 whether SWAPGS was already done: if we see that we are a secondary
90 entry interrupting kernel mode execution, then we know that the GS
91 base has already been switched. If it says that we interrupted
92 user-space execution then we must do the SWAPGS.
94 But if we are in an NMI/MCE/DEBUG/whatever super-atomic entry context,
96 stack but before we executed SWAPGS, then the only safe way to check
[all …]
/linux/arch/xtensa/kernel/
H A Dvectors.S20 * We use a two-level table approach. The user and kernel exception vectors
62 * We get here when an exception occurred while we were in userland.
63 * We switch to the kernel stack and jump to the first level handler
90 * We get this exception when we were already in kernel space.
91 * We decrement the current stack pointer (kernel) by PT_KERNEL_SIZE and
94 * Note: we need to preserve space for the spill region.
116 * We get this exception when another exception occurs while were are
118 * or 'expected' exceptions, for example memory exception when we were trying
124 * We decode the exception and take the appropriate action. However, the
164 * - If we ever implement handling signals while in double exceptions, the
[all …]
/linux/arch/sparc/kernel/
H A Dwof.S26 /* We define macro's for registers which have a fixed
79 /* Compute what the new %wim will be if we save the
106 * Basically if we are here, this means that we trapped
125 rett %t_npc ! we are done
137 * %glob_tmp. We cannot set the new %wim first because we
139 * a trap (traps are off, we'd get a watchdog wheee)...
173 /* The users stack is ok and we can safely save it at
183 /* We have spilled successfully, and we have properly stored
199 /* Wheee, user has trashed his/her stack. We have to decide
200 * how to proceed based upon whether we came from kernel mode
[all …]

12345678910>>...216