| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |\ \ \ \
| | | | | |
| | | | | | |
make struct user anonymous (only typedefed) in server.h
|
| |/ / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This works because this struct is never referenced by its name,
but always by its type.
This prevents a conflict with struct user from <sys/user.h>
when compiling against uclibc.
Signed-off-by: Titouan Christophe <titouan.christophe@railnova.eu>
|
|/ / / / |
|
|\ \ \ \
| | | | |
| | | | | |
Add --user argument to redis-benchmark.c (ACL)
|
| | |/ /
| |/| | |
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
Fixed compiler warnings on rev(ulong) function
|
| |/ / / |
|
| | | | |
|
|/ / / |
|
|\ \ \ |
|
| |\ \ \
| | | | |
| | | | | |
Client Side Caching: Add Number of Tracking Prefix Stats in Server Info
|
| | |/ / |
|
|/ / /
| | |
| | |
| | | |
See #7188.
|
| | | |
|
|\ \ \ |
|
| |\ \ \
| | | | |
| | | | | |
Support setcpuaffinity on linux/bsd
|
| | |/ /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Currently, there are several types of threads/child processes of a
redis server. Sometimes we need deeply optimise the performance of
redis, so we would like to isolate threads/processes.
There were some discussion about cpu affinity cases in the issue:
https://github.com/antirez/redis/issues/2863
So implement cpu affinity setting by redis.conf in this patch, then
we can config server_cpulist/bio_cpulist/aof_rewrite_cpulist/
bgsave_cpulist by cpu list.
Examples of cpulist in redis.conf:
server_cpulist 0-7:2 means cpu affinity 0,2,4,6
bio_cpulist 1,3 means cpu affinity 1,3
aof_rewrite_cpulist 8-11 means cpu affinity 8,9,10,11
bgsave_cpulist 1,10-11 means cpu affinity 1,10,11
Test on linux/freebsd, both work fine.
Signed-off-by: zhenwei pi <pizhenwei@bytedance.com>
|
| |\ \ \
| | | | |
| | | | | |
XPENDING should not update consumer's seen-time
|
| | |/ /
| | | |
| | | |
| | | |
| | | | |
Same goes for XGROUP DELCONSUMER (But in this case, it doesn't
have any visible effect)
|
| |\ \ \
| | | | |
| | | | | |
optimize memory usage of deferred replies - fixed
|
| | |/ /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
When deffered reply is added the previous reply node cannot be used so
all the extra space we allocated in it is wasted. in case someone uses
deffered replies in a loop, each time adding a small reply, each of
these reply nodes (the small string reply) would have consumed a 16k
block.
now when we add anther diferred reply node, we trim the unused portion
of the previous reply block.
see #7123
cherry picked from commit fb732f7a944a4d4c90bb7375cb6030e88211f5aa
with fix to handle a crash with LIBC allocator, which apparently can
return the same pointer despite changing it's size.
i.e. shrinking an allocation of 16k into 56 bytes without changing the
pointer.
|
| |\ \ \
| | | | |
| | | | | |
reformat code
|
| | |/ / |
|
| |\ \ \
| | |/ /
| |/| | |
add daily github actions with libc malloc and valgrind, fix leaks and timing issues
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* fix memlry leaks with diskless replica short read.
* fix a few timing issues with valgrind runs
* fix issue with valgrind and watchdog schedule signal
about the valgrind WD issue:
the stack trace test in logging.tcl, has issues with valgrind:
==28808== Can't extend stack to 0x1ffeffdb38 during signal delivery for thread 1:
==28808== too small or bad protection modes
it seems to be some valgrind bug with SA_ONSTACK.
SA_ONSTACK seems unneeded since WD is not recursive (SA_NODEFER was removed),
also, not sure if it's even valid without a call to sigaltstack()
|
|/ /
| |
| |
| |
| |
| | |
We could use uint64_t specific macros, but after all it's simpler to
just use an obvious equivalent type plus casting: this will be a no op
and is simpler than fixed size types printf macros.
|
| |
| |
| |
| | |
This reverts commit fb732f7a944a4d4c90bb7375cb6030e88211f5aa.
|
| |
| |
| |
| |
| | |
Probably no performance changes, but the code should be trivial to
read as in "No threading? Use the normal function and return".
|
| | |
|
| | |
|
| | |
|
|\ \
| | |
| | | |
lazyfree & eviction: record latency generated by lazyfree eviction
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
1. add eviction-lazyfree monitor
2. put eviction-del & eviction-lazyfree into eviction-cycle
that means eviction-cycle contains all the latency in
the eviction cycle including del and lazyfree
3. use getMaxmemoryState to check if we can break in lazyfree-evict
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
|/ / |
|
| |
| |
| |
| |
| | |
Also improve the message to make clear that there is no *clear* owner,
not that there is no owner at all.
|
|\ \ |
|
| |\ \
| | | |
| | | | |
XINFO STREAM FULL should have a default COUNT of 10
|
| |/ / |
|
| | | |
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If client gets blocked again in `processUnblockedClients`, redis will not send
`REPLCONF GETACK *` to slaves untill next eventloop, so the client will be
blocked for 100ms by default(10hz) if no other file event fired.
move server.get_ack_from_slaves sinppet after `processUnblockedClients`, so
that both the first WAIT command that puts client in blocked context and the
following WAIT command processed in processUnblockedClients would trigger
redis-sever to send `REPLCONF GETACK *`, so that the eventloop would get
`REPLCONG ACK <reploffset>` from slaves and unblocked ASAP.
|
| | |
|
|\ \
| | |
| | | |
Extend XINFO STREAM output
|
| | |
| | |
| | |
| | | |
Introducing XINFO STREAM <key> FULL
|
|\ \ \
| | | |
| | | | |
Fix not used marco in cluster.c
|
| | | | |
|