mirror of
https://github.com/openvswitch/ovs
synced 2025-08-30 22:05:19 +00:00
dpif-netdev: Remove undefined integer division.
Clang analyzer will complain about floating point operations conducted with integer types as rounding is undefined. In pmd_info_show_rxq() a percentage was calculated inside uint64 integers instead of a floating pointer variable for a user visible message. This issue can be resolved simply by casting to double while dividing. Acked-by: Simon Horman <horms@ovn.org> Signed-off-by: Mike Pattrick <mkp@redhat.com> Signed-off-by: Eelco Chaudron <echaudro@redhat.com>
This commit is contained in:
committed by
Eelco Chaudron
parent
e48ba271f4
commit
a67db28fd9
@@ -942,9 +942,9 @@ pmd_info_show_rxq(struct ds *reply, struct dp_netdev_pmd_thread *pmd,
|
||||
? "(enabled) " : "(disabled)");
|
||||
ds_put_format(reply, " pmd usage: ");
|
||||
if (total_pmd_cycles) {
|
||||
ds_put_format(reply, "%2"PRIu64"",
|
||||
rxq_proc_cycles * 100 / total_pmd_cycles);
|
||||
ds_put_cstr(reply, " %");
|
||||
ds_put_format(reply, "%2.0f %%",
|
||||
(double) (rxq_proc_cycles * 100) /
|
||||
total_pmd_cycles);
|
||||
} else {
|
||||
ds_put_format(reply, "%s", "NOT AVAIL");
|
||||
}
|
||||
@@ -959,8 +959,10 @@ pmd_info_show_rxq(struct ds *reply, struct dp_netdev_pmd_thread *pmd,
|
||||
if (total_rxq_proc_cycles < busy_pmd_cycles) {
|
||||
overhead_cycles = busy_pmd_cycles - total_rxq_proc_cycles;
|
||||
}
|
||||
ds_put_format(reply, "%2"PRIu64" %%",
|
||||
overhead_cycles * 100 / total_pmd_cycles);
|
||||
|
||||
ds_put_format(reply, "%2.0f %%",
|
||||
(double) (overhead_cycles * 100) /
|
||||
total_pmd_cycles);
|
||||
} else {
|
||||
ds_put_cstr(reply, "NOT AVAIL");
|
||||
}
|
||||
|
Reference in New Issue
Block a user