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

Change size_t to socklen_t in resolve_address #14464

Merged
merged 11 commits into from
Mar 19, 2018
Merged

Conversation

yashykt
Copy link
Member

@yashykt yashykt commented Feb 20, 2018

Solves the issue mentioned in #13458
On big endian systems with different sizes for size_t and socklen_t, we will end up with a wrong address length currently.

@grpc-testing
Copy link

****************************************************************

libgrpc.so

     VM SIZE                                                                                            FILE SIZE
 ++++++++++++++ GROWING                                                                              ++++++++++++++
  +1.2%     +16 src/core/ext/filters/client_channel/lb_policy_factory.cc                                 +16  +1.2%
      +4.5%      +7 grpc_lb_addresses_copy                                                                    +7  +4.5%
      +8.9%      +5 grpc_lb_addresses_create                                                                  +5  +8.9%
      +2.0%      +4 grpc_lb_addresses_set_address                                                             +4  +2.0%
      +1.3%      +1 [Unmapped]                                                                                +1  +1.3%
  +0.9%     +16 src/core/ext/filters/client_channel/parse_address.cc                                     +16  +0.9%
      +3.8%     +16 grpc_parse_ipv4_hostport                                                                 +16  +3.8%
  +0.3%     +16 src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc             +16  +0.3%
       +11%      +8 [Unmapped]                                                                                +8   +11%
      +0.9%      +8 on_hostbyname_done_cb                                                                     +8  +0.9%
  +0.8%     +16 src/core/lib/iomgr/sockaddr_utils.cc                                                     +16  +0.8%
       +11%     +10 [Unmapped]                                                                               +10   +11%
      +5.7%      +7 grpc_sockaddr_make_wildcard4                                                              +7  +5.7%
      +5.7%      +7 grpc_sockaddr_make_wildcard6                                                              +7  +5.7%
  +0.3%     +16 src/core/lib/iomgr/tcp_server_posix.cc                                                   +16  +0.3%
      +1.5%     +16 grpc_tcp_server_add_port                                                                 +16  +1.5%
  +0.9%     +16 src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc                                     +16  +0.9%
      +0.9%     +16 grpc_tcp_server_add_all_local_addrs                                                      +16  +0.9%

 -------------- SHRINKING                                                                            --------------
 -64.2%     -61 src/core/lib/iomgr/socket_utils_linux.cc                                                 -61 -64.2%
     -64.2%     -61 grpc_accept4                                                                             -61 -64.2%
  -1.0%     -32 src/core/lib/iomgr/tcp_client_posix.cc                                                   -32  -1.0%
      -3.6%     -26 grpc_tcp_client_create_from_prepared_fd                                                  -26  -3.6%
      -2.0%     -14 grpc_tcp_client_prepare_fd                                                               -14  -2.0%
  -0.7%     -32 src/core/lib/iomgr/udp_server.cc                                                         -32  -0.7%
      -1.8%     -16 grpc_udp_server_add_port                                                                 -16  -1.8%
      -1.9%      -8 add_socket_to_server(grpc_udp_server*, int, grpc_resolved_address const*, int, int,       -8  -1.9%
      -0.9%      -7 prepare_socket                                                                            -7  -0.9%
      -0.9%      -1 [Unmapped]                                                                                -1  -0.9%
  -0.1%     -16 src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc                           -16  -0.1%
      -2.4%     -25 grpc_core::(anonymous namespace)::GrpcLbFactory::CreateLoadBalancingPolicy(grpc_core     -25  -2.4%
      -1.4%      -5 [Unmapped]                                                                                -5  -1.4%
      -0.8%      -1 grpc_core::(anonymous namespace)::ParseServer                                             -1  -0.8%
  -0.9%     -16 src/core/lib/iomgr/tcp_server_utils_posix_common.cc                                      -16  -0.9%
     -40.0%     -10 [Unmapped]                                                                               -10 -40.0%
      -0.8%      -6 grpc_tcp_server_prepare_socket                                                            -6  -0.8%

 -+-+-+-+-+-+-+ MIXED                                                                                +-+-+-+-+-+-+-
  -0.0%     -99 [None]                                                                               +5.10Ki  +0.1%

  -0.0%    -160 TOTAL                                                                                +5.04Ki  +0.1%


****************************************************************

libgrpc++.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]



@grpc-testing
Copy link

[trickle] No significant performance differences

@grpc-testing
Copy link

[microbenchmarks] No significant performance differences

@grpc-testing
Copy link

****************************************************************

libgrpc.so

     VM SIZE                                                                                     FILE SIZE
 ++++++++++++++ GROWING                                                                       ++++++++++++++
  +1.1%     +17 src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc     +17  +1.1%
      +2.0%     +17 grpc_lb_policy_grpclb_modify_lb_channel_args                                      +17  +2.0%
  +1.2%     +16 src/core/ext/filters/client_channel/lb_policy_factory.cc                          +16  +1.2%
      +4.5%      +7 grpc_lb_addresses_copy                                                             +7  +4.5%
      +8.9%      +5 grpc_lb_addresses_create                                                           +5  +8.9%
      +2.0%      +4 grpc_lb_addresses_set_address                                                      +4  +2.0%
      +1.3%      +1 [Unmapped]                                                                         +1  +1.3%
  +0.9%     +16 src/core/ext/filters/client_channel/parse_address.cc                              +16  +0.9%
      +3.8%     +16 grpc_parse_ipv4_hostport                                                          +16  +3.8%
  +0.3%     +16 src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc      +16  +0.3%
       +11%      +8 [Unmapped]                                                                         +8   +11%
      +0.9%      +8 on_hostbyname_done_cb                                                              +8  +0.9%
  +0.8%     +16 src/core/lib/iomgr/sockaddr_utils.cc                                              +16  +0.8%
       +11%     +10 [Unmapped]                                                                        +10   +11%
      +5.7%      +7 grpc_sockaddr_make_wildcard4                                                       +7  +5.7%
      +5.7%      +7 grpc_sockaddr_make_wildcard6                                                       +7  +5.7%
  +0.3%     +16 src/core/lib/iomgr/tcp_server_posix.cc                                            +16  +0.3%
      +1.5%     +16 grpc_tcp_server_add_port                                                          +16  +1.5%
  +0.9%     +16 src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc                              +16  +0.9%
      +0.9%     +16 grpc_tcp_server_add_all_local_addrs                                               +16  +0.9%

 -------------- SHRINKING                                                                     --------------
 -64.2%     -61 src/core/lib/iomgr/socket_utils_linux.cc                                          -61 -64.2%
     -64.2%     -61 grpc_accept4                                                                      -61 -64.2%
  -1.0%     -32 src/core/lib/iomgr/tcp_client_posix.cc                                            -32  -1.0%
      -3.6%     -26 grpc_tcp_client_create_from_prepared_fd                                           -26  -3.6%
      -2.0%     -14 grpc_tcp_client_prepare_fd                                                        -14  -2.0%
  -0.9%     -16 src/core/lib/iomgr/tcp_server_utils_posix_common.cc                               -16  -0.9%
     -40.0%     -10 [Unmapped]                                                                        -10 -40.0%
      -0.8%      -6 grpc_tcp_server_prepare_socket                                                     -6  -0.8%
  -0.3%     -16 src/core/lib/iomgr/udp_server.cc                                                  -16  -0.3%
      -2.0%     -16 grpc_udp_server_add_port                                                          -16  -2.0%
      -1.0%      -3 GrpcUdpListener::GrpcUdpListener                                                   -3  -1.0%

 -+-+-+-+-+-+-+ MIXED                                                                         +-+-+-+-+-+-+-
  -0.0%     -52 [None]                                                                        +4.97Ki  +0.1%

  -0.0%     -64 TOTAL                                                                         +4.96Ki  +0.1%


****************************************************************

libgrpc++.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]



