-
Notifications
You must be signed in to change notification settings - Fork 4k
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
Fix "sched_to itself" error when building by Clang on Linux aarch64 #1950
Conversation
src/bthread/task_group.cpp
Outdated
@@ -248,6 +248,10 @@ int TaskGroup::init(size_t runqueue_capacity) { | |||
return 0; | |||
} | |||
|
|||
#if defined (__linux__) && defined (__aarch64__) | |||
#pragma clang optimize off |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
给函数声明加上__attribute__((optnone))会不会更简单一些。
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
只给这俩函数加会不会不够。其它用到tls、且存在bthread切换的代码也可能会有类似的问题
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
能否找出clang具体是哪个优化选项导致了这个问题
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
给函数声明加上__attribute__((optnone))会不会更简单一些。
嗯,我试试看。
只给这俩函数加会不会不够。其它用到tls、且存在bthread切换的代码也可能会有类似的问题
这个我不太确定,最开始我是禁止Clang优化整个src/bthread/task_group.cpp
,发现可以。然后经过不断尝试,直到发现只需要禁止这2个函数,在我们的场景下就可以成功运行。
能否找出clang具体是哪个优化选项导致了这个问题
这个目前不清楚。。。
* enable brpc use rdma * Fix override issue in pb 3.21 * fix rpc_replay can't send request equably (apache#1910) * fix rpc_replay can't send request equably * 类型修改 * fix coredump cause by uri like 'host:port/hotspots/growth_non_responsive?console=abc' (apache#1278) * expose logging::PrintLog * Support -escape_log * Fix thrift_message pb override issue * Chore: rework Bazel build system * remove white space from default value of bvar_dump_tabs * Update oncall.md * Fix not to abort when checking the errorno with unicode string (apache#1142) * fix a typo in grpc protocol (apache#1924) * fix a typo in grpc protocol * ERESPONSE->EREQUEST Co-authored-by: 薛传宇 <xuechuanyu@cmss.chinamobile.com> * [user-cases] add Apache Doris user case * add nacos naming service (apache#1922) * [document] Add vcpkg instruction step (apache#1925) * http response uses brpc error code (apache#1927) * http response uses brpc error code * add gflag for using http error code * add unit test of http error code * Update Oncall record * Fix bvar compile error (apache#1937) * Fix bug butex_wait failed with timeout (apache#1917) * Fix bug butex_wait failed with timeout Co-authored-by: XiguoHu <huxiguo@baidu.com> * fix issues in FlatMap * Update release_cn.md * brpc在BaikalDB中的应用 * Update getting_started.md * fix(rpc_replay) continue when failed to init channel (apache#1938) * fix(rpc_replay) continue when failed to init channel * check supported_connection_type * check supported_connection_type * check supported_connection_type * fix lint * Update cases.md (apache#1944) * fix rpc_press.md (apache#1942) Signed-off-by: fan <yfan3763@gmail.com> Signed-off-by: fan <yfan3763@gmail.com> * fix typo in json2pb doc (apache#1939) * Update oncall.md (apache#1949) * Update release_cn.md * Update RELEASE_VERSION * Update CMakeLists.txt * Update brpc.spec * Update release_cn.md * Update release_cn.md * Update release_cn.md * add pull_request_template.md (apache#1952) Signed-off-by: fan <yfan3763@gmail.com> Signed-off-by: fan <yfan3763@gmail.com> * Fix the linkage errors caused by duplicate symbols (apache#1936) * Fix "sched_to itself" error when buidling by Clang on Linux aarch64 (apache#1950) * docs: fix some typos Signed-off-by: cui fliter <imcusg@gmail.com> * Fix source file mode * rpm: support RHEL9 * Update oncall.md * Update newcommitter.md * fix arena cleared early when parse redis message * community: Update oncall.md (apache#1960) Co-authored-by: lei.li <lei.li@clickzetta.com> * Reduce UT log output * Update release_cn.md * Update release_cn.md Update brpc's brief introduction in Announce mail. * Update release_cn.md * Macos workflow (#10) * fix typo * delete bazel from mac workflow * fix exceptation value for mac ut * delete test * Create ci_linux.yml * Update ci_linux.yml * Update ci_linux.yml * Update ci_linux.yml * Update ci_linux.yml * Update ci_linux.yml * Update ci_linux.yml * Update ci_linux.yml * Update ci_linux.yml * Update ci_linux.yml * Update ci_linux.yml Signed-off-by: fan <yfan3763@gmail.com> Signed-off-by: cui fliter <imcusg@gmail.com> Co-authored-by: Tuvie <lizhaogeng1989@gmail.com> Co-authored-by: wwbmmm <wwbmmm@163.com> Co-authored-by: bumingchun <bumingchun@126.com> Co-authored-by: Yingchun Lai <acelyc1112009@gmail.com> Co-authored-by: gejun.0 <gejun.0@bytedance.com> Co-authored-by: Jiashun Zhu <zhujiashun2010@gmail.com> Co-authored-by: Shuai Zhang <zhangshuai.ustc@gmail.com> Co-authored-by: yyweii <thymene@gmail.com> Co-authored-by: tobe <tobeg3oogle@gmail.com> Co-authored-by: bbbezxcy <bbezxcy@qq.com> Co-authored-by: 薛传宇 <xuechuanyu@cmss.chinamobile.com> Co-authored-by: morningman <morningman@163.com> Co-authored-by: Jack·Boos·Yu <47264268+JackBoosY@users.noreply.github.com> Co-authored-by: Tanzhongyi(Jerry Tan) <jerrytan@apache.org> Co-authored-by: chenBright <chenguangming@bigo.sg> Co-authored-by: lei he <lhestz@163.com> Co-authored-by: Chengx <chengxiang085@gmail.com> Co-authored-by: HU <uestc.hugo@gmail.com> Co-authored-by: XiguoHu <huxiguo@baidu.com> Co-authored-by: Tao Liu <liutao04@baidu.com> Co-authored-by: day253 <9634619+day253@users.noreply.github.com> Co-authored-by: ds <ehds@qq.com> Co-authored-by: fan <75058860+fansehep@users.noreply.github.com> Co-authored-by: serverglen <serverglen@gmail.com> Co-authored-by: Adonis Ling <adonis0147@gmail.com> Co-authored-by: cui fliter <imcusg@gmail.com> Co-authored-by: Xiaofeng Wang <wasphin@gmail.com> Co-authored-by: jiumei <jiumei@xiaohongshu.com> Co-authored-by: LorinLee <lorinlee1996@gmail.com> Co-authored-by: lei.li <lei.li@clickzetta.com>
修复在Linux aarch64平台上用Clang编译器编译,运行时报出来的
sched_to itself
错误。项目:Apache Doris
平台:Ubuntu 22.04 aarch64
编译器:Ubuntu clang version 14.0.0-1ubuntu1
验证:用clang编译后跑UT,
./run-be-ut.sh
--run