add a comment about page size vs bpf ring buffer sizing
As requested by Patrick on: https://android-review.git.corp.google.com/c/platform/system/bpf/+/2628969 bpfLoader: automatically bump ringbuffer size up to page size Test: N/A, comment only Signed-off-by: Maciej Żenczykowski <maze@google.com> Change-Id: Ibbce6a72e5e25bf18bb89bca2f00d332ef824f73
This commit is contained in:
parent
8a117a374b
commit
28f01bb027
1 changed files with 6 additions and 0 deletions
|
@ -707,6 +707,9 @@ static bool mapMatchesExpectations(const unique_fd& fd, const string& mapName,
|
|||
if (type == BPF_MAP_TYPE_DEVMAP || type == BPF_MAP_TYPE_DEVMAP_HASH)
|
||||
desired_map_flags |= BPF_F_RDONLY_PROG;
|
||||
|
||||
// The .h file enforces that this is a power of two, and page size will
|
||||
// also always be a power of two, so this logic is actually enough to
|
||||
// force it to be a multiple of the page size, as required by the kernel.
|
||||
unsigned int desired_max_entries = mapDef.max_entries;
|
||||
if (type == BPF_MAP_TYPE_RINGBUF) {
|
||||
if (desired_max_entries < page_size) desired_max_entries = page_size;
|
||||
|
@ -849,6 +852,9 @@ static int createMaps(const char* elfPath, ifstream& elfFile, vector<unique_fd>&
|
|||
type = BPF_MAP_TYPE_HASH;
|
||||
}
|
||||
|
||||
// The .h file enforces that this is a power of two, and page size will
|
||||
// also always be a power of two, so this logic is actually enough to
|
||||
// force it to be a multiple of the page size, as required by the kernel.
|
||||
unsigned int max_entries = md[i].max_entries;
|
||||
if (type == BPF_MAP_TYPE_RINGBUF) {
|
||||
if (max_entries < page_size) max_entries = page_size;
|
||||
|
|
Loading…
Reference in a new issue