@grpc-testing
Copy link

[trickle] No significant performance differences

@grpc-testing
Copy link

[microbenchmarks] No significant performance differences

@grpc-testing
Copy link

****************************************************************

libgrpc.so

     VM SIZE                                                                                     FILE SIZE
 ++++++++++++++ GROWING                                                                       ++++++++++++++
  +1.1%     +17 src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc     +17  +1.1%
      +2.0%     +17 grpc_lb_policy_grpclb_modify_lb_channel_args                                      +17  +2.0%
  +1.2%     +16 src/core/ext/filters/client_channel/lb_policy_factory.cc                          +16  +1.2%
      +4.5%      +7 grpc_lb_addresses_copy                                                             +7  +4.5%
      +8.9%      +5 grpc_lb_addresses_create                                                           +5  +8.9%
      +2.0%      +4 grpc_lb_addresses_set_address                                                      +4  +2.0%
      +1.3%      +1 [Unmapped]                                                                         +1  +1.3%
  +0.9%     +16 src/core/ext/filters/client_channel/parse_address.cc                              +16  +0.9%
      +3.8%     +16 grpc_parse_ipv4_hostport                                                          +16  +3.8%
  +0.3%     +16 src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc      +16  +0.3%
       +11%      +8 [Unmapped]                                                                         +8   +11%
      +0.9%      +8 on_hostbyname_done_cb                                                              +8  +0.9%
  +0.8%     +16 src/core/lib/iomgr/sockaddr_utils.cc                                              +16  +0.8%
       +11%     +10 [Unmapped]                                                                        +10   +11%
      +5.7%      +7 grpc_sockaddr_make_wildcard4                                                       +7  +5.7%
      +5.7%      +7 grpc_sockaddr_make_wildcard6                                                       +7  +5.7%
  +0.3%     +16 src/core/lib/iomgr/tcp_server_posix.cc                                            +16  +0.3%
      +1.5%     +16 grpc_tcp_server_add_port                                                          +16  +1.5%
  +0.9%     +16 src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc                              +16  +0.9%
      +0.9%     +16 grpc_tcp_server_add_all_local_addrs                                               +16  +0.9%

 -------------- SHRINKING                                                                     --------------
 -64.2%     -61 src/core/lib/iomgr/socket_utils_linux.cc                                          -61 -64.2%
     -64.2%     -61 grpc_accept4                                                                      -61 -64.2%
  -1.0%     -32 src/core/lib/iomgr/tcp_client_posix.cc                                            -32  -1.0%
      -3.6%     -26 grpc_tcp_client_create_from_prepared_fd                                           -26  -3.6%
      -2.0%     -14 grpc_tcp_client_prepare_fd                                                        -14  -2.0%
  -0.9%     -16 src/core/lib/iomgr/tcp_server_utils_posix_common.cc                               -16  -0.9%
     -40.0%     -10 [Unmapped]                                                                        -10 -40.0%
      -0.8%      -6 grpc_tcp_server_prepare_socket                                                     -6  -0.8%
  -0.3%     -16 src/core/lib/iomgr/udp_server.cc                                                  -16  -0.3%
      -2.0%     -16 grpc_udp_server_add_port                                                          -16  -2.0%
      -1.0%      -3 GrpcUdpListener::GrpcUdpListener                                                   -3  -1.0%

 -+-+-+-+-+-+-+ MIXED                                                                         +-+-+-+-+-+-+-
  -0.0%     -52 [None]                                                                        +4.97Ki  +0.1%

  -0.0%     -64 TOTAL                                                                         +4.96Ki  +0.1%


