Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

libbpf-tools/map_helpers: Fix duplicate map read operations #4998

Merged
merged 1 commit into from May 19, 2024

Conversation

ekyooo
Copy link
Contributor

@ekyooo ekyooo commented May 12, 2024

Even when the batch read is successful, a non-batch read is performed. Fixed so that non-batch reads are not performed once batch reads are done.

This is the result of testing tcpconnect by adding some logs to map_helpers.

Before:

  ./tcpconnect -c
    dump_hash_batch, *count: 3
    k: 16777343, v: 1
    k: 50331775, v: 0
    k: 385875968, v: 1

    dump_hash_iter, *count: 3
    k: 16777343, v: 1
    k: 50331775, v: 0
    k: 385875968, v: 1

    LADDR                     RADDR                     RPORT                CONNECT
    127.0.0.1                 127.0.0.3                 23                   1
    127.0.0.1                 127.0.0.1                 23                   1
    127.0.0.1                 127.0.0.2                 23                   1

After:

  ./tcpconnect -c
    dump_hash_batch *count: 2
    k: 16777343, v: 1
    k: 16777343, v: 0

    LADDR                     RADDR                     RPORT                CONNECT
    127.0.0.1                 127.0.0.1                 23                   1
    127.0.0.1                 127.0.0.2                 23                   1

Even when the batch read is successful, a non-batch read is performed.
Fixed so that non-batch reads are not performed once batch reads are done.

This is the result of testing tcpconnect by adding some logs to map_helpers.

Before:
  ./tcpconnect -c
    dump_hash_batch, *count: 3
    k: 16777343, v: 1
    k: 50331775, v: 0
    k: 385875968, v: 1

    dump_hash_iter, *count: 3
    k: 16777343, v: 1
    k: 50331775, v: 0
    k: 385875968, v: 1

    LADDR                     RADDR                     RPORT                CONNECT
    127.0.0.1                 127.0.0.3                 23                   1
    127.0.0.1                 127.0.0.1                 23                   1
    127.0.0.1                 127.0.0.2                 23                   1

After:
  ./tcpconnect -c
    dump_hash_batch *count: 2
    k: 16777343, v: 1
    k: 16777343, v: 0

    LADDR                     RADDR                     RPORT                CONNECT
    127.0.0.1                 127.0.0.1                 23                   1
    127.0.0.1                 127.0.0.2                 23                   1
@yonghong-song yonghong-song merged commit a620285 into iovisor:master May 19, 2024
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants