Home
last modified time | relevance | path

Searched refs:snapshot (Results 1 – 25 of 222) sorted by relevance

123456789

/linux-6.12.1/drivers/gpu/drm/xe/
Dxe_hw_engine.c809 struct xe_hw_engine_snapshot *snapshot) in xe_hw_engine_snapshot_instdone_capture() argument
816 snapshot->reg.instdone.ring = xe_hw_engine_mmio_read32(hwe, RING_INSTDONE(0)); in xe_hw_engine_snapshot_instdone_capture()
818 if (snapshot->hwe->class != XE_ENGINE_CLASS_RENDER) in xe_hw_engine_snapshot_instdone_capture()
822 snapshot->reg.instdone.slice_common[0] = in xe_hw_engine_snapshot_instdone_capture()
824 snapshot->reg.instdone.slice_common_extra[0] = in xe_hw_engine_snapshot_instdone_capture()
826 snapshot->reg.instdone.slice_common_extra2[0] = in xe_hw_engine_snapshot_instdone_capture()
830 snapshot->reg.instdone.slice_common[dss] = in xe_hw_engine_snapshot_instdone_capture()
832 snapshot->reg.instdone.slice_common_extra[dss] = in xe_hw_engine_snapshot_instdone_capture()
834 snapshot->reg.instdone.slice_common_extra2[dss] = in xe_hw_engine_snapshot_instdone_capture()
840 snapshot->reg.instdone.sampler[dss] = in xe_hw_engine_snapshot_instdone_capture()
[all …]
Dxe_devcoredump.c80 ss = &coredump->snapshot; in __xe_devcoredump_read()
100 xe_guc_ct_snapshot_print(coredump->snapshot.ct, &p); in __xe_devcoredump_read()
101 xe_guc_exec_queue_snapshot_print(coredump->snapshot.ge, &p); in __xe_devcoredump_read()
104 xe_sched_job_snapshot_print(coredump->snapshot.job, &p); in __xe_devcoredump_read()
108 if (coredump->snapshot.hwe[i]) in __xe_devcoredump_read()
109 xe_hw_engine_snapshot_print(coredump->snapshot.hwe[i], in __xe_devcoredump_read()
112 xe_vm_snapshot_print(coredump->snapshot.vm, &p); in __xe_devcoredump_read()
143 struct xe_devcoredump *coredump = container_of(ss, typeof(*coredump), snapshot); in xe_devcoredump_deferred_snap_work()
173 ss = &coredump->snapshot; in xe_devcoredump_read()
199 cancel_work_sync(&coredump->snapshot.work); in xe_devcoredump_free()
[all …]
Dxe_guc_submit.c2025 struct xe_guc_submit_exec_queue_snapshot *snapshot) in guc_exec_queue_wq_snapshot_capture() argument
2032 snapshot->guc.wqi_head = q->guc->wqi_head; in guc_exec_queue_wq_snapshot_capture()
2033 snapshot->guc.wqi_tail = q->guc->wqi_tail; in guc_exec_queue_wq_snapshot_capture()
2034 snapshot->parallel.wq_desc.head = parallel_read(xe, map, wq_desc.head); in guc_exec_queue_wq_snapshot_capture()
2035 snapshot->parallel.wq_desc.tail = parallel_read(xe, map, wq_desc.tail); in guc_exec_queue_wq_snapshot_capture()
2036 snapshot->parallel.wq_desc.status = parallel_read(xe, map, in guc_exec_queue_wq_snapshot_capture()
2039 if (snapshot->parallel.wq_desc.head != in guc_exec_queue_wq_snapshot_capture()
2040 snapshot->parallel.wq_desc.tail) { in guc_exec_queue_wq_snapshot_capture()
2041 for (i = snapshot->parallel.wq_desc.head; in guc_exec_queue_wq_snapshot_capture()
2042 i != snapshot->parallel.wq_desc.tail; in guc_exec_queue_wq_snapshot_capture()
[all …]
Dxe_lrc.c1647 struct xe_lrc_snapshot *snapshot = kmalloc(sizeof(*snapshot), GFP_NOWAIT); in xe_lrc_snapshot_capture() local
1649 if (!snapshot) in xe_lrc_snapshot_capture()
1655 snapshot->context_desc = xe_lrc_ggtt_addr(lrc); in xe_lrc_snapshot_capture()
1656 snapshot->indirect_context_desc = xe_lrc_indirect_ring_ggtt_addr(lrc); in xe_lrc_snapshot_capture()
1657 snapshot->head = xe_lrc_ring_head(lrc); in xe_lrc_snapshot_capture()
1658 snapshot->tail.internal = lrc->ring.tail; in xe_lrc_snapshot_capture()
1659 snapshot->tail.memory = xe_lrc_ring_tail(lrc); in xe_lrc_snapshot_capture()
1660 snapshot->start_seqno = xe_lrc_start_seqno(lrc); in xe_lrc_snapshot_capture()
1661 snapshot->seqno = xe_lrc_seqno(lrc); in xe_lrc_snapshot_capture()
1662 snapshot->lrc_bo = xe_bo_get(lrc->bo); in xe_lrc_snapshot_capture()
[all …]
Dxe_guc_ct.c1416 struct guc_ctb_snapshot *snapshot, in guc_ctb_snapshot_capture() argument
1421 xe_map_memcpy_from(xe, &snapshot->desc, &ctb->desc, 0, in guc_ctb_snapshot_capture()
1423 memcpy(&snapshot->info, &ctb->info, sizeof(struct guc_ctb_info)); in guc_ctb_snapshot_capture()
1425 snapshot->cmds = kmalloc_array(ctb->info.size, sizeof(u32), in guc_ctb_snapshot_capture()
1428 if (!snapshot->cmds) { in guc_ctb_snapshot_capture()
1433 head = snapshot->desc.head; in guc_ctb_snapshot_capture()
1434 tail = snapshot->desc.tail; in guc_ctb_snapshot_capture()
1441 snapshot->cmds[head] = xe_map_rd(xe, &map, 0, u32); in guc_ctb_snapshot_capture()
1453 static void guc_ctb_snapshot_print(struct guc_ctb_snapshot *snapshot, in guc_ctb_snapshot_print() argument
1458 drm_printf(p, "\tsize: %d\n", snapshot->info.size); in guc_ctb_snapshot_print()
[all …]
Dxe_sched_job.c333 struct xe_sched_job_snapshot *snapshot; in xe_sched_job_snapshot_capture() local
334 size_t len = sizeof(*snapshot) + (sizeof(u64) * q->width); in xe_sched_job_snapshot_capture()
337 snapshot = kzalloc(len, GFP_ATOMIC); in xe_sched_job_snapshot_capture()
338 if (!snapshot) in xe_sched_job_snapshot_capture()
341 snapshot->batch_addr_len = q->width; in xe_sched_job_snapshot_capture()
343 snapshot->batch_addr[i] = in xe_sched_job_snapshot_capture()
346 return snapshot; in xe_sched_job_snapshot_capture()
349 void xe_sched_job_snapshot_free(struct xe_sched_job_snapshot *snapshot) in xe_sched_job_snapshot_free() argument
351 kfree(snapshot); in xe_sched_job_snapshot_free()
355 xe_sched_job_snapshot_print(struct xe_sched_job_snapshot *snapshot, in xe_sched_job_snapshot_print() argument
[all …]
Dxe_guc_submit.h33 xe_guc_exec_queue_snapshot_capture_delayed(struct xe_guc_submit_exec_queue_snapshot *snapshot);
35 xe_guc_exec_queue_snapshot_print(struct xe_guc_submit_exec_queue_snapshot *snapshot,
38 xe_guc_exec_queue_snapshot_free(struct xe_guc_submit_exec_queue_snapshot *snapshot);
/linux-6.12.1/Documentation/admin-guide/device-mapper/
Dsnapshot.rst2 Device-mapper snapshot support
12 - To merge a snapshot of a block device back into the snapshot's origin
19 For snapshot merge the contents of the COW storage are merged back into
24 snapshot, snapshot-origin, and snapshot-merge.
26 - snapshot-origin <origin>
30 original data will be saved in the <COW device> of each snapshot to keep
34 - snapshot <origin> <COW device> <persistent?> <chunksize>
37 A snapshot of the <origin> block device is created. Changed chunks of
41 smaller than the origin and if it fills up the snapshot will become
48 snapshot status. So supported store types are "P", "PO" and "N".
[all …]
Dera.rst16 coherency after rolling back a vendor snapshot.
50 Drop the metadata snapshot.
73 snapshot was the primary use case when developing this target:
75 Taking a vendor snapshot
80 - Take vendor snapshot (the era and snapshot should be forever
83 Rolling back to an vendor snapshot
88 - Take metadata snapshot
89 - Ascertain which blocks have been written since the snapshot was taken
/linux-6.12.1/Documentation/networking/devlink/
Ddevlink-region.rst18 All snapshots with the same snapshot id within a devlink instance
27 Regions may optionally support capturing a snapshot on demand via the
29 requested snapshots must implement the ``.snapshot`` callback for the region
30 in its ``devlink_region_ops`` structure. If snapshot id is not set in
32 the snapshot information to user space.
35 snapshot. Direct read requests are not atomic. In particular a read request
37 access is required, use a snapshot. A driver wishing to enable this for a
40 ``DEVLINK_ATTR_REGION_DIRECT`` attribute instead of specifying a snapshot
50 $ devlink region del DEV/REGION snapshot SNAPSHOT_ID
51 $ devlink region dump DEV/REGION [ snapshot SNAPSHOT_ID ]
[all …]
Diosm.rst100 In case a firmware encounters an exception, a snapshot will be taken by the
130 $ devlink region dump pci/0000:02:00.0/report.json snapshot 0
132 $ devlink region del pci/0000:02:00.0/report.json snapshot 0
136 $ devlink region dump pci/0000:02:00.0/coredump.fcd snapshot 1
138 $ devlink region del pci/0000:02:00.0/coredump.fcd snapshot 1
142 $ devlink region dump pci/0000:02:00.0/cdd.log snapshot 2
144 $ devlink region del pci/0000:02:00.0/cdd.log snapshot 2
148 $ devlink region dump pci/0000:02:00.0/eeprom.bin snapshot 3
150 $ devlink region del pci/0000:02:00.0/eeprom.bin snapshot 3
154 $ devlink region dump pci/0000:02:00.0/bootcore_trace.bin snapshot 4
[all …]
/linux-6.12.1/fs/bcachefs/
Dfsck.c72 u32 snapshot) in bch2_count_inode_sectors() argument
77 SPOS(inum, 0, snapshot), in bch2_count_inode_sectors()
89 u32 snapshot) in bch2_count_subdirs() argument
94 SPOS(inum, 0, snapshot), in bch2_count_subdirs()
107 u32 *snapshot, u64 *inum) in subvol_lookup() argument
112 *snapshot = le32_to_cpu(s.snapshot); in subvol_lookup()
140 static int lookup_inode(struct btree_trans *trans, u64 inode_nr, u32 snapshot, in lookup_inode() argument
148 SPOS(0, inode_nr, snapshot), 0); in lookup_inode()
164 u64 *target, unsigned *type, u32 snapshot) in lookup_dirent_in_snapshot() argument
168 &hash_info, dir, name, 0, snapshot); in lookup_dirent_in_snapshot()
[all …]
Dstr_hash.h158 u32 snapshot) in bch2_hash_lookup_in_snapshot() argument
164 SPOS(inum.inum, desc.hash_key(info, key), snapshot), in bch2_hash_lookup_in_snapshot()
190 u32 snapshot; in bch2_hash_lookup() local
191 int ret = bch2_subvolume_get_snapshot(trans, inum.subvol, &snapshot); in bch2_hash_lookup()
195 return bch2_hash_lookup_in_snapshot(trans, iter, desc, info, inum, key, flags, snapshot); in bch2_hash_lookup()
206 u32 snapshot; in bch2_hash_hole() local
209 ret = bch2_subvolume_get_snapshot(trans, inum.subvol, &snapshot); in bch2_hash_hole()
214 SPOS(inum.inum, desc.hash_key(info, key), snapshot), in bch2_hash_hole()
259 subvol_inum inum, u32 snapshot, in bch2_hash_set_or_get_in_snapshot() argument
271 snapshot), in bch2_hash_set_or_get_in_snapshot()
[all …]
Dinode.c286 unpacked->bi_snapshot = k.k->p.snapshot; in bch2_inode_unpack_slowpath()
328 unpacked->bi_snapshot = k.k->p.snapshot; in bch2_inode_unpack()
341 u32 snapshot; in __bch2_inode_peek() local
342 int ret = __bch2_subvolume_get_snapshot(trans, inum.subvol, &snapshot, warn); in __bch2_inode_peek()
347 SPOS(0, inum.inum, snapshot), in __bch2_inode_peek()
381 inode_p->inode.k.p.snapshot = iter->snapshot; in bch2_inode_write_flags()
394 inode_p->inode.k.p.snapshot = inode->bi_snapshot; in __bch2_fsck_write_inode()
624 if (bch2_snapshot_is_ancestor(c, pos.snapshot, k.k->p.snapshot)) in bch2_bkey_get_iter_snapshot_parent()
659 if (bch2_snapshot_is_ancestor(c, k.k->p.snapshot, pos.snapshot) && in __bch2_inode_has_child_snapshots()
760 bch2_snapshot_parent(c, new.k->p.snapshot)) { in bch2_trigger_inode()
[all …]
Dbkey.h108 (l.snapshot ^ r.snapshot)); in bpos_eq()
115 l.snapshot != r.snapshot ? l.snapshot < r.snapshot : false; in bpos_lt()
122 l.snapshot != r.snapshot ? l.snapshot < r.snapshot : true; in bpos_le()
139 cmp_int(l.snapshot, r.snapshot); in bpos_cmp()
263 if (!++p.snapshot && in bpos_successor()
273 if (!p.snapshot-- && in bpos_predecessor()
283 p.snapshot = 0; in bpos_nosnap_successor()
294 p.snapshot = 0; in bpos_nosnap_predecessor()
313 .snapshot = k->p.snapshot, in bkey_start_pos()
555 x(BKEY_FIELD_SNAPSHOT, p.snapshot) \
Dsnapshot.c365 BTREE_ITER_with_updates, snapshot, s); in bch2_snapshot_lookup()
501 if (!bch2_snapshot_is_ancestor(c, le32_to_cpu(s.v->snapshot), snapshot_root)) in bch2_snapshot_tree_master_subvol()
573 le32_to_cpu(subvol.snapshot), in check_snapshot_tree()
701 BTREE_ITER_with_updates, snapshot); in snapshot_tree_ptr_repair()
713 u = bch2_bkey_make_mut_typed(trans, &root_iter, &root.s_c, 0, snapshot); in snapshot_tree_ptr_repair()
727 u = bch2_bkey_make_mut_typed(trans, iter, &k, 0, snapshot); in snapshot_tree_ptr_repair()
809 if (BCH_SNAPSHOT_SUBVOL(&s) != (le32_to_cpu(subvol.snapshot) == k.k->p.offset)) { in check_snapshot()
820 u = bch2_bkey_make_mut_typed(trans, iter, &k, 0, snapshot); in check_snapshot()
850 u = bch2_bkey_make_mut_typed(trans, iter, &k, 0, snapshot); in check_snapshot()
867 u = bch2_bkey_make_mut_typed(trans, iter, &k, 0, snapshot); in check_snapshot()
[all …]
Ddirent.c206 u32 dir_subvol, u64 dir, u32 snapshot, in bch2_dirent_create_snapshot() argument
222 dirent->k.p.snapshot = snapshot; in bch2_dirent_create_snapshot()
225 dir_inum, snapshot, &dirent->k_i, in bch2_dirent_create_snapshot()
424 new_src->k.p.snapshot != old_src.k->p.snapshot; in bch2_dirent_rename()
428 new_dst->k.p.snapshot != old_dst.k->p.snapshot; in bch2_dirent_rename()
437 bch2_btree_iter_set_snapshot(&src_iter, old_src.k->p.snapshot); in bch2_dirent_rename()
445 bch2_btree_iter_set_snapshot(&dst_iter, old_dst.k->p.snapshot); in bch2_dirent_rename()
497 int bch2_empty_dir_snapshot(struct btree_trans *trans, u64 dir, u32 subvol, u32 snapshot) in bch2_empty_dir_snapshot() argument
504 SPOS(dir, 0, snapshot), in bch2_empty_dir_snapshot()
520 u32 snapshot; in bch2_empty_dir_trans() local
[all …]
Dsubvolume.c34 struct bch_snapshot snapshot; in check_subvol() local
43 snapid = le32_to_cpu(subvol.v->snapshot); in check_subvol()
44 ret = bch2_snapshot_lookup(trans, snapid, &snapshot); in check_subvol()
105 inode.bi_snapshot = le32_to_cpu(subvol.v->snapshot); in check_subvol()
114 le32_to_cpu(subvol.v->snapshot))) { in check_subvol()
125 u32 snapshot_root = bch2_snapshot_root(c, le32_to_cpu(subvol.v->snapshot)); in check_subvol()
220 bkey_fsck_err_on(!subvol.v->snapshot, in bch2_subvolume_validate()
238 le32_to_cpu(s.v->snapshot)); in bch2_subvolume_to_text()
325 int bch2_snapshot_get_subvol(struct btree_trans *trans, u32 snapshot, in bch2_snapshot_get_subvol() argument
330 return bch2_snapshot_lookup(trans, snapshot, &snap) ?: in bch2_snapshot_get_subvol()
[all …]
Dbtree_update.c98 u32 snapshot = pos.snapshot; in need_whiteout_for_snapshot() local
101 if (!bch2_snapshot_parent(trans->c, pos.snapshot)) in need_whiteout_for_snapshot()
104 pos.snapshot++; in need_whiteout_for_snapshot()
112 if (bch2_snapshot_is_ancestor(trans->c, snapshot, in need_whiteout_for_snapshot()
113 k.k->p.snapshot)) { in need_whiteout_for_snapshot()
135 if (!bch2_snapshot_has_children(c, old_pos.snapshot)) in __bch2_insert_snapshot_whiteouts()
147 SPOS(new_pos.inode, new_pos.offset, old_k.k->p.snapshot);; in __bch2_insert_snapshot_whiteouts()
149 if (!bch2_snapshot_is_ancestor(c, old_k.k->p.snapshot, old_pos.snapshot) || in __bch2_insert_snapshot_whiteouts()
150 snapshot_list_has_ancestor(c, &s, old_k.k->p.snapshot)) in __bch2_insert_snapshot_whiteouts()
175 ret = snapshot_list_add(c, &s, old_k.k->p.snapshot); in __bch2_insert_snapshot_whiteouts()
[all …]
/linux-6.12.1/net/devlink/
Dregion.c62 struct devlink_snapshot *snapshot; in devlink_region_snapshot_get_by_id() local
64 list_for_each_entry(snapshot, &region->snapshot_list, list) in devlink_region_snapshot_get_by_id()
65 if (snapshot->id == id) in devlink_region_snapshot_get_by_id()
66 return snapshot; in devlink_region_snapshot_get_by_id()
73 struct devlink_snapshot *snapshot) in devlink_nl_region_snapshot_id_put() argument
82 err = nla_put_u32(msg, DEVLINK_ATTR_REGION_SNAPSHOT_ID, snapshot->id); in devlink_nl_region_snapshot_id_put()
98 struct devlink_snapshot *snapshot; in devlink_nl_region_snapshots_id_put() local
107 list_for_each_entry(snapshot, &region->snapshot_list, list) { in devlink_nl_region_snapshots_id_put()
108 err = devlink_nl_region_snapshot_id_put(msg, devlink, snapshot); in devlink_nl_region_snapshots_id_put()
173 struct devlink_snapshot *snapshot, in devlink_nl_region_notify_build() argument
[all …]
/linux-6.12.1/Documentation/power/
Duserland-swsusp.rst13 utilities that will read/write the system memory snapshot from/to the
22 be read from /sys/class/misc/snapshot/dev.
45 create a snapshot of the system memory; the
48 creating the snapshot (1) or after restoring the system memory state
50 SNAPSHOT_CREATE_IMAGE ioctl() again); after the snapshot
56 uploaded snapshot image; before calling it you should transfer
57 the system memory snapshot back to the kernel using the write()
58 operation; this call will not succeed if the snapshot
62 free memory allocated for the snapshot image
118 The device's read() operation can be used to transfer the snapshot image from
[all …]
/linux-6.12.1/tools/testing/selftests/ftrace/test.d/trigger/
Dtrigger-snapshot.tc11 FEATURE=`grep snapshot events/sched/sched_process_fork/trigger`
18 echo 0 > snapshot
23 grep sched_process_fork snapshot > /dev/null || \
27 echo 0 > snapshot
/linux-6.12.1/kernel/power/
Dswap.c548 struct snapshot_handle *snapshot, in save_image() argument
569 ret = snapshot_read_next(snapshot); in save_image()
572 ret = swap_write_page(handle, data_of(*snapshot), &hb); in save_image()
693 struct snapshot_handle *snapshot, in save_compressed_image() argument
804 ret = snapshot_read_next(snapshot); in save_compressed_image()
812 data_of(*snapshot), PAGE_SIZE); in save_compressed_image()
943 struct snapshot_handle snapshot; in swsusp_write() local
961 memset(&snapshot, 0, sizeof(struct snapshot_handle)); in swsusp_write()
962 error = snapshot_read_next(&snapshot); in swsusp_write()
969 header = (struct swsusp_info *)data_of(snapshot); in swsusp_write()
[all …]
/linux-6.12.1/tools/testing/selftests/ftrace/test.d/00basic/
Dsnapshot.tc10 echo 1 > snapshot
13 grep -q "Snapshot is allocated" snapshot
22 echo 1 > snapshot
/linux-6.12.1/tools/testing/selftests/drivers/net/netdevsim/
Ddevlink.sh170 check_region_snapshot_count dummy post-first-snapshot 1
174 check_region_snapshot_count dummy post-second-snapshot 2
178 check_region_snapshot_count dummy post-third-snapshot 3
180 devlink region del $DL_HANDLE/dummy snapshot 1
185 devlink region new $DL_HANDLE/dummy snapshot 25
190 devlink region dump $DL_HANDLE/dummy snapshot 25 >> /dev/null
193 devlink region read $DL_HANDLE/dummy snapshot 25 addr 0 len 1 >> /dev/null
196 devlink region read $DL_HANDLE/dummy snapshot 25 addr 128 len 128 >> /dev/null
199 devlink region read $DL_HANDLE/dummy snapshot 25 addr 128 len $((1<<32)) >> /dev/null
202 devlink region read $DL_HANDLE/dummy snapshot 25 addr $((1<<32)) len 128 >> /dev/null 2>&1
[all …]

123456789