****************************************************************

libgrpc++.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]



1 similar comment
@grpc-testing
Copy link

****************************************************************

libgrpc.so

     VM SIZE                                                                                     FILE SIZE
 ++++++++++++++ GROWING                                                                       ++++++++++++++
  +1.1%     +17 src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc     +17  +1.1%
      +2.0%     +17 grpc_lb_policy_grpclb_modify_lb_channel_args                                      +17  +2.0%
  +1.2%     +16 src/core/ext/filters/client_channel/lb_policy_factory.cc                          +16  +1.2%
      +4.5%      +7 grpc_lb_addresses_copy                                                             +7  +4.5%
      +8.9%      +5 grpc_lb_addresses_create                                                           +5  +8.9%
      +2.0%      +4 grpc_lb_addresses_set_address                                                      +4  +2.0%
      +1.3%      +1 [Unmapped]                                                                         +1  +1.3%
  +0.9%     +16 src/core/ext/filters/client_channel/parse_address.cc                              +16  +0.9%
      +3.8%     +16 grpc_parse_ipv4_hostport                                                          +16  +3.8%
  +0.3%     +16 src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc      +16  +0.3%
       +11%      +8 [Unmapped]                                                                         +8   +11%
      +0.9%      +8 on_hostbyname_done_cb                                                              +8  +0.9%
  +0.8%     +16 src/core/lib/iomgr/sockaddr_utils.cc                                              +16  +0.8%
       +11%     +10 [Unmapped]                                                                        +10   +11%
      +5.7%      +7 grpc_sockaddr_make_wildcard4                                                       +7  +5.7%
      +5.7%      +7 grpc_sockaddr_make_wildcard6                                                       +7  +5.7%
  +0.3%     +16 src/core/lib/iomgr/tcp_server_posix.cc                                            +16  +0.3%
      +1.5%     +16 grpc_tcp_server_add_port                                                          +16  +1.5%
  +0.9%     +16 src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc                              +16  +0.9%
      +0.9%     +16 grpc_tcp_server_add_all_local_addrs                                               +16  +0.9%

 -------------- SHRINKING                                                                     --------------
 -64.2%     -61 src/core/lib/iomgr/socket_utils_linux.cc                                          -61 -64.2%
     -64.2%     -61 grpc_accept4                                                                      -61 -64.2%
  -1.0%     -32 src/core/lib/iomgr/tcp_client_posix.cc                                            -32  -1.0%
      -3.6%     -26 grpc_tcp_client_create_from_prepared_fd                                           -26  -3.6%
      -2.0%     -14 grpc_tcp_client_prepare_fd                                                        -14  -2.0%
  -0.9%     -16 src/core/lib/iomgr/tcp_server_utils_posix_common.cc                               -16  -0.9%
     -40.0%     -10 [Unmapped]                                                                        -10 -40.0%
      -0.8%      -6 grpc_tcp_server_prepare_socket                                                     -6  -0.8%
  -0.3%     -16 src/core/lib/iomgr/udp_server.cc                                                  -16  -0.3%
      -2.0%     -16 grpc_udp_server_add_port                                                          -16  -2.0%
      -1.0%      -3 GrpcUdpListener::GrpcUdpListener                                                   -3  -1.0%

 -+-+-+-+-+-+-+ MIXED                                                                         +-+-+-+-+-+-+-
  -0.0%     -52 [None]                                                                        +4.97Ki  +0.1%

  -0.0%     -64 TOTAL                                                                         +4.96Ki  +0.1%


****************************************************************

libgrpc++.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]



@grpc-testing
Copy link

[trickle] No significant performance differences

1 similar comment
@grpc-testing
Copy link

[trickle] No significant performance differences

@grpc-testing
Copy link

****************************************************************

libgrpc.so

     VM SIZE                                                                                     FILE SIZE
 ++++++++++++++ GROWING                                                                       ++++++++++++++
  +1.1%     +17 src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc     +17  +1.1%
      +2.0%     +17 grpc_lb_policy_grpclb_modify_lb_channel_args                                      +17  +2.0%
  +1.2%     +16 src/core/ext/filters/client_channel/lb_policy_factory.cc                          +16  +1.2%
      +4.5%      +7 grpc_lb_addresses_copy                                                             +7  +4.5%
      +8.9%      +5 grpc_lb_addresses_create                                                           +5  +8.9%
      +2.0%      +4 grpc_lb_addresses_set_address                                                      +4  +2.0%
      +1.3%      +1 [Unmapped]                                                                         +1  +1.3%
  +0.9%     +16 src/core/ext/filters/client_channel/parse_address.cc                              +16  +0.9%
      +3.8%     +16 grpc_parse_ipv4_hostport                                                          +16  +3.8%
  +0.3%     +16 src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc      +16  +0.3%
       +11%      +8 [Unmapped]                                                                         +8   +11%
      +0.9%      +8 on_hostbyname_done_cb                                                              +8  +0.9%
  +0.8%     +16 src/core/lib/iomgr/sockaddr_utils.cc                                              +16  +0.8%
       +11%     +10 [Unmapped]                                                                        +10   +11%
      +5.7%      +7 grpc_sockaddr_make_wildcard4                                                       +7  +5.7%
      +5.7%      +7 grpc_sockaddr_make_wildcard6                                                       +7  +5.7%
  +0.3%     +16 src/core/lib/iomgr/tcp_server_posix.cc                                            +16  +0.3%
      +1.5%     +16 grpc_tcp_server_add_port                                                          +16  +1.5%
  +0.9%     +16 src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc                              +16  +0.9%
      +0.9%     +16 grpc_tcp_server_add_all_local_addrs                                               +16  +0.9%

 -------------- SHRINKING                                                                     --------------
 -64.2%     -61 src/core/lib/iomgr/socket_utils_linux.cc                                          -61 -64.2%
     -64.2%     -61 grpc_accept4                                                                      -61 -64.2%
  -1.0%     -32 src/core/lib/iomgr/tcp_client_posix.cc                                            -32  -1.0%
      -3.6%     -26 grpc_tcp_client_create_from_prepared_fd                                           -26  -3.6%
      -2.0%     -14 grpc_tcp_client_prepare_fd                                                        -14  -2.0%
  -0.9%     -16 src/core/lib/iomgr/tcp_server_utils_posix_common.cc                               -16  -0.9%
     -40.0%     -10 [Unmapped]                                                                        -10 -40.0%
      -0.8%      -6 grpc_tcp_server_prepare_socket                                                     -6  -0.8%
  -0.3%     -16 src/core/lib/iomgr/udp_server.cc                                                  -16  -0.3%
      -2.0%     -16 grpc_udp_server_add_port                                                          -16  -2.0%
      -1.0%      -3 GrpcUdpListener::GrpcUdpListener                                                   -3  -1.0%

 -+-+-+-+-+-+-+ MIXED                                                                         +-+-+-+-+-+-+-
  -0.0%     -52 [None]                                                                        +4.97Ki  +0.1%

  -0.0%     -64 TOTAL                                                                         +4.96Ki  +0.1%


****************************************************************

libgrpc++.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]



@grpc-testing
Copy link

[trickle] No significant performance differences

@grpc-testing
Copy link

[microbenchmarks] No significant performance differences

2 similar comments
@grpc-testing
Copy link

[microbenchmarks] No significant performance differences

@grpc-testing
Copy link

[microbenchmarks] No significant performance differences

@grpc-testing
Copy link

****************************************************************

libgrpc.so

     VM SIZE                                                                                     FILE SIZE
 ++++++++++++++ GROWING                                                                       ++++++++++++++
  +1.1%     +17 src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc     +17  +1.1%
      +2.0%     +17 grpc_lb_policy_grpclb_modify_lb_channel_args                                      +17  +2.0%
  +1.2%     +16 src/core/ext/filters/client_channel/lb_policy_factory.cc                          +16  +1.2%
      +4.5%      +7 grpc_lb_addresses_copy                                                             +7  +4.5%
      +8.9%      +5 grpc_lb_addresses_create                                                           +5  +8.9%
      +2.0%      +4 grpc_lb_addresses_set_address                                                      +4  +2.0%
      +1.3%      +1 [Unmapped]                                                                         +1  +1.3%
  +0.9%     +16 src/core/ext/filters/client_channel/parse_address.cc                              +16  +0.9%
      +3.8%     +16 grpc_parse_ipv4_hostport                                                          +16  +3.8%
  +0.3%     +16 src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc      +16  +0.3%
       +11%      +8 [Unmapped]                                                                         +8   +11%
      +0.9%      +8 on_hostbyname_done_cb                                                              +8  +0.9%
  +0.8%     +16 src/core/lib/iomgr/sockaddr_utils.cc                                              +16  +0.8%
       +11%     +10 [Unmapped]                                                                        +10   +11%
      +5.7%      +7 grpc_sockaddr_make_wildcard4                                                       +7  +5.7%
      +5.7%      +7 grpc_sockaddr_make_wildcard6                                                       +7  +5.7%
  +0.3%     +16 src/core/lib/iomgr/tcp_server_posix.cc                                            +16  +0.3%
      +1.5%     +16 grpc_tcp_server_add_port                                                          +16  +1.5%
  +0.9%     +16 src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc                              +16  +0.9%
      +0.9%     +16 grpc_tcp_server_add_all_local_addrs                                               +16  +0.9%

 -------------- SHRINKING                                                                     --------------
 -64.2%     -61 src/core/lib/iomgr/socket_utils_linux.cc                                          -61 -64.2%
     -64.2%     -61 grpc_accept4                                                                      -61 -64.2%
  -1.0%     -32 src/core/lib/iomgr/tcp_client_posix.cc                                            -32  -1.0%
      -3.6%     -26 grpc_tcp_client_create_from_prepared_fd                                           -26  -3.6%
      -2.0%     -14 grpc_tcp_client_prepare_fd                                                        -14  -2.0%
  -0.9%     -16 src/core/lib/iomgr/tcp_server_utils_posix_common.cc                               -16  -0.9%
     -40.0%     -10 [Unmapped]                                                                        -10 -40.0%
      -0.8%      -6 grpc_tcp_server_prepare_socket                                                     -6  -0.8%
  -0.3%     -16 src/core/lib/iomgr/udp_server.cc                                                  -16  -0.3%
      -2.0%     -16 grpc_udp_server_add_port                                                          -16  -2.0%
      -1.0%      -3 GrpcUdpListener::GrpcUdpListener                                                   -3  -1.0%

 -+-+-+-+-+-+-+ MIXED                                                                         +-+-+-+-+-+-+-
  -0.0%     -52 [None]                                                                        +4.97Ki  +0.1%

  -0.0%     -64 TOTAL                                                                         +4.96Ki  +0.1%


