Re: [RESEND v4 7/7] mm, slab_common: Modify kmalloc_caches[type][idx] to kmalloc_caches[idx][type]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 16 Sep 2019, Pengfei Li wrote:

> KMALLOC_NORMAL is the most frequently accessed, and kmalloc_caches[]
> is initialized by different types of the same size.
> 
> So modifying kmalloc_caches[type][idx] to kmalloc_caches[idx][type]
> will benefit performance.
> 
> $ ./scripts/bloat-o-meter vmlinux.patch_1-6 vmlinux.patch_1-7
> add/remove: 0/0 grow/shrink: 2/57 up/down: 8/-457 (-449)
> Function                                     old     new   delta
> tg3_self_test                               4255    4259      +4
> nf_queue                                     666     670      +4
> kmalloc_slab                                  97      93      -4
> i915_sw_fence_await_dma_fence                441     437      -4
> __igmp_group_dropped                         619     615      -4
> gss_import_sec_context                       176     170      -6
> xhci_alloc_command                           212     205      -7
> create_kmalloc_caches                        155     148      -7
> xprt_switch_alloc                            136     128      -8
> xhci_segment_alloc                           297     289      -8
> xhci_ring_alloc                              369     361      -8
> xhci_mem_init                               3664    3656      -8
> xhci_alloc_virt_device                       496     488      -8
> xhci_alloc_tt_info                           346     338      -8
> xhci_alloc_stream_info                       718     710      -8
> xhci_alloc_container_ctx                     215     207      -8
> xfrm_policy_alloc                            271     263      -8
> tcp_sendmsg_locked                          3120    3112      -8
> tcp_md5_do_add                               774     766      -8
> tcp_fastopen_defer_connect                   270     262      -8
> sr_read_tochdr.isra                          251     243      -8
> sr_read_tocentry.isra                        328     320      -8
> sr_is_xa                                     376     368      -8
> sr_get_mcn                                   260     252      -8
> selinux_sk_alloc_security                    113     105      -8
> sdev_evt_send_simple                         118     110      -8
> sdev_evt_alloc                                79      71      -8
> scsi_probe_and_add_lun                      2938    2930      -8
> sbitmap_queue_init_node                      418     410      -8
> ring_buffer_read_prepare                      94      86      -8
> request_firmware_nowait                      396     388      -8
> regulatory_hint_found_beacon                 394     386      -8
> ohci_urb_enqueue                            3176    3168      -8
> nla_strdup                                   142     134      -8
> nfs_alloc_seqid                               87      79      -8
> nfs4_get_state_owner                        1040    1032      -8
> nfs4_do_close                                578     570      -8
> nf_ct_tmpl_alloc                              85      77      -8
> mempool_create_node                          164     156      -8
> ip_setup_cork                                362     354      -8
> ip6_setup_cork                              1021    1013      -8
> gss_create_cred                              140     132      -8
> drm_flip_work_allocate_task                   70      62      -8
> dma_pool_alloc                               410     402      -8
> devres_open_group                            214     206      -8
> cfg80211_stop_iface                          260     252      -8
> cfg80211_sinfo_alloc_tid_stats                77      69      -8
> cfg80211_port_authorized                     212     204      -8
> cfg80211_parse_mbssid_data                  2397    2389      -8
> cfg80211_ibss_joined                         335     327      -8
> call_usermodehelper_setup                    149     141      -8
> bpf_prog_alloc_no_stats                      182     174      -8
> blk_alloc_flush_queue                        191     183      -8
> bdi_alloc_node                               195     187      -8
> audit_log_d_path                             196     188      -8
> _netlbl_catmap_getnode                       247     239      -8
> ____ip_mc_inc_group                          475     467      -8
> __i915_sw_fence_await_sw_fence               417     405     -12
> ida_alloc_range                              955     934     -21
> Total: Before=14874316, After=14873867, chg -0.00%
> 
> Signed-off-by: Pengfei Li <lpf.vector@xxxxxxxxx>

This also seems more intuitive.

Acked-by: David Rientjes <rientjes@xxxxxxxxxx>




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux