search for: cache_flush

Displaying 20 results from an estimated 38 matches for "cache_flush".

2009 Mar 04
5
Oracle database on zfs
Hi, I am wondering if there is a guideline on how to configure ZFS on a server with Oracle database? We are experiencing some slowness on writes to ZFS filesystem. It take about 530ms to write a 2k data. We are running Solaris 10 u5 127127-11 and the back-end storage is a RAID5 EMC EMX. This is a small database with about 18gb storage allocated. Is there a tunable parameters that we can apply to
2018 Dec 01
0
[PATCH nbdkit] common: Move shared bitmap code to a common library.
...ck cached and dirty */ -static uint8_t *bitmap; - -/* Size of the bitmap in bytes. */ -static size_t bm_size; +static struct bitmap bm; enum bm_entry { BLOCK_NOT_CACHED = 0, @@ -93,9 +90,7 @@ static enum cache_mode { CACHE_MODE_UNSAFE, } cache_mode = CACHE_MODE_WRITEBACK; -static int -cache_flush (struct nbdkit_next_ops *next_ops, void *nxdata, void *handle, - uint32_t flags, int *err); +static int cache_flush (struct nbdkit_next_ops *next_ops, void *nxdata, void *handle, uint32_t flags, int *err); static void cache_load (void) @@ -104,6 +99,8 @@ cache_load (void) size_t...
2018 Dec 02
0
[PATCH nbdkit v2] common: Move shared bitmap code to a common library.
...ck cached and dirty */ -static uint8_t *bitmap; - -/* Size of the bitmap in bytes. */ -static size_t bm_size; +static struct bitmap bm; enum bm_entry { BLOCK_NOT_CACHED = 0, @@ -93,9 +90,7 @@ static enum cache_mode { CACHE_MODE_UNSAFE, } cache_mode = CACHE_MODE_WRITEBACK; -static int -cache_flush (struct nbdkit_next_ops *next_ops, void *nxdata, void *handle, - uint32_t flags, int *err); +static int cache_flush (struct nbdkit_next_ops *next_ops, void *nxdata, void *handle, uint32_t flags, int *err); static void cache_load (void) @@ -104,6 +99,8 @@ cache_load (void) size_t...
2018 Dec 03
0
[PATCH nbdkit v3] common: Move shared bitmap code to a common library.
...ck cached and dirty */ -static uint8_t *bitmap; - -/* Size of the bitmap in bytes. */ -static size_t bm_size; +static struct bitmap bm; enum bm_entry { BLOCK_NOT_CACHED = 0, @@ -93,9 +90,7 @@ static enum cache_mode { CACHE_MODE_UNSAFE, } cache_mode = CACHE_MODE_WRITEBACK; -static int -cache_flush (struct nbdkit_next_ops *next_ops, void *nxdata, void *handle, - uint32_t flags, int *err); +static int cache_flush (struct nbdkit_next_ops *next_ops, void *nxdata, void *handle, uint32_t flags, int *err); static void cache_load (void) @@ -104,6 +99,8 @@ cache_load (void) size_t...
2018 Dec 01
2
[PATCH nbdkit] common: Move shared bitmap code to a common library.
I have some patches I'm working on to fix the cache filter. However this is a prelude. It should be simply pure refactoring. All tests pass still. Rich.
2018 Dec 03
3
[PATCH nbdkit v3] common: Move shared bitmap code to a common library.
v2: https://www.redhat.com/archives/libguestfs/2018-December/msg00039.html v2 -> v3: - Fix all the issues raised in Eric's review. - Precompute some numbers to make the calculations easier. - Calculations now use bitshifts and masks in preference to division and modulo. - Clear existing bits before setting (which fixes a bug in the cache filter). Rich.
2018 Dec 02
2
[PATCH nbdkit v2] common: Move shared bitmap code to a common library.
This is exactly the same as v1: https://www.redhat.com/archives/libguestfs/2018-December/msg00004.html except that it now frees the bitmap on unload (which the old code did not - there was always a memory leak). Rich.
2007 Jul 29
0
[ANNOUNCE] Release conntrack-tools 0.9.5
...e alarm pthread, remove locking o simplify debugging functions: use nfct_snprintf instead o remove major use of libnfnetlink functions: use libnetfilter_conntrack API o deprecate conntrackd -F, use conntrack -F instead o major rework of the network infrastructure: much simple, less messy o simplify cache_flush function: use cache_del() o remove current script_fault.sh when we reach fault state o conntrackd requires the connection tracking event API: insist more in INSTALL = conntrack = o better protocol argument checkings o fix per-protocol filtering, eg. conntrack -L -p tcp o show per-protocol help, i...
2008 Jul 07
1
ZFS and Caching - write() syscall with O_SYNC
IHAC using ZFS in production, and he''s opening up some files with the O_SYNC flag. This affects subsequent write()''s by providing synchronized I/O file integrity completion. That is, each write(2) will wait for both the file data and file status to be physically updated. Because of this, he''s seeing some delays on the file write()''s. This is verified with
2008 Dec 02
1
zfs_nocacheflush, nvram, and root pools
...ould i encounter problems here? (the system is an NFS server, which means lots of synchronous writes (and therefore ZFS cache flushes), so i *really* want the performance benefit from using the nvram write cache.) - river. [1] http://www.solarisinternals.com/wiki/index.php/ZFS_Evil_Tuning_Guide#Cache_Flushes -----BEGIN PGP SIGNATURE----- iD8DBQFJNRJVIXd7fCuc5vIRAgDlAJ0boVf5zmvkRySeIHVumsKm3VSVhACffyOK POEMyzG8U2yQYeZr01uJ74Q= =9eBp -----END PGP SIGNATURE-----
2007 Oct 24
1
memory issue
Hello, I received the following question from a company I am working with: We are having issues with our early experiments with ZFS with volumes mounted from a 6130. Here is what we have and what we are seeing: T2000 (geronimo) on the fibre with a 6130. 6130 configured with UFS volumes mapped and mounted on several other hosts. it''s the only host using ZFS volume (only
2018 Dec 28
0
[PATCH nbdkit 5/9] cache: Allow this filter to serve requests in parallel.
...write (next_ops, nxdata, blknum, block, flags, err); } - memset (&block[blkoffs], 0, n); - if (blk_write (next_ops, nxdata, blknum, block, flags, err) == -1) { + pthread_mutex_unlock (&lock); + if (r == -1) { free (block); return -1; } @@ -342,7 +367,9 @@ cache_flush (struct nbdkit_next_ops *next_ops, void *nxdata, void *handle, * to be sure. Also we still need to issue the flush to the * underlying storage. */ + pthread_mutex_lock (&lock); for_each_dirty_block (flush_dirty_block, &data); + pthread_mutex_unlock (&lock); free (da...
2018 Feb 01
0
[nbdkit PATCH v2 1/3] backend: Rework internal/filter error return semantics
...return r; } memset (&block[blkoffs], 0, n); - if (blk_writeback (next_ops, nxdata, blknum, block) == -1) { + r = blk_writeback (next_ops, nxdata, blknum, block); + if (r) { free (block); - return -1; + return r; } count -= n; @@ -463,7 +473,7 @@ cache_flush (struct nbdkit_next_ops *next_ops, void *nxdata, void *handle) uint64_t i, j; uint64_t blknum; enum bm_entry state; - unsigned errors = 0; + int error = 0, r; if (cache_mode == CACHE_MODE_UNSAFE) return 0; @@ -494,10 +504,10 @@ cache_flush (struct nbdkit_next_ops *next_ops, void...
2018 Dec 28
0
[PATCH nbdkit 2/9] cache: Add cache-on-read mode.
...ache.c b/filters/cache/cache.c index 1dc17fd..b1c3d53 100644 --- a/filters/cache/cache.c +++ b/filters/cache/cache.c @@ -90,6 +90,9 @@ static enum cache_mode { CACHE_MODE_UNSAFE, } cache_mode = CACHE_MODE_WRITEBACK; +/* Cache read requests. */ +static bool cache_on_read = false; + static int cache_flush (struct nbdkit_next_ops *next_ops, void *nxdata, void *handle, uint32_t flags, int *err); static void @@ -156,6 +159,15 @@ cache_config (nbdkit_next_config *next, void *nxdata, return -1; } } + else if (strcmp (key, "cache-on-read") == 0) { + int r; + + r = nbdkit...
2018 Dec 28
12
[PATCH nbdkit 0/9] cache: Implement cache-max-size and method of reclaiming space from the cache.
This patch series enhances the cache filter in a few ways, primarily adding a "cache-on-read" feature (similar to qemu's copyonread); and adding the ability to limit the cache size and the antecedent of that which is having a method to reclaim cache blocks. As the cache is stored as a sparse temporary file, reclaiming cache blocks simply means punching holes in the temporary file.
2018 Jan 22
1
[PATCH nbdkit] filters: Add caching filter.
This adds a cache filter, which works like the COW filter in reverse. For realistic use it needs a bit more work, especially to add limits on the size of the cache, a more sensible cache replacement policy, and perhaps some kind of background worker to write dirty blocks out. Rich.
2019 Apr 24
0
[nbdkit PATCH 4/4] filters: Check for mutex failures
...lock); r = blk_read (next_ops, nxdata, blknum, block, err); if (r != -1) { memset (&block[blkoffs], 0, n); r = blk_write (next_ops, nxdata, blknum, block, flags, err); } - pthread_mutex_unlock (&lock); if (r == -1) return -1; @@ -429,9 +427,10 @@ cache_flush (struct nbdkit_next_ops *next_ops, void *nxdata, void *handle, * to be sure. Also we still need to issue the flush to the * underlying storage. */ - pthread_mutex_lock (&lock); - for_each_dirty_block (flush_dirty_block, &data); - pthread_mutex_unlock (&lock); + { + A...
2019 Jan 04
0
[PATCH nbdkit v5 3/3] cache: Implement cache-max-size and cache space reclaim.
...EAD_MODEL NBDKIT_THREAD_MODEL_PARALLEL @@ -64,7 +65,10 @@ */ static pthread_mutex_t lock = PTHREAD_MUTEX_INITIALIZER; +unsigned blksize; enum cache_mode cache_mode = CACHE_MODE_WRITEBACK; +int64_t max_size = -1; +int hi_thresh = 95, lo_thresh = 80; bool cache_on_read = false; static int cache_flush (struct nbdkit_next_ops *next_ops, void *nxdata, void *handle, uint32_t flags, int *err); @@ -105,6 +109,53 @@ cache_config (nbdkit_next_config *next, void *nxdata, return -1; } } +#ifdef HAVE_CACHE_RECLAIM + else if (strcmp (key, "cache-max-size") == 0) { + int64_t r;...
2018 Jan 28
3
[nbdkit PATCH 0/2] RFC: tweak error handling, add log filter
Here's what I'm currently playing with; I'm not ready to commit anything until I rebase my FUA work on top of this, as I only want to break filter ABI once between releases. Eric Blake (2): backend: Rework internal/filter error return semantics filters: Add log filter TODO | 2 - docs/nbdkit-filter.pod | 84 +++++++-- docs/nbdkit.pod
2019 Jan 03
2
Re: [PATCH nbdkit v2 4/4] cache: Implement cache-max-size and method of reclaiming space from the cache.
...ilters/cache/cache.c > @@ -65,6 +65,8 @@ > static pthread_mutex_t lock = PTHREAD_MUTEX_INITIALIZER; > > enum cache_mode cache_mode = CACHE_MODE_WRITEBACK; > +int64_t max_size = -1; > +int hi_thresh = 95, lo_thresh = 80; > bool cache_on_read = false; > > static int cache_flush (struct nbdkit_next_ops *next_ops, void *nxdata, void *handle, uint32_t flags, int *err); > @@ -105,6 +107,44 @@ cache_config (nbdkit_next_config *next, void *nxdata, > return -1; > } > } > +#ifdef HAVE_CACHE_RECLAIM > + else if (strcmp (key, "cache-max-size&q...