****************************************************************

libgrpc++.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]



@grpc-testing
Copy link

[trickle] No significant performance differences

@grpc-testing
Copy link

[microbenchmarks] No significant performance differences

@vjpai
Copy link
Member

vjpai commented Mar 11, 2018

Has the reporter of #13458 confirmed that this branch works? Also, do we have any measure in place to prevent the reoccurrence of this problem in the future?

@yashykt
Copy link
Member Author

yashykt commented Mar 11, 2018

@vjpai The reporter referenced to #11390 which has gone stale as a solution that worked for big endian systems. This pull request just adds on changes to make sure that the changes also work for other platforms.

As for a measure in place to prevent the recurrence of problem, I think once we remove the usage of reinterpret_cast in our code (or only use it when absolutely necessary), we won't see this anymore.

@vjpai
Copy link
Member

vjpai commented Mar 12, 2018

Ah, so little endian-ness masks the size difference issue in some cases since socklen_t typically has small values.

@yashykt
Copy link
Member Author

yashykt commented Mar 13, 2018

Talked to Nico offline. We don't have the capability to add big endian systems to our test infrastructure currently. Kokoro doesn't support it.

@yashykt yashykt requested a review from vjpai March 13, 2018 22:05
@grpc-testing
Copy link

****************************************************************

libgrpc.so

     VM SIZE                                                                                     FILE SIZE
 ++++++++++++++ GROWING                                                                       ++++++++++++++
  +1.1%     +17 src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc     +17  +1.1%
      +2.0%     +17 grpc_lb_policy_grpclb_modify_lb_channel_args                                      +17  +2.0%
  +1.2%     +16 src/core/ext/filters/client_channel/lb_policy_factory.cc                          +16  +1.2%
      +4.5%      +7 grpc_lb_addresses_copy                                                             +7  +4.5%
      +8.9%      +5 grpc_lb_addresses_create                                                           +5  +8.9%
      +2.0%      +4 grpc_lb_addresses_set_address                                                      +4  +2.0%
      +1.3%      +1 [Unmapped]                                                                         +1  +1.3%
  +0.9%     +16 src/core/ext/filters/client_channel/parse_address.cc                              +16  +0.9%
      +3.8%     +16 grpc_parse_ipv4_hostport                                                          +16  +3.8%
  +0.3%     +16 src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc      +16  +0.3%
       +11%      +8 [Unmapped]                                                                         +8   +11%
      +0.9%      +8 on_hostbyname_done_cb                                                              +8  +0.9%
  +0.8%     +16 src/core/lib/iomgr/sockaddr_utils.cc                                              +16  +0.8%
       +11%     +10 [Unmapped]                                                                        +10   +11%
      +5.7%      +7 grpc_sockaddr_make_wildcard4                                                       +7  +5.7%
      +5.7%      +7 grpc_sockaddr_make_wildcard6                                                       +7  +5.7%
  +0.3%     +16 src/core/lib/iomgr/tcp_server_posix.cc                                            +16  +0.3%
      +1.5%     +16 grpc_tcp_server_add_port                                                          +16  +1.5%
  +0.9%     +16 src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc                              +16  +0.9%
      +0.9%     +16 grpc_tcp_server_add_all_local_addrs                                               +16  +0.9%

 -------------- SHRINKING                                                                     --------------
 -64.2%     -61 src/core/lib/iomgr/socket_utils_linux.cc                                          -61 -64.2%
     -64.2%     -61 grpc_accept4                                                                      -61 -64.2%
  -1.0%     -32 src/core/lib/iomgr/tcp_client_posix.cc                                            -32  -1.0%
      -3.6%     -26 grpc_tcp_client_create_from_prepared_fd                                           -26  -3.6%
      -2.0%     -14 grpc_tcp_client_prepare_fd                                                        -14  -2.0%
  -0.9%     -16 src/core/lib/iomgr/tcp_server_utils_posix_common.cc                               -16  -0.9%
     -40.0%     -10 [Unmapped]                                                                        -10 -40.0%
      -0.8%      -6 grpc_tcp_server_prepare_socket                                                     -6  -0.8%
  -0.3%     -16 src/core/lib/iomgr/udp_server.cc                                                  -16  -0.3%
      -2.0%     -16 grpc_udp_server_add_port                                                          -16  -2.0%
      -1.0%      -3 GrpcUdpListener::GrpcUdpListener                                                   -3  -1.0%

 -+-+-+-+-+-+-+ MIXED                                                                         +-+-+-+-+-+-+-
  -0.0%     -52 [None]                                                                        +6.46Ki  +0.1%

  -0.0%     -64 TOTAL                                                                         +6.45Ki  +0.1%


****************************************************************

libgrpc++.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]



@grpc-testing
Copy link

[trickle] No significant performance differences

@grpc-testing
Copy link

[microbenchmarks] No significant performance differences

@grpc-testing
Copy link

****************************************************************

libgrpc.so

     VM SIZE                                                                                     FILE SIZE
 ++++++++++++++ GROWING                                                                       ++++++++++++++
  +1.1%     +17 src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc     +17  +1.1%
      +2.0%     +17 grpc_lb_policy_grpclb_modify_lb_channel_args                                      +17  +2.0%
  +1.2%     +16 src/core/ext/filters/client_channel/lb_policy_factory.cc                          +16  +1.2%
      +4.5%      +7 grpc_lb_addresses_copy                                                             +7  +4.5%
      +8.9%      +5 grpc_lb_addresses_create                                                           +5  +8.9%
      +2.0%      +4 grpc_lb_addresses_set_address                                                      +4  +2.0%
      +1.3%      +1 [Unmapped]                                                                         +1  +1.3%
  +0.9%     +16 src/core/ext/filters/client_channel/parse_address.cc                              +16  +0.9%
      +3.8%     +16 grpc_parse_ipv4_hostport                                                          +16  +3.8%
  +0.3%     +16 src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc      +16  +0.3%
       +11%      +8 [Unmapped]                                                                         +8   +11%
      +0.9%      +8 on_hostbyname_done_cb                                                              +8  +0.9%
  +0.3%     +16 src/core/lib/iomgr/tcp_server_posix.cc                                            +16  +0.3%
      +1.5%     +16 tcp_server_add_port                                                               +16  +1.5%
  +0.9%     +16 src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc                              +16  +0.9%
      +0.9%     +16 grpc_tcp_server_add_all_local_addrs                                               +16  +0.9%

 -------------- SHRINKING                                                                     --------------
 -64.2%     -61 src/core/lib/iomgr/socket_utils_linux.cc                                          -61 -64.2%
     -64.2%     -61 grpc_accept4                                                                      -61 -64.2%
  -1.0%     -32 src/core/lib/iomgr/tcp_client_posix.cc                                            -32  -1.0%
      -3.6%     -26 grpc_tcp_client_create_from_prepared_fd                                           -26  -3.6%
      -2.0%     -14 grpc_tcp_client_prepare_fd                                                        -14  -2.0%
  -0.8%     -17 src/core/lib/iomgr/sockaddr_utils.cc                                              -17  -0.8%
      -1.9%      -4 grpc_sockaddr_is_v4mapped                                                          -4  -1.9%
      -2.3%      -4 grpc_sockaddr_to_v4mapped                                                          -4  -2.3%
      -3.0%      -4 grpc_sockaddr_make_wildcard4                                                       -4  -3.0%
      -3.0%      -4 grpc_sockaddr_make_wildcard6                                                       -4  -3.0%
      -0.6%      -1 grpc_string_to_sockaddr                                                            -1  -0.6%
  -0.4%     -16 src/core/lib/iomgr/tcp_server_custom.cc                                           -16  -0.4%
      -1.3%     -17 tcp_server_add_port                                                               -17  -1.3%
  -0.9%     -16 src/core/lib/iomgr/tcp_server_utils_posix_common.cc                               -16  -0.9%
     -40.0%     -10 [Unmapped]                                                                        -10 -40.0%
      -0.8%      -6 grpc_tcp_server_prepare_socket                                                     -6  -0.8%
  -0.3%     -16 src/core/lib/iomgr/udp_server.cc                                                  -16  -0.3%
      -2.0%     -16 grpc_udp_server_add_port                                                          -16  -2.0%
      -1.0%      -3 GrpcUdpListener::GrpcUdpListener                                                   -3  -1.0%

 -+-+-+-+-+-+-+ MIXED                                                                         +-+-+-+-+-+-+-
  -0.0%     -67 [None]                                                                        +5.23Ki  +0.1%

  -0.0%    -128 TOTAL                                                                         +5.17Ki  +0.1%


****************************************************************

libgrpc++.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]



@grpc-testing
Copy link

[trickle] No significant performance differences

@grpc-testing
Copy link

[microbenchmarks] No significant performance differences

Copy link
Member

