• Y
    arm64: vdso: move vdso_fix into struct vdso_data · d6b00d6c
    Yang Yingliang 提交于
    hulk inclusion
    category: bugfix
    bugzilla: 16082
    CVE: NA
    
    -------------------------------------------------
    
    Using static key type may cause segmentation fault in bionic,
    change type of vdso_fix to bool and move it int struct vdso_data.
    
    On Hi1620,
    without this patch, gettimeofday costs 0.02775:
    ./gettimeofday -E -C 200 -L -S -W -N "gettimeofday"
    Running:        gettimeofday# ./gettimeofday -E -C 200 -L -S -W -N gettimeofday
                 prc thr   usecs/call      samples   errors cnt/samp
    gettimeofday   1   1      0.02775          174        0    20000
    
    with this patch, gettimeofday costs 0.02701:
    ./gettimeofday -E -C 200 -L -S -W -N "gettimeofday"
    Running:        gettimeofday# ./gettimeofday -E -C 200 -L -S -W -N gettimeofday
                 prc thr   usecs/call      samples   errors cnt/samp
    gettimeofday   1   1      0.02701          170        0    20000
    
    On Hi1616,
    without this patch, gettimeofday costs 0.03396:
    ./gettimeofday -E -C 200 -L -S -W -N "gettimeofday"
    Running:        gettimeofday# ./gettimeofday -E -C 200 -L -S -W -N gettimeofday
                 prc thr   usecs/call      samples   errors cnt/samp
    gettimeofday   1   1      0.03396          194        0    20000
    
    with this patch, gettimeofday costs 0.03660:
    ./gettimeofday -E -C 200 -L -S -W -N "gettimeofday"
    Running:        gettimeofday# ./gettimeofday -E -C 200 -L -S -W -N gettimeofday
                 prc thr   usecs/call      samples   errors cnt/samp
    gettimeofday   1   1      0.03660          200        0    20000
    Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
    Reviewed-by: NXuefeng Wang <wxf.wang@hisilicon.com>
    Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
    d6b00d6c
vdso.c 6.6 KB