/qemu/tests/qemu-iotests/ |
H A D | 142.out | 6 === Simple test for all cache modes === 8 Testing: -drive file=TEST_DIR/t.qcow2,cache=none 9 QEMU X.Y.Z monitor - type 'help' for more information 12 Testing: -drive file=TEST_DIR/t.qcow2,cache=directsync 13 QEMU X.Y.Z monitor - type 'help' for more information 16 Testing: -drive file=TEST_DIR/t.qcow2,cache=writeback 17 QEMU X.Y.Z monitor - type 'help' for more information 20 Testing: -drive file=TEST_DIR/t.qcow2,cache=writethrough 21 QEMU X.Y.Z monitor - type 'help' for more information 24 Testing: -drive file=TEST_DIR/t.qcow2,cache=unsafe [all …]
|
H A D | 142 | 3 # Test for configuring cache modes of arbitrary nodes (requires O_DIRECT) 43 # We test all cache modes anyway, but O_DIRECT needs to be supported 51 if ! test -t 0; then 57 ) | $QEMU -nographic -monitor stdio -nodefaults "$@" 70 _make_test_img -b "$TEST_IMG.base" $size -F $IMGFMT 73 echo === Simple test for all cache modes === 76 run_qemu -drive file="$TEST_IMG",cache=none 77 run_qemu -drive file="$TEST_IMG",cache=directsync 78 run_qemu -drive file="$TEST_IMG",cache=writeback 79 run_qemu -drive file="$TEST_IMG",cache=writethrough [all …]
|
H A D | 103 | 4 # Test case for qcow2 metadata cache size specification 44 _unsupported_imgopts 'refcount_bits=1[^0-9]' data_file 49 $QEMU_IO -c 'write -P 42 0 64k' "$TEST_IMG" | _filter_qemu_io 56 $QEMU_IO -c "open -o cache-size=1.25M,l2-cache-size=1M,refcount-cache-size=0.25M $TEST_IMG" \ 58 # l2-cache-size may not exceed cache-size 59 $QEMU_IO -c "open -o cache-size=1M,l2-cache-size=2M $TEST_IMG" 2>&1 \ 61 # refcount-cache-size may not exceed cache-size 62 $QEMU_IO -c "open -o cache-size=1M,refcount-cache-size=2M $TEST_IMG" 2>&1 \ 66 $QEMU_IO -c "open -o cache-size=0,l2-cache-size=0,refcount-cache-size=0 $TEST_IMG" \ 69 # Invalid cache entry sizes [all …]
|
H A D | 157.out | 6 Testing: cache='writeback' wce='' 7 Cache mode: writeback 8 Testing: cache='writeback' wce=',write-cache=auto' 9 Cache mode: writeback 10 Testing: cache='writeback' wce=',write-cache=on' 11 Cache mode: writeback 12 Testing: cache='writeback' wce=',write-cache=off' 13 Cache mode: writethrough 14 Testing: cache='writethrough' wce='' 15 Cache mode: writethrough [all …]
|
H A D | 026.out | 11 Event: l1_update; errno: 5; imm: off; once: on; write -b 17 qemu-io: Failed to flush the L2 table cache: Input/output error 18 qemu-io: Failed to flush the refcount block cache: Input/output error 23 Event: l1_update; errno: 5; imm: off; once: off; write -b 24 qemu-io: Failed to flush the L2 table cache: Input/output error 25 qemu-io: Failed to flush the refcount block cache: Input/output error 35 Event: l1_update; errno: 28; imm: off; once: on; write -b 41 qemu-io: Failed to flush the L2 table cache: No space left on device 42 qemu-io: Failed to flush the refcount block cache: No space left on device 47 Event: l1_update; errno: 28; imm: off; once: off; write -b [all …]
|
H A D | 026.out.nocache | 11 Event: l1_update; errno: 5; imm: off; once: on; write -b 17 qemu-io: Failed to flush the L2 table cache: Input/output error 18 qemu-io: Failed to flush the refcount block cache: Input/output error 23 Event: l1_update; errno: 5; imm: off; once: off; write -b 24 qemu-io: Failed to flush the L2 table cache: Input/output error 25 qemu-io: Failed to flush the refcount block cache: Input/output error 35 Event: l1_update; errno: 28; imm: off; once: on; write -b 41 qemu-io: Failed to flush the L2 table cache: No space left on device 42 qemu-io: Failed to flush the refcount block cache: No space left on device 47 Event: l1_update; errno: 28; imm: off; once: off; write -b [all …]
|
H A D | 137 | 44 # We are going to use lazy-refcounts 56 -c "reopen -o lazy-refcounts=on,pass-discard-request=on" \ 57 -c "reopen -o lazy-refcounts=off,pass-discard-request=off" \ 58 -c "reopen -o pass-discard-snapshot=on,pass-discard-other=on" \ 59 -c "reopen -o pass-discard-snapshot=off,pass-discard-other=off" \ 60 -c "reopen -o overlap-check=all" \ 61 -c "reopen -o overlap-check=none" \ 62 -c "reopen -o overlap-check=cached" \ 63 -c "reopen -o overlap-check=constant" \ 64 -c "reopen -o overlap-check.template=all" \ [all …]
|
H A D | 103.out | 8 qemu-io: can't open device TEST_DIR/t.IMGFMT: cache-size, l2-cache-size and refcount-cache-size may… 9 qemu-io: can't open device TEST_DIR/t.IMGFMT: l2-cache-size may not exceed cache-size 10 qemu-io: can't open device TEST_DIR/t.IMGFMT: refcount-cache-size may not exceed cache-size 11 qemu-io: can't open device TEST_DIR/t.IMGFMT: cache-size, l2-cache-size and refcount-cache-size may… 12 qemu-io: can't open device TEST_DIR/t.IMGFMT: L2 cache entry size must be a power of two between 51… 13 qemu-io: can't open device TEST_DIR/t.IMGFMT: L2 cache entry size must be a power of two between 51… 14 qemu-io: can't open device TEST_DIR/t.IMGFMT: L2 cache entry size must be a power of two between 51… 33 === Testing minimal L2 cache and COW ===
|
H A D | 172.out | 11 dev: isa-fdc, id "" 18 bus: floppy-bus.0 19 type floppy-bus 29 write-cache = "auto" 30 share-rw = false 31 account-invalid = "auto" 32 account-failed = "auto" 33 drive-type = "288" 36 === Using -fda/-fdb options === 38 Testing: -fda TEST_DIR/t.qcow2 [all …]
|
H A D | 186.out | 6 Testing: -device floppy 7 QEMU X.Y.Z monitor - type 'help' for more information 9 /machine/peripheral-anon/device[1]: [not inserted] 10 Attached to: /machine/peripheral-anon/device[N] 14 Testing: -device floppy,id=qdev_id 15 QEMU X.Y.Z monitor - type 'help' for more information 22 Testing: -device ide-cd 23 QEMU X.Y.Z monitor - type 'help' for more information 25 /machine/peripheral-anon/device[1]: [not inserted] 26 Attached to: /machine/peripheral-anon/device[N] [all …]
|
H A D | 137.out | 18 qemu-io: Parameter 'lazy-refcounts' expects 'on' or 'off' 19 qemu-io: cache-size, l2-cache-size and refcount-cache-size may not be set at the same time 20 qemu-io: l2-cache-size may not exceed cache-size 21 qemu-io: refcount-cache-size may not exceed cache-size 22 qemu-io: L2 cache entry size must be a power of two between 512 and the cluster size (65536) 23 qemu-io: L2 cache entry size must be a power of two between 512 and the cluster size (65536) 24 qemu-io: Refcount cache size too big 25 qemu-io: Conflicting values for qcow2 options 'overlap-check' ('constant') and 'overlap-check.templ… 26 qemu-io: Unsupported value 'blubb' for qcow2 option 'overlap-check'. Allowed are any of the followi… 27 qemu-io: Unsupported value 'blubb' for qcow2 option 'overlap-check'. Allowed are any of the followi… [all …]
|
H A D | 157 | 43 _require_devices virtio-blk 48 if ! test -t 0; then 54 ) | $QEMU -nodefaults -nographic -monitor stdio -serial none "$@" 70 if [ -n "$IMGKEYSECRET" ]; then 72 SYSEMU_EXTRA_ARGS="-object $SECRET_ARG" 88 for cache in "writeback" "writethrough"; do 89 for wce in "" ",write-cache=auto" ",write-cache=on" ",write-cache=off"; do 90 echo "Testing: cache='$cache' wce='$wce'" 92 | run_qemu $SYSEMU_EXTRA_ARGS -drive "$SYSEMU_DRIVE_ARG,cache=$cache" \ 93 -device "virtio-blk,drive=none0$wce" \ [all …]
|
/qemu/migration/ |
H A D | page_cache.c | 2 * Page cache for QEMU 3 * The cache is base on a hash of the page address 11 * See the COPYING file in the top-level directory. 19 #include "qemu/host-utils.h" 23 /* the page in cache will not be replaced in two cycles */ 45 PageCache *cache; in cache_init() local 48 error_setg(errp, QERR_INVALID_PARAMETER_VALUE, "cache size", in cache_init() 55 error_setg(errp, QERR_INVALID_PARAMETER_VALUE, "cache size", in cache_init() 61 cache = g_try_malloc(sizeof(*cache)); in cache_init() 62 if (!cache) { in cache_init() [all …]
|
H A D | page_cache.h | 2 * Page cache for QEMU 3 * The cache is base on a hash of the page address 11 * See the COPYING file in the top-level directory. 18 /* Page cache for storing guest pages */ 22 * cache_init: Initialize the page cache 25 * Returns new allocated cache or NULL on error 27 * @cache_size: cache size in bytes 28 * @page_size: cache page size 33 * cache_fini: free all cache resources 34 * @cache pointer to the PageCache struct [all …]
|
/qemu/include/exec/ |
H A D | memory_ldst_cached.h.inc | 27 static inline uint16_t ADDRESS_SPACE_LD_CACHED(uw)(MemoryRegionCache *cache, 30 assert(addr < cache->len && 2 <= cache->len - addr); 31 fuzz_dma_read_cb(cache->xlat + addr, 2, cache->mrs.mr); 32 if (likely(cache->ptr)) { 33 return LD_P(uw)(cache->ptr + addr); 35 return ADDRESS_SPACE_LD_CACHED_SLOW(uw)(cache, addr, attrs, result); 39 static inline uint32_t ADDRESS_SPACE_LD_CACHED(l)(MemoryRegionCache *cache, 42 assert(addr < cache->len && 4 <= cache->len - addr); 43 fuzz_dma_read_cb(cache->xlat + addr, 4, cache->mrs.mr); 44 if (likely(cache->ptr)) { [all …]
|
/qemu/docs/ |
H A D | qcow2-cache.txt | 1 qcow2 L2/refcount cache configuration 3 Copyright (C) 2015, 2018-2020 Igalia, S.L. 7 later. See the COPYING file in the top-level directory. 10 ------------ 12 performance significantly. However, setting the right cache sizes is 18 Please refer to the docs/interop/qcow2.rst file for an in-depth 23 -------- 30 The 'qemu-img create' command supports specifying the size using the 33 qemu-img create -f qcow2 -o cluster_size=128K hd.qcow2 4G 37 ------------- [all …]
|
H A D | xbzrle.txt | 5 of VM downtime and the total live-migration time of Virtual machines. 15 be stored on the source. Those pages are stored in a dedicated cache 17 The larger the cache size the better the chances are that the page has already 18 been stored in the cache. 19 A small cache size will result in high cache miss rate. 20 Cache size can be changed before and during migration. 45 retrieving the old page content from the cache (default size of 64MB). The 55 XBZRLE has a sustained bandwidth of 2-2.5 GB/s for typical workloads making it 56 ideal for in-line, real-time encoding such as is needed for live-migration. 74 Cache update strategy [all …]
|
/qemu/contrib/plugins/ |
H A D | cache.c | 5 * See the COPYING file in the top-level directory. 12 #include <qemu-plugin.h> 37 * A CacheSet is a set of cache blocks. A memory block that maps to a set can be 43 * whether a block is in the cache or not by searching for its tag. 45 * In order to search for memory data in the cache, the set identifier and tag 81 } Cache; typedef 92 void (*update_hit)(Cache *cache, int set, int blk); 93 void (*update_miss)(Cache *cache, int set, int blk); 95 void (*metadata_init)(Cache *cache); 96 void (*metadata_destroy)(Cache *cache); [all …]
|
/qemu/block/ |
H A D | qed-l2-cache.c | 2 * QEMU Enhanced Disk Format L2 Cache 10 * See the COPYING.LIB file in the top-level directory. 15 * L2 table cache usage is as follows: 17 * An open image has one L2 table cache that is used to avoid accessing the 23 * table cache serves up recently referenced L2 tables. 25 * If there is a cache miss, that L2 table is read from the image file and 26 * committed to the cache. Subsequent accesses to that L2 table will be served 27 * from the cache until the table is evicted from the cache. 29 * L2 tables are also committed to the cache when new L2 tables are allocated 30 * in the image file. Since the L2 table cache is write-through, the new L2 [all …]
|
/qemu/qapi/ |
H A D | machine-common.json | 1 # -*- Mode: Python -*- 5 # See the COPYING file in the top-level directory. 55 # topology settings (e.g., cache topology), and this special 56 # level means following the architecture-specific settings. 68 # combination of cache level and cache type. 70 # @l1d: L1 data cache. 72 # @l1i: L1 instruction cache. 74 # @l2: L2 (unified) cache. 76 # @l3: L3 (unified) cache 86 # Cache information for SMP system. [all …]
|
/qemu/tests/qemu-iotests/tests/ |
H A D | block-status-cache | 4 # Test cases for the block-status cache. 36 def setUp(self) -> None: 37 """Just create an empty image with a read-only NBD server on it""" 38 qemu_img_create('-f', iotests.imgfmt, test_img, str(image_size)) 40 # Pass --allocation-depth to enable the qemu:allocation-depth context, 41 # which we are going to query to provoke a block-status inquiry with 43 assert qemu_nbd(f'--socket={nbd_sock}', 44 f'--format={iotests.imgfmt}', 45 '--persistent', 46 '--allocation-depth', [all …]
|
/qemu/.gitlab-ci.d/ |
H A D | windows.yml | 1 msys2-64bit: 4 - saas-windows-medium-amd64 5 cache: 8 - msys64/var/cache 9 - ccache 20 CONFIGURE_ARGS: --disable-system --enable-tools -Ddebug=false -Doptimization=0 22 GIT_FETCH_EXTRA_FLAGS: --no-tags --prune --quiet 24 name: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG" 27 - build/meson-logs/testlog.txt 29 junit: "build/meson-logs/testlog.junit.xml" [all …]
|
/qemu/include/hw/virtio/ |
H A D | virtio-access.h | 21 #include "hw/virtio/virtio-bus.h" 44 AddressSpace *dma_as = vdev->dma_as; in virtio_lduw_phys() 54 AddressSpace *dma_as = vdev->dma_as; in virtio_ldl_phys() 64 AddressSpace *dma_as = vdev->dma_as; in virtio_ldq_phys() 75 AddressSpace *dma_as = vdev->dma_as; in virtio_stw_phys() 87 AddressSpace *dma_as = vdev->dma_as; in virtio_stl_phys() 160 MemoryRegionCache *cache, in virtio_lduw_phys_cached() argument 164 return lduw_be_phys_cached(cache, pa); in virtio_lduw_phys_cached() 166 return lduw_le_phys_cached(cache, pa); in virtio_lduw_phys_cached() 170 MemoryRegionCache *cache, in virtio_ldl_phys_cached() argument [all …]
|
/qemu/hw/core/ |
H A D | machine-smp.c | 2 * QEMU Machine core (related to -smp parsing) 23 #include "qemu/error-report.h" 36 if (mc->smp_props.drawers_supported) { in cpu_hierarchy_to_string() 37 g_string_append_printf(s, "drawers (%u) * ", ms->smp.drawers); in cpu_hierarchy_to_string() 40 if (mc->smp_props.books_supported) { in cpu_hierarchy_to_string() 41 g_string_append_printf(s, "books (%u) * ", ms->smp.books); in cpu_hierarchy_to_string() 44 g_string_append_printf(s, "sockets (%u)", ms->smp.sockets); in cpu_hierarchy_to_string() 46 if (mc->smp_props.dies_supported) { in cpu_hierarchy_to_string() 47 g_string_append_printf(s, " * dies (%u)", ms->smp.dies); in cpu_hierarchy_to_string() 50 if (mc->smp_props.clusters_supported) { in cpu_hierarchy_to_string() [all …]
|
/qemu/target/sparc/ |
H A D | asi.h | 31 /* VAC Cache flushing on sun4c and sun4 */ 36 /* SPARCstation-5: only 6 bits are decoded. */ 51 #define ASI_M_TXTC_TAG 0x0C /* Instruction Cache Tag; rw, ss */ 52 #define ASI_M_TXTC_DATA 0x0D /* Instruction Cache Data; rw, ss */ 53 #define ASI_M_DATAC_TAG 0x0E /* Data Cache Tag; rw, ss */ 54 #define ASI_M_DATAC_DATA 0x0F /* Data Cache Data; rw, ss */ 56 /* The following cache flushing ASIs work only with the 'sta' 62 #define ASI_M_FLUSH_PAGE 0x10 /* Flush I&D Cache Line (page); wo, ss */ 63 #define ASI_M_FLUSH_SEG 0x11 /* Flush I&D Cache Line (seg); wo, ss */ 64 #define ASI_M_FLUSH_REGION 0x12 /* Flush I&D Cache Line (region); wo, ss */ [all …]
|