Re: [PATCH v2 0/3] bpf: hash: use per-bucket spinlock

From: David Miller
Date: Tue Dec 29 2015 - 15:14:12 EST


From: Ming Lei <tom.leiming@xxxxxxxxx>
Date: Tue, 29 Dec 2015 22:40:24 +0800

> Hi,
>
> This patchset tries to optimize ebpf hash map, and follows
> the idea:
>
> Both htab_map_update_elem() and htab_map_delete_elem()
> can be called from eBPF program, and they may be in kernel
> hot path, it isn't efficient to use a per-hashtable lock
> in this two helpers, so this patch converts the lock into
> per-bucket spinlock.
>
> With this patchset, looks the performance penalty from eBPF
> decreased a lot, see the following test:
>
> 1) run 'tools/biolatency' of bcc before running block test;
>
> 2) run fio to test block throught over /dev/nullb0,
> (randread, 16jobs, libaio, 4k bs) and the test box
> is one 24cores(dual sockets) VM server:
> - without patchset: 607K IOPS
> - with this patchset: 1184K IOPS
> - without running eBPF prog: 1492K IOPS

Series applied, thanks.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/