@vjpai vjpai left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please file an issue to find a test platform for this, even if acquiring such a platform is not in the immediate plans.

@yashykt
Copy link
Member Author

yashykt commented Mar 15, 2018

Good idea @vjpai! Created issue #14721 for tracking support for big endian systems.

@yashykt
Copy link
Member Author

yashykt commented Mar 16, 2018

@dgquintas @markdroth @a11r Need an approval from a code owner :)

@grpc-testing
Copy link

****************************************************************

libgrpc.so

     VM SIZE                                                                                     FILE SIZE
 ++++++++++++++ GROWING                                                                       ++++++++++++++
  +1.1%     +17 src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.cc     +17  +1.1%
      +2.0%     +17 grpc_lb_policy_grpclb_modify_lb_channel_args                                      +17  +2.0%
  +1.2%     +16 src/core/ext/filters/client_channel/lb_policy_factory.cc                          +16  +1.2%
      +4.5%      +7 grpc_lb_addresses_copy                                                             +7  +4.5%
      +8.9%      +5 grpc_lb_addresses_create                                                           +5  +8.9%
      +2.0%      +4 grpc_lb_addresses_set_address                                                      +4  +2.0%
      +1.3%      +1 [Unmapped]                                                                         +1  +1.3%
  +0.9%     +16 src/core/ext/filters/client_channel/parse_address.cc                              +16  +0.9%
      +3.8%     +16 grpc_parse_ipv4_hostport                                                          +16  +3.8%
  +0.3%     +16 src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc      +16  +0.3%
       +11%      +8 [Unmapped]                                                                         +8   +11%
      +0.9%      +8 on_hostbyname_done_cb                                                              +8  +0.9%
  +0.3%     +16 src/core/lib/iomgr/tcp_server_posix.cc                                            +16  +0.3%
      +1.5%     +16 tcp_server_add_port                                                               +16  +1.5%
  +0.9%     +16 src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.cc                              +16  +0.9%
      +0.9%     +16 grpc_tcp_server_add_all_local_addrs                                               +16  +0.9%

 -------------- SHRINKING                                                                     --------------
 -64.2%     -61 src/core/lib/iomgr/socket_utils_linux.cc                                          -61 -64.2%
     -64.2%     -61 grpc_accept4                                                                      -61 -64.2%
  -1.0%     -32 src/core/lib/iomgr/tcp_client_posix.cc                                            -32  -1.0%
      -3.6%     -26 grpc_tcp_client_create_from_prepared_fd                                           -26  -3.6%
      -2.0%     -14 grpc_tcp_client_prepare_fd                                                        -14  -2.0%
  -0.8%     -17 src/core/lib/iomgr/sockaddr_utils.cc                                              -17  -0.8%
      -1.9%      -4 grpc_sockaddr_is_v4mapped                                                          -4  -1.9%
      -2.3%      -4 grpc_sockaddr_to_v4mapped                                                          -4  -2.3%
      -3.0%      -4 grpc_sockaddr_make_wildcard4                                                       -4  -3.0%
      -3.0%      -4 grpc_sockaddr_make_wildcard6                                                       -4  -3.0%
      -0.6%      -1 grpc_string_to_sockaddr                                                            -1  -0.6%
  -0.4%     -16 src/core/lib/iomgr/tcp_server_custom.cc                                           -16  -0.4%
      -1.3%     -17 tcp_server_add_port                                                               -17  -1.3%
  -0.9%     -16 src/core/lib/iomgr/tcp_server_utils_posix_common.cc                               -16  -0.9%
     -40.0%     -10 [Unmapped]                                                                        -10 -40.0%
      -0.8%      -6 grpc_tcp_server_prepare_socket                                                     -6  -0.8%
  -0.3%     -16 src/core/lib/iomgr/udp_server.cc                                                  -16  -0.3%
      -2.0%     -16 grpc_udp_server_add_port                                                          -16  -2.0%
      -1.0%      -3 GrpcUdpListener::GrpcUdpListener                                                   -3  -1.0%

 -+-+-+-+-+-+-+ MIXED                                                                         +-+-+-+-+-+-+-
  -0.0%     -35 [None]                                                                        +5.23Ki  +0.1%

  -0.0%     -96 TOTAL                                                                         +5.17Ki  +0.1%


****************************************************************

libgrpc++.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]



@grpc-testing
Copy link

[trickle] No significant performance differences

@grpc-testing
Copy link

[microbenchmarks] No significant performance differences

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants