From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932873AbcALIVH (ORCPT ); Tue, 12 Jan 2016 03:21:07 -0500 Received: from mx0a-00082601.pphosted.com ([67.231.145.42]:43012 "EHLO mx0a-00082601.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932553AbcALIVF (ORCPT ); Tue, 12 Jan 2016 03:21:05 -0500 From: Martin KaFai Lau To: , CC: Alexei Starovoitov , Ming Lei , FB Kernel Team Subject: [PATCH v2 net-next 0/4] bpf: bpf_htab: Add BPF_MAP_TYPE_PERCPU_HASH Date: Tue, 12 Jan 2016 00:20:48 -0800 Message-ID: <1452586852-1575604-1-git-send-email-kafai@fb.com> X-Mailer: git-send-email 2.5.1 X-FB-Internal: Safe MIME-Version: 1.0 Content-Type: text/plain X-Proofpoint-Spam-Reason: safe X-FB-Internal: Safe X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2016-01-12_03:,, signatures=0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org V2: Patch 1/4: * Remove flush_elems_fn from 'struct bpf_htab' and also remove htab_map_flush() together * Add htab_elem_alloc() * Move the l_old check from htab_map_update_elem() to the newly added htab_map_check_update() Patch 2/4: * Add htab_percpu_elem_alloc() * Add htab_percpu_map_free() * Use this_cpu_ptr() instead of per_cpu_ptr in htab_percpu_map_lookup_elem() V1 compose: This patchset adds BPF_MAP_TYPE_PERCPU_HASH map type which allows percpu value. BPF + kprobe is very useful in statistics collection. In particular, bpf is strong in doing aggregation within the kernel instead of outputting a lot of raw samples to the userspace. In some cases, bumping a counter/value of a particular key will have noticeable impact. For example, doing statistics collection on received packets and aggregating them by network prefix (like /64 in IPv6). Having a percpu value can help.