-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Zebra diet #4236
Zebra diet #4236
Conversation
donaldsharp
commented
May 1, 2019
- Clean up some doc with new data structures
- Memory reduction of zebra at scale.
💚 Basic BGPD CI results: SUCCESS, 0 tests failedResults table
For details, please contact louberger |
💚 Basic BGPD CI results: SUCCESS, 0 tests failedResults table
For details, please contact louberger |
💚 Basic BGPD CI results: SUCCESS, 0 tests failedResults table
For details, please contact louberger |
🛑 Basic BGPD CI results: FAILUREResults table
For details, please contact louberger |
Continuous Integration Result: SUCCESSFULCongratulations, this patch passed basic tests Tested-by: NetDEF / OpenSourceRouting.org CI System CI System Testrun URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7424/ This is a comment from an automated CI system. Warnings Generated during build:Checkout code: Successful with additional warnings
CLANG Static Analyzer Summary
No Changes in Static Analysis warnings compared to base12 Static Analyzer issues remaining.See details at |
Continuous Integration Result: FAILEDSee below for issues. This is a comment from an automated CI system. Get source / Pull Request: SuccessfulBuilding Stage: FailedCentOS 7 amd64 build: Failed (click for details)CentOS 7 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7426/artifact/CI005BUILD/config.status/config.statusDejaGNU Unittests (make check) failed for CentOS 7 amd64 build:
Ubuntu 18.04 amd64 build: Failed (click for details)Ubuntu 18.04 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7426/artifact/U1804AMD64/config.status/config.statusDejaGNU Unittests (make check) failed for Ubuntu 18.04 amd64 build Ubuntu 14.04 amd64 build: Failed (click for details)Ubuntu 14.04 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7426/artifact/CI001BUILD/config.status/config.statusDejaGNU Unittests (make check) failed for Ubuntu 14.04 amd64 build Debian 8 amd64 build: Failed (click for details)Debian 8 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7426/artifact/CI008BLD/config.status/config.statusDejaGNU Unittests (make check) failed for Debian 8 amd64 build Debian 9 amd64 build: Failed (click for details)Debian 9 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7426/artifact/CI021BUILD/config.status/config.statusDejaGNU Unittests (make check) failed for Debian 9 amd64 build OpenBSD 6 amd64 build: Failed (click for details)OpenBSD 6 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7426/artifact/CI011BUILD/config.status/config.statusDejaGNU Unittests (make check) failed for OpenBSD 6 amd64 build NetBSD 7 amd64 build: Failed (click for details)NetBSD 7 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7426/artifact/CI012BUILD/config.status/config.statusDejaGNU Unittests (make check) failed for NetBSD 7 amd64 build Ubuntu 16.04 amd64 build: Failed (click for details)Ubuntu 16.04 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7426/artifact/CI014BUILD/config.status/config.statusDejaGNU Unittests (make check) failed for Ubuntu 16.04 amd64 build FreeBSD 11 amd64 build: Failed (click for details)FreeBSD 11 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7426/artifact/CI009BUILD/config.status/config.statusDejaGNU Unittests (make check) failed for FreeBSD 11 amd64 build CentOS 6 amd64 build: Failed (click for details)CentOS 6 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7426/artifact/CI006BUILD/config.status/config.statusDejaGNU Unittests (make check) failed for CentOS 6 amd64 build NetBSD 6 amd64 build: Failed (click for details)NetBSD 6 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7426/artifact/CI007BUILD/config.status/config.statusDejaGNU Unittests (make check) failed for NetBSD 6 amd64 build Ubuntu 16.04 i386 build: Failed (click for details)Ubuntu 16.04 i386 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7426/artifact/U1604I386/config.status/config.statusDejaGNU Unittests (make check) failed for Ubuntu 16.04 i386 build Successful on other platforms
Warnings Generated during build:Checkout code: Successful with additional warningsCentOS 7 amd64 build: Failed (click for details)CentOS 7 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7426/artifact/CI005BUILD/config.status/config.statusDejaGNU Unittests (make check) failed for CentOS 7 amd64 build:
Ubuntu 18.04 amd64 build: Failed (click for details)Ubuntu 18.04 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7426/artifact/U1804AMD64/config.status/config.statusDejaGNU Unittests (make check) failed for Ubuntu 18.04 amd64 build Ubuntu 14.04 amd64 build: Failed (click for details)Ubuntu 14.04 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7426/artifact/CI001BUILD/config.status/config.statusDejaGNU Unittests (make check) failed for Ubuntu 14.04 amd64 build Debian 8 amd64 build: Failed (click for details)Debian 8 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7426/artifact/CI008BLD/config.status/config.statusDejaGNU Unittests (make check) failed for Debian 8 amd64 build Debian 9 amd64 build: Failed (click for details)Debian 9 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7426/artifact/CI021BUILD/config.status/config.statusDejaGNU Unittests (make check) failed for Debian 9 amd64 build OpenBSD 6 amd64 build: Failed (click for details)OpenBSD 6 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7426/artifact/CI011BUILD/config.status/config.statusDejaGNU Unittests (make check) failed for OpenBSD 6 amd64 build NetBSD 7 amd64 build: Failed (click for details)NetBSD 7 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7426/artifact/CI012BUILD/config.status/config.statusDejaGNU Unittests (make check) failed for NetBSD 7 amd64 build Ubuntu 16.04 amd64 build: Failed (click for details)Ubuntu 16.04 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7426/artifact/CI014BUILD/config.status/config.statusDejaGNU Unittests (make check) failed for Ubuntu 16.04 amd64 build FreeBSD 11 amd64 build: Failed (click for details)FreeBSD 11 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7426/artifact/CI009BUILD/config.status/config.statusDejaGNU Unittests (make check) failed for FreeBSD 11 amd64 build CentOS 6 amd64 build: Failed (click for details)CentOS 6 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7426/artifact/CI006BUILD/config.status/config.statusDejaGNU Unittests (make check) failed for CentOS 6 amd64 build NetBSD 6 amd64 build: Failed (click for details)NetBSD 6 amd64 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7426/artifact/CI007BUILD/config.status/config.statusDejaGNU Unittests (make check) failed for NetBSD 6 amd64 build Ubuntu 16.04 i386 build: Failed (click for details)Ubuntu 16.04 i386 build: config.status output from configure script can be found at https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7426/artifact/U1604I386/config.status/config.statusDejaGNU Unittests (make check) failed for Ubuntu 16.04 i386 build
|
Continuous Integration Result: SUCCESSFULCongratulations, this patch passed basic tests Tested-by: NetDEF / OpenSourceRouting.org CI System CI System Testrun URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7425/ This is a comment from an automated CI system. Warnings Generated during build:Checkout code: Successful with additional warnings
CLANG Static Analyzer Summary
No Changes in Static Analysis warnings compared to base12 Static Analyzer issues remaining.See details at |
Noticed during attempts at usage that the documentation needed a couple small updates: 1) Tell the user which header to include 2) Some functions want the address of the data structure Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
The `struct rib_dest_t` was being used to store the linked list of rnh's associated with the node. This was taking up a bunch of memory. Replace with new data structure supplied by David and see the memory reductions associated with 1 million routes in the zebra rib: Old: Memory statistics for zebra: System allocator statistics: Total heap allocated: 675 MiB Holding block headers: 0 bytes Used small blocks: 0 bytes Used ordinary blocks: 567 MiB Free small blocks: 39 MiB Free ordinary blocks: 69 MiB Ordinary blocks: 0 Small blocks: 0 Holding blocks: 0 New: Memory statistics for zebra: System allocator statistics: Total heap allocated: 574 MiB Holding block headers: 0 bytes Used small blocks: 0 bytes Used ordinary blocks: 536 MiB Free small blocks: 33 MiB Free ordinary blocks: 4600 KiB Ordinary blocks: 0 Small blocks: 0 Holding blocks: 0 `struct rnh` was moved to rib.h because of the tangled web of structure dependancies. This data structure is used in numerous places so it should be ok for the moment. Future work might be needed to do a better job of splitting up data structures and function definitions. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
The head of a list should not change for find functions. Probably are others that should be considered but these changes can come in as needed I believe. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
We should not be modifying the pointer for the prefix_hash_key function, make it a const so that we can use it elsewhere. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
This converts the new table code to use the new hash type provided by David. The following test is 1 million routes installed and how much memory we are using: Old mem usage: Memory statistics for zebra: System allocator statistics: Total heap allocated: 574 MiB Holding block headers: 0 bytes Used small blocks: 0 bytes Used ordinary blocks: 536 MiB Free small blocks: 33 MiB Free ordinary blocks: 4600 KiB Ordinary blocks: 0 Small blocks: 0 Holding blocks: 0 New Memory usage: Memory statistics for zebra: System allocator statistics: Total heap allocated: 542 MiB Holding block headers: 0 bytes Used small blocks: 0 bytes Used ordinary blocks: 506 MiB Free small blocks: 3374 KiB Free ordinary blocks: 33 MiB Ordinary blocks: 0 Small blocks: 0 Holding blocks: 0 Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Signed-off-by: Lou Berger <lberger@labn.net>
🚧 Basic BGPD CI results: Partial FAILURE, 55 tests failed, has VALGRIND issuesResults table
For details, please contact louberger |
Continuous Integration Result: SUCCESSFULCongratulations, this patch passed basic tests Tested-by: NetDEF / OpenSourceRouting.org CI System CI System Testrun URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-7431/ This is a comment from an automated CI system. Warnings Generated during build:Checkout code: Successful with additional warnings
CLANG Static Analyzer Summary
No Changes in Static Analysis warnings compared to base12 Static Analyzer issues remaining.See details at |
Errors are basically the same: 8.15.36 7.0.0.137 Memory leak on exit, 4 errors 0 1 issue was on master... |
not sure how, but merged while looking at PR on phone -- guess that was a bad idea. My apologies! |