mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-28 01:21:58 +00:00
Linux 4.11-rc5
-----BEGIN PGP SIGNATURE----- iQEcBAABAgAGBQJY4ZYkAAoJEHm+PkMAQRiGsq4H/R4PMXDoe2XhSSk7IoT97pXV /A8np/scAPjzEgYUidbb54OSqWwsPRuPGWONTFeSrE2u0L4wln/REI91jg7QetLq IisncExlYeJ/XQ+iO0ZZh9fLbqwIlEJFdSXmyIFr3m/TBxe8a61C8j93oNgM1tHT yuwzlq7c3sLq2hsmUG2HyL2kJsEfRasv4Rk0yhFuti12zVsBoTW4qmZuMauq+gdf f7cSYgiHhPTdb2o+azg5O7uYNHaQQBxdUMlIuhhYtVOUq+pFDO23SLHSFIW2NwOm Zn5R6CFSrLsCw0Bx0v8Xlc151QUbaRK4h9lhUhkBr6d3uNShU1NQ9JojpSvYwBo= =vP6E -----END PGP SIGNATURE----- Merge tag 'v4.11-rc5' into x86/mm, to refresh the branch Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
commit
7f75540ff2
694 changed files with 9885 additions and 5315 deletions
|
@ -1,22 +1,23 @@
|
|||
LIBDIR := ../../../lib
|
||||
BPFOBJ := $(LIBDIR)/bpf/bpf.o
|
||||
BPFDIR := $(LIBDIR)/bpf
|
||||
|
||||
CFLAGS += -Wall -O2 -lcap -I../../../include/uapi -I$(LIBDIR) $(BPFOBJ)
|
||||
CFLAGS += -Wall -O2 -I../../../include/uapi -I$(LIBDIR)
|
||||
LDLIBS += -lcap
|
||||
|
||||
TEST_GEN_PROGS = test_verifier test_tag test_maps test_lru_map test_lpm_map
|
||||
|
||||
TEST_PROGS := test_kmod.sh
|
||||
|
||||
all: $(TEST_GEN_PROGS)
|
||||
include ../lib.mk
|
||||
|
||||
.PHONY: all clean force
|
||||
BPFOBJ := $(OUTPUT)/bpf.o
|
||||
|
||||
$(TEST_GEN_PROGS): $(BPFOBJ)
|
||||
|
||||
.PHONY: force
|
||||
|
||||
# force a rebuild of BPFOBJ when its dependencies are updated
|
||||
force:
|
||||
|
||||
$(BPFOBJ): force
|
||||
$(MAKE) -C $(dir $(BPFOBJ))
|
||||
|
||||
$(test_objs): $(BPFOBJ)
|
||||
|
||||
include ../lib.mk
|
||||
$(MAKE) -C $(BPFDIR) OUTPUT=$(OUTPUT)/
|
||||
|
|
|
@ -80,8 +80,9 @@ static void test_hashmap(int task, void *data)
|
|||
assert(bpf_map_update_elem(fd, &key, &value, BPF_EXIST) == 0);
|
||||
key = 2;
|
||||
assert(bpf_map_update_elem(fd, &key, &value, BPF_ANY) == 0);
|
||||
key = 1;
|
||||
assert(bpf_map_update_elem(fd, &key, &value, BPF_ANY) == 0);
|
||||
key = 3;
|
||||
assert(bpf_map_update_elem(fd, &key, &value, BPF_NOEXIST) == -1 &&
|
||||
errno == E2BIG);
|
||||
|
||||
/* Check that key = 0 doesn't exist. */
|
||||
key = 0;
|
||||
|
@ -110,6 +111,24 @@ static void test_hashmap(int task, void *data)
|
|||
close(fd);
|
||||
}
|
||||
|
||||
static void test_hashmap_sizes(int task, void *data)
|
||||
{
|
||||
int fd, i, j;
|
||||
|
||||
for (i = 1; i <= 512; i <<= 1)
|
||||
for (j = 1; j <= 1 << 18; j <<= 1) {
|
||||
fd = bpf_create_map(BPF_MAP_TYPE_HASH, i, j,
|
||||
2, map_flags);
|
||||
if (fd < 0) {
|
||||
printf("Failed to create hashmap key=%d value=%d '%s'\n",
|
||||
i, j, strerror(errno));
|
||||
exit(1);
|
||||
}
|
||||
close(fd);
|
||||
usleep(10); /* give kernel time to destroy */
|
||||
}
|
||||
}
|
||||
|
||||
static void test_hashmap_percpu(int task, void *data)
|
||||
{
|
||||
unsigned int nr_cpus = bpf_num_possible_cpus();
|
||||
|
@ -317,7 +336,10 @@ static void test_arraymap_percpu(int task, void *data)
|
|||
static void test_arraymap_percpu_many_keys(void)
|
||||
{
|
||||
unsigned int nr_cpus = bpf_num_possible_cpus();
|
||||
unsigned int nr_keys = 20000;
|
||||
/* nr_keys is not too large otherwise the test stresses percpu
|
||||
* allocator more than anything else
|
||||
*/
|
||||
unsigned int nr_keys = 2000;
|
||||
long values[nr_cpus];
|
||||
int key, fd, i;
|
||||
|
||||
|
@ -419,6 +441,7 @@ static void test_map_stress(void)
|
|||
{
|
||||
run_parallel(100, test_hashmap, NULL);
|
||||
run_parallel(100, test_hashmap_percpu, NULL);
|
||||
run_parallel(100, test_hashmap_sizes, NULL);
|
||||
|
||||
run_parallel(100, test_arraymap, NULL);
|
||||
run_parallel(100, test_arraymap_percpu, NULL);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue