aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/scripts/python/bin/stackcollapse-record
diff options
context:
space:
mode:
authorWilly Tarreau <w@1wt.eu>2022-02-07 17:23:27 +0100
committerPaul E. McKenney <paulmck@kernel.org>2022-04-20 17:05:43 -0700
commit66c397c4d2e15871c50940c168b7d4a76aaa08a9 (patch)
tree6b52aa2414954452e1d10a86a1cebbe10525efe4 /tools/perf/scripts/python/bin/stackcollapse-record
parenttools/nolibc/stdlib: move ltoa() to stdlib.h (diff)
downloadlinux-66c397c4d2e15871c50940c168b7d4a76aaa08a9.tar.gz
linux-66c397c4d2e15871c50940c168b7d4a76aaa08a9.zip
tools/nolibc/stdlib: replace the ltoa() function with more efficient ones
The original ltoa() function and the reentrant one ltoa_r() present a number of drawbacks. The divide by 10 generates calls to external code from libgcc_s, and the number does not necessarily start at the beginning of the buffer. Let's rewrite these functions so that they do not involve a divide and only use loops on powers of 10, and implement both signed and unsigned variants, always starting from the buffer's first character. Instead of using a static buffer for each function, we're now using a common one. In order to avoid confusion with the ltoa() name, the new functions are called itoa_r() and utoa_r() to distinguish the signed and unsigned versions, and for convenience for their callers, these functions now reutrn the number of characters emitted. The ltoa_r() function is just an inline mapping to the signed one and which returns the buffer. The functions are quite small (86 bytes on x86_64, 68 on armv7) and do not depend anymore on external code. Signed-off-by: Willy Tarreau <w@1wt.eu> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python/bin/stackcollapse-record')
0 files changed, 0 insertions, 0 deletions
>+1 2014-10-28cdc-ether: handle promiscuous mode with a set_rx_mode callbackOlivier Blin1-0/+5 2014-10-28cdc-ether: extract usbnet_cdc_update_filter functionOlivier Blin1-14/+28 2014-10-28usbnet: add a callback for set_rx_modeOlivier Blin2-0/+24 2014-10-28net: systemport: reset UniMAC coming out of a suspend cycleFlorian Fainelli1-0/+2 2014-10-28net: systemport: enable RX interrupts after NAPIFlorian Fainelli1-6/+3 2014-10-28skbuff.h: fix kernel-doc warning for headers_endRandy Dunlap1-0/+4 2014-10-28net: phy: Add SGMII Configuration for Marvell 88E1145 InitializationVince Bridgers1-0/+19 2014-10-28drivers: net:cpsw: fix probe_dt when only slave 1 is pinned outMugunthan V N1-9/+9 2014-10-28dsa: mv88e6171: Fix tagging protocol/KconfigAndrew Lunn1-1/+1 2014-10-28net: dsa: Error out on tagging protocol mismatchesAndrew Lunn1-1/+4 2014-10-27bpf: split eBPF out of NETAlexei Starovoitov5-5/+28 2014-10-27cxgb4 : Handle dcb enable correctlyAnish Bhatt2-2/+11 2014-10-27cxgb4 : Improve handling of DCB negotiation or loss thereofAnish Bhatt1-3/+45 2014-10-27netfilter: nft_compat: fix wrong target lookup in nft_target_select_ops()Arturo Borrero1-1/+1 2014-10-26net: napi_reuse_skb() should check pfmemallocEric Dumazet1-0/+4 2014-10-26net/mlx4_core: Call synchronize_irq() before freeing EQ bufferEli Cohen1-0/+1 2014-10-26net/mlx5_core: Call synchronize_irq() before freeing EQ bufferEli Cohen1-0/+1 2014-10-25drivers: net: xgene: Rewrite buggy loop in xgene_enet_ecc_init()Geert Uytterhoeven1-9/+7 2014-10-25i40e: _MASK vs _SHIFT typo in i40e_handle_mdd_event()Dan Carpenter1-2/+2 2014-10-25macvlan: fix a race on port dismantle and possible skb leaksEric Dumazet1-2/+8 2014-10-25tcp: md5: do not use alloc_percpu()Eric Dumazet1-39/+20 2014-10-25xen-netback: reintroduce guest Rx stall detectionDavid Vrabel4-1/+86 2014-10-25xen-netback: fix unlimited guest Rx internal queue and carrier flappingDavid Vrabel4-178/+161 2014-10-25xen-netback: make feature-rx-notify mandatoryDavid Vrabel3-25/+5