最近被老板按着头做知识库做的心烦,白天向量数据库晚上切块的,效果还越调越烂,日子过得贼难受 这不得不促使我思考一个问题,人类管理书籍和档案已经几千年了,也没听说过有向量数据库这玩意啊,那不也活得好好的 然后我也研究了一些比如最近大火的 Karpathy LLM Wiki 之类的,但感觉都差点意思,不太适合企业级(至少是中小企业起步吧)知识库的做法。 想来想去,我决定拿出毕生所学,捣鼓了一个(自我感觉)非常适合研究者/法律工作者/金融工作者这个方向的知识库 它的底层逻辑就是 图书馆学 x 推荐系统 x Agent 整个系统以不同角色为边界,划分了 3 个角色:图书馆员,调查员,用户 用户负责上传文件,图书馆员负责对文件打标签,写 summary 。调查员负责写笔记、阅读 summary ,浏览不同的文件提取知识,并最终汇总成调查报告发给用户,同时记下这次问答的笔记。图书馆员再利用这个笔记将不同的文件进行聚合,挖掘不同文件之间的内在关联,这样一个知识图谱就形成了 而且整个系统是一个自反馈系统,随着问的问题越来越多,它就能够挖掘出你在跟它对话中隐藏的知识关联性,提高聚合和查询的质量 最终的目标是诞生一个自组织、自适应、自感知的知识库系统 目前已经有几个种子用户,他们一致认为该项目能够解决工作中的很多问题 Github: https://github.com/shenmintao/marginalia 希望大家多多体验,提点反馈意见
昨天按着论坛里的方法,先后让image2伪造了台湾中央大学的缴费证明、学生证和学籍证明。 被SheerID怒退了三次,这下凉透了。 再见了我还没捂热的NotebookLM, 再见了我7天后重置的Antigravity, 以及被image2锤爆的nanobanana。 剧透 1 个帖子 - 1 位参与者 阅读完整话题
fedora 42 在 konsole 打字时 konsole 进程的 cpu 占用是正常的,在按着按键不松的情况下连续输入同一个字符 konsole 进程的 cpu 占用只有百分之十几,升级到 fedora 44 后就变成将近百分之百了,我用 perf record 分析了一下 cpu 占用高的原因,结果如下: Samples: 12K of event 'cpu_core/cycles/P', Event count (approx.): 10384837753 Children Self Command Shared Object Symbol + 91.73% 0.00% konsole konsole [.] _start + 91.73% 0.00% konsole libc.so.6 [.] __libc_start_main@@GLIBC_2.34 + 91.73% 0.00% konsole libc.so.6 [.] __libc_start_call_main + 91.73% 0.00% konsole konsole [.] main + 91.73% 0.00% konsole libQt6Core.so.6.10.3 [.] QCoreApplication::exec() + 91.71% 0.02% konsole libQt6Core.so.6.10.3 [.] QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 91.70% 0.00% konsole libQt6Core.so.6.10.3 [.] QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 91.39% 0.00% konsole libglib-2.0.so.0.8800.0 [.] g_main_context_iteration + 91.38% 0.01% konsole libglib-2.0.so.0.8800.0 [.] g_main_context_iterate_unlocked.isra.0 + 91.25% 0.01% konsole libglib-2.0.so.0.8800.0 [.] g_main_context_dispatch_unlocked.lto_priv.0 + 91.05% 0.02% konsole libQt6Core.so.6.10.3 [.] QCoreApplication::notifyInternal2(QObject*, QEvent*) + 90.96% 0.01% konsole libQt6Widgets.so.6.10.3 [.] QApplicationPrivate::notify_helper(QObject*, QEvent*) + 89.40% 0.02% konsole libQt6Widgets.so.6.10.3 [.] QWidget::event(QEvent*) + 89.35% 0.00% konsole libQt6Core.so.6.10.3 [.] postEventSourceDispatch(_GSource*, int (*)(void*), void*) + 89.35% 0.02% konsole libQt6Core.so.6.10.3 [.] QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) + 89.09% 0.00% konsole libKF6XmlGui.so.6.25.0 [.] KXmlGuiWindow::event(QEvent*) + 88.94% 0.01% konsole libQt6Widgets.so.6.10.3 [.] QWidgetRepaintManager::paintAndFlush() + 64.37% 63.13% konsole libQt6Gui.so.6.10.3 [.] qt_memfillXX_avx2(unsigned char*, long long __vector(4), long long) + 64.37% 0.00% konsole libQt6Gui.so.6.10.3 [.] QPainter::fillRect(QRect const&, QColor const&) + 64.37% 0.00% konsole libQt6Gui.so.6.10.3 [.] QRasterPaintEngine::fillRect(QRectF const&, QSpanData*) + 55.10% 0.00% konsole libQt6Widgets.so.6.10.3 [.] QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, + 54.99% 0.02% konsole libQt6Widgets.so.6.10.3 [.] QWidgetPrivate::sendPaintEvent(QRegion const&) + 48.05% 0.03% konsole libkonsoleprivate.so.26.04.0 [.] Konsole::TerminalDisplay::paintEvent(QPaintEvent*) + 32.81% 0.03% konsole libQt6Gui.so.6.10.3 [.] QBackingStore::beginPaint(QRegion const&) + 32.78% 0.00% konsole libQt6WaylandClient.so.6.10.3 [.] QtWaylandClient::QWaylandShmBackingStore::beginPaint(QRegion const&) + 16.03% 0.57% konsole libkonsoleprivate.so.26.04.0 [.] Konsole::TerminalPainter::drawContents(Konsole::Character*, QPainter&, QRect const&, bool, int, bool, QList<Konso + 11.89% 0.07% konsole libkonsoleprivate.so.26.04.0 [.] Konsole::TerminalPainter::drawTextCharacters(QPainter&, QRect const&, QString const&, Konsole::Character, QColor + 11.30% 0.12% konsole libQt6Gui.so.6.10.3 [.] QPainter::drawText(QPointF const&, QString const&, int, int) + 7.77% 0.00% Thread (pooled) libc.so.6 [.] __GI___clone3 + 7.77% 0.00% Thread (pooled) libc.so.6 [.] start_thread + 7.77% 0.00% Thread (pooled) libQt6Core.so.6.10.3 [.] QThreadPrivate::start(void*) + 7.70% 0.24% Thread (pooled) libQt6Core.so.6.10.3 [.] QThreadPoolThread::run() + 6.72% 0.02% konsole libQt6Widgets.so.6.10.3 [.] QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, + 6.48% 0.02% konsole libkonsoleprivate.so.26.04.0 [.] Konsole::TerminalScrollBar::paintEvent(QPaintEvent*) + 6.38% 0.01% konsole libQt6Widgets.so.6.10.3 [.] QScrollBar::paintEvent(QPaintEvent*) + 6.13% 0.01% konsole breeze6.so [.] Breeze::Style::drawComplexControl(QStyle::ComplexControl, QStyleOptionComplex const*, QPainter*, QWidget const*) + 6.10% 0.04% konsole breeze6.so [.] Breeze::Style::drawScrollBarComplexControl(QStyleOptionComplex const*, QPainter*, QWidget const*) const + 5.43% 0.03% konsole libQt6Widgets.so.6.10.3 [.] QCommonStyle::drawComplexControl(QStyle::ComplexControl, QStyleOptionComplex const*, QPainter*, QWidget const*) c + 5.40% 0.10% konsole libQt6Gui.so.6.10.3 [.] QPainterPrivate::drawTextItem(QPointF const&, QTextItem const&, QTextEngine*) + 5.31% 0.00% konsole breeze6.so [.] Breeze::Style::drawControl(QStyle::ControlElement, QStyleOption const*, QPainter*, QWidget const*) const + 5.28% 0.00% konsole breeze6.so [.] Breeze::Style::drawScrollBarSliderControl(QStyleOption const*, QPainter*, QWidget const*) const + 5.23% 0.02% konsole breeze6.so [.] Breeze::Style::drawScrollBarSliderControl(QStyleOption const*, QPainter*, QWidget const*) const [clone .part.0] + 5.12% 0.10% konsole libQt6Gui.so.6.10.3 [.] QRasterPaintEngine::drawTextItem(QPointF const&, QTextItem const&) + 4.93% 0.00% konsole libQt6Gui.so.6.10.3 [.] QPaintEngineEx::drawRoundedRect(QRectF const&, double, double, Qt::SizeMode) + 4.91% 0.18% Thread (pooled) libQt6Gui.so.6.10.3 [.] QRunnable::QGenericRunnable::Helper<blend_color_argb(int, QT_FT_Span_ const*, void*)::{lambda()#1}>::impl(QRunnab 发现 qt_memfillXX_avx2 这个函数的 cpu 占用有 63.13%,而在 fedora 42 上用 perf record 分析 cpu 占用压根就没采集到这个函数,感觉应该是 fedora 44 的 bug ,我想给 fedora 反馈这个 bug 但不知道要怎么搞,有 v 友能帮我给 fedora 反馈一下吗?
fedora 42 在 konsole 打字时 konsole 进程的 cpu 占用是正常的,在按着按键不松的情况下连续输入同一个字符 konsole 进程的 cpu 占用只有百分之十几,升级到 fedora 44 后就变成将近百分之百了,我用 perf record 分析了一下 cpu 占用高的原因,结果如下: Samples: 12K of event 'cpu_core/cycles/P', Event count (approx.): 10384837753 Children Self Command Shared Object Symbol + 91.73% 0.00% konsole konsole [.] _start + 91.73% 0.00% konsole libc.so.6 [.] __libc_start_main@@GLIBC_2.34 + 91.73% 0.00% konsole libc.so.6 [.] __libc_start_call_main + 91.73% 0.00% konsole konsole [.] main + 91.73% 0.00% konsole libQt6Core.so.6.10.3 [.] QCoreApplication::exec() + 91.71% 0.02% konsole libQt6Core.so.6.10.3 [.] QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 91.70% 0.00% konsole libQt6Core.so.6.10.3 [.] QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 91.39% 0.00% konsole libglib-2.0.so.0.8800.0 [.] g_main_context_iteration + 91.38% 0.01% konsole libglib-2.0.so.0.8800.0 [.] g_main_context_iterate_unlocked.isra.0 + 91.25% 0.01% konsole libglib-2.0.so.0.8800.0 [.] g_main_context_dispatch_unlocked.lto_priv.0 + 91.05% 0.02% konsole libQt6Core.so.6.10.3 [.] QCoreApplication::notifyInternal2(QObject*, QEvent*) + 90.96% 0.01% konsole libQt6Widgets.so.6.10.3 [.] QApplicationPrivate::notify_helper(QObject*, QEvent*) + 89.40% 0.02% konsole libQt6Widgets.so.6.10.3 [.] QWidget::event(QEvent*) + 89.35% 0.00% konsole libQt6Core.so.6.10.3 [.] postEventSourceDispatch(_GSource*, int (*)(void*), void*) + 89.35% 0.02% konsole libQt6Core.so.6.10.3 [.] QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) + 89.09% 0.00% konsole libKF6XmlGui.so.6.25.0 [.] KXmlGuiWindow::event(QEvent*) + 88.94% 0.01% konsole libQt6Widgets.so.6.10.3 [.] QWidgetRepaintManager::paintAndFlush() + 64.37% 63.13% konsole libQt6Gui.so.6.10.3 [.] qt_memfillXX_avx2(unsigned char*, long long __vector(4), long long) + 64.37% 0.00% konsole libQt6Gui.so.6.10.3 [.] QPainter::fillRect(QRect const&, QColor const&) + 64.37% 0.00% konsole libQt6Gui.so.6.10.3 [.] QRasterPaintEngine::fillRect(QRectF const&, QSpanData*) + 55.10% 0.00% konsole libQt6Widgets.so.6.10.3 [.] QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, + 54.99% 0.02% konsole libQt6Widgets.so.6.10.3 [.] QWidgetPrivate::sendPaintEvent(QRegion const&) + 48.05% 0.03% konsole libkonsoleprivate.so.26.04.0 [.] Konsole::TerminalDisplay::paintEvent(QPaintEvent*) + 32.81% 0.03% konsole libQt6Gui.so.6.10.3 [.] QBackingStore::beginPaint(QRegion const&) + 32.78% 0.00% konsole libQt6WaylandClient.so.6.10.3 [.] QtWaylandClient::QWaylandShmBackingStore::beginPaint(QRegion const&) + 16.03% 0.57% konsole libkonsoleprivate.so.26.04.0 [.] Konsole::TerminalPainter::drawContents(Konsole::Character*, QPainter&, QRect const&, bool, int, bool, QList<Konso + 11.89% 0.07% konsole libkonsoleprivate.so.26.04.0 [.] Konsole::TerminalPainter::drawTextCharacters(QPainter&, QRect const&, QString const&, Konsole::Character, QColor + 11.30% 0.12% konsole libQt6Gui.so.6.10.3 [.] QPainter::drawText(QPointF const&, QString const&, int, int) + 7.77% 0.00% Thread (pooled) libc.so.6 [.] __GI___clone3 + 7.77% 0.00% Thread (pooled) libc.so.6 [.] start_thread + 7.77% 0.00% Thread (pooled) libQt6Core.so.6.10.3 [.] QThreadPrivate::start(void*) + 7.70% 0.24% Thread (pooled) libQt6Core.so.6.10.3 [.] QThreadPoolThread::run() + 6.72% 0.02% konsole libQt6Widgets.so.6.10.3 [.] QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, + 6.48% 0.02% konsole libkonsoleprivate.so.26.04.0 [.] Konsole::TerminalScrollBar::paintEvent(QPaintEvent*) + 6.38% 0.01% konsole libQt6Widgets.so.6.10.3 [.] QScrollBar::paintEvent(QPaintEvent*) + 6.13% 0.01% konsole breeze6.so [.] Breeze::Style::drawComplexControl(QStyle::ComplexControl, QStyleOptionComplex const*, QPainter*, QWidget const*) + 6.10% 0.04% konsole breeze6.so [.] Breeze::Style::drawScrollBarComplexControl(QStyleOptionComplex const*, QPainter*, QWidget const*) const + 5.43% 0.03% konsole libQt6Widgets.so.6.10.3 [.] QCommonStyle::drawComplexControl(QStyle::ComplexControl, QStyleOptionComplex const*, QPainter*, QWidget const*) c + 5.40% 0.10% konsole libQt6Gui.so.6.10.3 [.] QPainterPrivate::drawTextItem(QPointF const&, QTextItem const&, QTextEngine*) + 5.31% 0.00% konsole breeze6.so [.] Breeze::Style::drawControl(QStyle::ControlElement, QStyleOption const*, QPainter*, QWidget const*) const + 5.28% 0.00% konsole breeze6.so [.] Breeze::Style::drawScrollBarSliderControl(QStyleOption const*, QPainter*, QWidget const*) const + 5.23% 0.02% konsole breeze6.so [.] Breeze::Style::drawScrollBarSliderControl(QStyleOption const*, QPainter*, QWidget const*) const [clone .part.0] + 5.12% 0.10% konsole libQt6Gui.so.6.10.3 [.] QRasterPaintEngine::drawTextItem(QPointF const&, QTextItem const&) + 4.93% 0.00% konsole libQt6Gui.so.6.10.3 [.] QPaintEngineEx::drawRoundedRect(QRectF const&, double, double, Qt::SizeMode) + 4.91% 0.18% Thread (pooled) libQt6Gui.so.6.10.3 [.] QRunnable::QGenericRunnable::Helper<blend_color_argb(int, QT_FT_Span_ const*, void*)::{lambda()#1}>::impl(QRunnab 发现 qt_memfillXX_avx2 这个函数的 cpu 占用有 63.13%,而在 fedora 42 上用 perf record 分析 cpu 占用压根就没采集到这个函数,感觉应该是 fedora 44 的 bug ,我想给 fedora 反馈这个 bug 但不知道要怎么搞,有 v 友能帮我给 fedora 反馈一下吗?
fedora 42 在 konsole 打字时 konsole 进程的 cpu 占用是正常的,在按着按键不松的情况下连续输入同一个字符 konsole 进程的 cpu 占用只有百分之十几,升级到 fedora 44 后就变成将近百分之百了,我用 perf record 分析了一下 cpu 占用高的原因,结果如下: Samples: 12K of event 'cpu_core/cycles/P', Event count (approx.): 10384837753 Children Self Command Shared Object Symbol + 91.73% 0.00% konsole konsole [.] _start + 91.73% 0.00% konsole libc.so.6 [.] __libc_start_main@@GLIBC_2.34 + 91.73% 0.00% konsole libc.so.6 [.] __libc_start_call_main + 91.73% 0.00% konsole konsole [.] main + 91.73% 0.00% konsole libQt6Core.so.6.10.3 [.] QCoreApplication::exec() + 91.71% 0.02% konsole libQt6Core.so.6.10.3 [.] QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 91.70% 0.00% konsole libQt6Core.so.6.10.3 [.] QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 91.39% 0.00% konsole libglib-2.0.so.0.8800.0 [.] g_main_context_iteration + 91.38% 0.01% konsole libglib-2.0.so.0.8800.0 [.] g_main_context_iterate_unlocked.isra.0 + 91.25% 0.01% konsole libglib-2.0.so.0.8800.0 [.] g_main_context_dispatch_unlocked.lto_priv.0 + 91.05% 0.02% konsole libQt6Core.so.6.10.3 [.] QCoreApplication::notifyInternal2(QObject*, QEvent*) + 90.96% 0.01% konsole libQt6Widgets.so.6.10.3 [.] QApplicationPrivate::notify_helper(QObject*, QEvent*) + 89.40% 0.02% konsole libQt6Widgets.so.6.10.3 [.] QWidget::event(QEvent*) + 89.35% 0.00% konsole libQt6Core.so.6.10.3 [.] postEventSourceDispatch(_GSource*, int (*)(void*), void*) + 89.35% 0.02% konsole libQt6Core.so.6.10.3 [.] QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) + 89.09% 0.00% konsole libKF6XmlGui.so.6.25.0 [.] KXmlGuiWindow::event(QEvent*) + 88.94% 0.01% konsole libQt6Widgets.so.6.10.3 [.] QWidgetRepaintManager::paintAndFlush() + 64.37% 63.13% konsole libQt6Gui.so.6.10.3 [.] qt_memfillXX_avx2(unsigned char*, long long __vector(4), long long) + 64.37% 0.00% konsole libQt6Gui.so.6.10.3 [.] QPainter::fillRect(QRect const&, QColor const&) + 64.37% 0.00% konsole libQt6Gui.so.6.10.3 [.] QRasterPaintEngine::fillRect(QRectF const&, QSpanData*) + 55.10% 0.00% konsole libQt6Widgets.so.6.10.3 [.] QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, + 54.99% 0.02% konsole libQt6Widgets.so.6.10.3 [.] QWidgetPrivate::sendPaintEvent(QRegion const&) + 48.05% 0.03% konsole libkonsoleprivate.so.26.04.0 [.] Konsole::TerminalDisplay::paintEvent(QPaintEvent*) + 32.81% 0.03% konsole libQt6Gui.so.6.10.3 [.] QBackingStore::beginPaint(QRegion const&) + 32.78% 0.00% konsole libQt6WaylandClient.so.6.10.3 [.] QtWaylandClient::QWaylandShmBackingStore::beginPaint(QRegion const&) + 16.03% 0.57% konsole libkonsoleprivate.so.26.04.0 [.] Konsole::TerminalPainter::drawContents(Konsole::Character*, QPainter&, QRect const&, bool, int, bool, QList<Konso + 11.89% 0.07% konsole libkonsoleprivate.so.26.04.0 [.] Konsole::TerminalPainter::drawTextCharacters(QPainter&, QRect const&, QString const&, Konsole::Character, QColor + 11.30% 0.12% konsole libQt6Gui.so.6.10.3 [.] QPainter::drawText(QPointF const&, QString const&, int, int) + 7.77% 0.00% Thread (pooled) libc.so.6 [.] __GI___clone3 + 7.77% 0.00% Thread (pooled) libc.so.6 [.] start_thread + 7.77% 0.00% Thread (pooled) libQt6Core.so.6.10.3 [.] QThreadPrivate::start(void*) + 7.70% 0.24% Thread (pooled) libQt6Core.so.6.10.3 [.] QThreadPoolThread::run() + 6.72% 0.02% konsole libQt6Widgets.so.6.10.3 [.] QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, + 6.48% 0.02% konsole libkonsoleprivate.so.26.04.0 [.] Konsole::TerminalScrollBar::paintEvent(QPaintEvent*) + 6.38% 0.01% konsole libQt6Widgets.so.6.10.3 [.] QScrollBar::paintEvent(QPaintEvent*) + 6.13% 0.01% konsole breeze6.so [.] Breeze::Style::drawComplexControl(QStyle::ComplexControl, QStyleOptionComplex const*, QPainter*, QWidget const*) + 6.10% 0.04% konsole breeze6.so [.] Breeze::Style::drawScrollBarComplexControl(QStyleOptionComplex const*, QPainter*, QWidget const*) const + 5.43% 0.03% konsole libQt6Widgets.so.6.10.3 [.] QCommonStyle::drawComplexControl(QStyle::ComplexControl, QStyleOptionComplex const*, QPainter*, QWidget const*) c + 5.40% 0.10% konsole libQt6Gui.so.6.10.3 [.] QPainterPrivate::drawTextItem(QPointF const&, QTextItem const&, QTextEngine*) + 5.31% 0.00% konsole breeze6.so [.] Breeze::Style::drawControl(QStyle::ControlElement, QStyleOption const*, QPainter*, QWidget const*) const + 5.28% 0.00% konsole breeze6.so [.] Breeze::Style::drawScrollBarSliderControl(QStyleOption const*, QPainter*, QWidget const*) const + 5.23% 0.02% konsole breeze6.so [.] Breeze::Style::drawScrollBarSliderControl(QStyleOption const*, QPainter*, QWidget const*) const [clone .part.0] + 5.12% 0.10% konsole libQt6Gui.so.6.10.3 [.] QRasterPaintEngine::drawTextItem(QPointF const&, QTextItem const&) + 4.93% 0.00% konsole libQt6Gui.so.6.10.3 [.] QPaintEngineEx::drawRoundedRect(QRectF const&, double, double, Qt::SizeMode) + 4.91% 0.18% Thread (pooled) libQt6Gui.so.6.10.3 [.] QRunnable::QGenericRunnable::Helper<blend_color_argb(int, QT_FT_Span_ const*, void*)::{lambda()#1}>::impl(QRunnab 发现 qt_memfillXX_avx2 这个函数的 cpu 占用有 63.13%,而在 fedora 42 上用 perf record 分析 cpu 占用压根就没采集到这个函数,感觉应该是 fedora 44 的 bug ,我想给 fedora 反馈这个 bug 但不知道要怎么搞,有 v 友能帮我给 fedora 反馈一下吗?
fedora 42 在 konsole 打字时 konsole 进程的 cpu 占用是正常的,在按着按键不松的情况下连续输入同一个字符 konsole 进程的 cpu 占用只有百分之十几,升级到 fedora 44 后就变成将近百分之百了,我用 perf record 分析了一下 cpu 占用高的原因,结果如下: Samples: 12K of event 'cpu_core/cycles/P', Event count (approx.): 10384837753 Children Self Command Shared Object Symbol + 91.73% 0.00% konsole konsole [.] _start + 91.73% 0.00% konsole libc.so.6 [.] __libc_start_main@@GLIBC_2.34 + 91.73% 0.00% konsole libc.so.6 [.] __libc_start_call_main + 91.73% 0.00% konsole konsole [.] main + 91.73% 0.00% konsole libQt6Core.so.6.10.3 [.] QCoreApplication::exec() + 91.71% 0.02% konsole libQt6Core.so.6.10.3 [.] QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 91.70% 0.00% konsole libQt6Core.so.6.10.3 [.] QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 91.39% 0.00% konsole libglib-2.0.so.0.8800.0 [.] g_main_context_iteration + 91.38% 0.01% konsole libglib-2.0.so.0.8800.0 [.] g_main_context_iterate_unlocked.isra.0 + 91.25% 0.01% konsole libglib-2.0.so.0.8800.0 [.] g_main_context_dispatch_unlocked.lto_priv.0 + 91.05% 0.02% konsole libQt6Core.so.6.10.3 [.] QCoreApplication::notifyInternal2(QObject*, QEvent*) + 90.96% 0.01% konsole libQt6Widgets.so.6.10.3 [.] QApplicationPrivate::notify_helper(QObject*, QEvent*) + 89.40% 0.02% konsole libQt6Widgets.so.6.10.3 [.] QWidget::event(QEvent*) + 89.35% 0.00% konsole libQt6Core.so.6.10.3 [.] postEventSourceDispatch(_GSource*, int (*)(void*), void*) + 89.35% 0.02% konsole libQt6Core.so.6.10.3 [.] QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) + 89.09% 0.00% konsole libKF6XmlGui.so.6.25.0 [.] KXmlGuiWindow::event(QEvent*) + 88.94% 0.01% konsole libQt6Widgets.so.6.10.3 [.] QWidgetRepaintManager::paintAndFlush() + 64.37% 63.13% konsole libQt6Gui.so.6.10.3 [.] qt_memfillXX_avx2(unsigned char*, long long __vector(4), long long) + 64.37% 0.00% konsole libQt6Gui.so.6.10.3 [.] QPainter::fillRect(QRect const&, QColor const&) + 64.37% 0.00% konsole libQt6Gui.so.6.10.3 [.] QRasterPaintEngine::fillRect(QRectF const&, QSpanData*) + 55.10% 0.00% konsole libQt6Widgets.so.6.10.3 [.] QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, + 54.99% 0.02% konsole libQt6Widgets.so.6.10.3 [.] QWidgetPrivate::sendPaintEvent(QRegion const&) + 48.05% 0.03% konsole libkonsoleprivate.so.26.04.0 [.] Konsole::TerminalDisplay::paintEvent(QPaintEvent*) + 32.81% 0.03% konsole libQt6Gui.so.6.10.3 [.] QBackingStore::beginPaint(QRegion const&) + 32.78% 0.00% konsole libQt6WaylandClient.so.6.10.3 [.] QtWaylandClient::QWaylandShmBackingStore::beginPaint(QRegion const&) + 16.03% 0.57% konsole libkonsoleprivate.so.26.04.0 [.] Konsole::TerminalPainter::drawContents(Konsole::Character*, QPainter&, QRect const&, bool, int, bool, QList<Konso + 11.89% 0.07% konsole libkonsoleprivate.so.26.04.0 [.] Konsole::TerminalPainter::drawTextCharacters(QPainter&, QRect const&, QString const&, Konsole::Character, QColor + 11.30% 0.12% konsole libQt6Gui.so.6.10.3 [.] QPainter::drawText(QPointF const&, QString const&, int, int) + 7.77% 0.00% Thread (pooled) libc.so.6 [.] __GI___clone3 + 7.77% 0.00% Thread (pooled) libc.so.6 [.] start_thread + 7.77% 0.00% Thread (pooled) libQt6Core.so.6.10.3 [.] QThreadPrivate::start(void*) + 7.70% 0.24% Thread (pooled) libQt6Core.so.6.10.3 [.] QThreadPoolThread::run() + 6.72% 0.02% konsole libQt6Widgets.so.6.10.3 [.] QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, + 6.48% 0.02% konsole libkonsoleprivate.so.26.04.0 [.] Konsole::TerminalScrollBar::paintEvent(QPaintEvent*) + 6.38% 0.01% konsole libQt6Widgets.so.6.10.3 [.] QScrollBar::paintEvent(QPaintEvent*) + 6.13% 0.01% konsole breeze6.so [.] Breeze::Style::drawComplexControl(QStyle::ComplexControl, QStyleOptionComplex const*, QPainter*, QWidget const*) + 6.10% 0.04% konsole breeze6.so [.] Breeze::Style::drawScrollBarComplexControl(QStyleOptionComplex const*, QPainter*, QWidget const*) const + 5.43% 0.03% konsole libQt6Widgets.so.6.10.3 [.] QCommonStyle::drawComplexControl(QStyle::ComplexControl, QStyleOptionComplex const*, QPainter*, QWidget const*) c + 5.40% 0.10% konsole libQt6Gui.so.6.10.3 [.] QPainterPrivate::drawTextItem(QPointF const&, QTextItem const&, QTextEngine*) + 5.31% 0.00% konsole breeze6.so [.] Breeze::Style::drawControl(QStyle::ControlElement, QStyleOption const*, QPainter*, QWidget const*) const + 5.28% 0.00% konsole breeze6.so [.] Breeze::Style::drawScrollBarSliderControl(QStyleOption const*, QPainter*, QWidget const*) const + 5.23% 0.02% konsole breeze6.so [.] Breeze::Style::drawScrollBarSliderControl(QStyleOption const*, QPainter*, QWidget const*) const [clone .part.0] + 5.12% 0.10% konsole libQt6Gui.so.6.10.3 [.] QRasterPaintEngine::drawTextItem(QPointF const&, QTextItem const&) + 4.93% 0.00% konsole libQt6Gui.so.6.10.3 [.] QPaintEngineEx::drawRoundedRect(QRectF const&, double, double, Qt::SizeMode) + 4.91% 0.18% Thread (pooled) libQt6Gui.so.6.10.3 [.] QRunnable::QGenericRunnable::Helper<blend_color_argb(int, QT_FT_Span_ const*, void*)::{lambda()#1}>::impl(QRunnab 发现 qt_memfillXX_avx2 这个函数的 cpu 占用有 63.13%,而在 fedora 42 上用 perf record 分析 cpu 占用压根就没采集到这个函数,感觉应该是 fedora 44 的 bug ,我想给 fedora 反馈这个 bug 但不知道要怎么搞,有 v 友能帮我给 fedora 反馈一下吗?
fedora 42 在 konsole 打字时 konsole 进程的 cpu 占用是正常的,在按着按键不松的情况下连续输入同一个字符 konsole 进程的 cpu 占用只有百分之十几,升级到 fedora 44 后就变成将近百分之百了,我用 perf record 分析了一下 cpu 占用高的原因,结果如下: Samples: 12K of event 'cpu_core/cycles/P', Event count (approx.): 10384837753 Children Self Command Shared Object Symbol + 91.73% 0.00% konsole konsole [.] _start + 91.73% 0.00% konsole libc.so.6 [.] __libc_start_main@@GLIBC_2.34 + 91.73% 0.00% konsole libc.so.6 [.] __libc_start_call_main + 91.73% 0.00% konsole konsole [.] main + 91.73% 0.00% konsole libQt6Core.so.6.10.3 [.] QCoreApplication::exec() + 91.71% 0.02% konsole libQt6Core.so.6.10.3 [.] QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 91.70% 0.00% konsole libQt6Core.so.6.10.3 [.] QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 91.39% 0.00% konsole libglib-2.0.so.0.8800.0 [.] g_main_context_iteration + 91.38% 0.01% konsole libglib-2.0.so.0.8800.0 [.] g_main_context_iterate_unlocked.isra.0 + 91.25% 0.01% konsole libglib-2.0.so.0.8800.0 [.] g_main_context_dispatch_unlocked.lto_priv.0 + 91.05% 0.02% konsole libQt6Core.so.6.10.3 [.] QCoreApplication::notifyInternal2(QObject*, QEvent*) + 90.96% 0.01% konsole libQt6Widgets.so.6.10.3 [.] QApplicationPrivate::notify_helper(QObject*, QEvent*) + 89.40% 0.02% konsole libQt6Widgets.so.6.10.3 [.] QWidget::event(QEvent*) + 89.35% 0.00% konsole libQt6Core.so.6.10.3 [.] postEventSourceDispatch(_GSource*, int (*)(void*), void*) + 89.35% 0.02% konsole libQt6Core.so.6.10.3 [.] QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) + 89.09% 0.00% konsole libKF6XmlGui.so.6.25.0 [.] KXmlGuiWindow::event(QEvent*) + 88.94% 0.01% konsole libQt6Widgets.so.6.10.3 [.] QWidgetRepaintManager::paintAndFlush() + 64.37% 63.13% konsole libQt6Gui.so.6.10.3 [.] qt_memfillXX_avx2(unsigned char*, long long __vector(4), long long) + 64.37% 0.00% konsole libQt6Gui.so.6.10.3 [.] QPainter::fillRect(QRect const&, QColor const&) + 64.37% 0.00% konsole libQt6Gui.so.6.10.3 [.] QRasterPaintEngine::fillRect(QRectF const&, QSpanData*) + 55.10% 0.00% konsole libQt6Widgets.so.6.10.3 [.] QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, + 54.99% 0.02% konsole libQt6Widgets.so.6.10.3 [.] QWidgetPrivate::sendPaintEvent(QRegion const&) + 48.05% 0.03% konsole libkonsoleprivate.so.26.04.0 [.] Konsole::TerminalDisplay::paintEvent(QPaintEvent*) + 32.81% 0.03% konsole libQt6Gui.so.6.10.3 [.] QBackingStore::beginPaint(QRegion const&) + 32.78% 0.00% konsole libQt6WaylandClient.so.6.10.3 [.] QtWaylandClient::QWaylandShmBackingStore::beginPaint(QRegion const&) + 16.03% 0.57% konsole libkonsoleprivate.so.26.04.0 [.] Konsole::TerminalPainter::drawContents(Konsole::Character*, QPainter&, QRect const&, bool, int, bool, QList<Konso + 11.89% 0.07% konsole libkonsoleprivate.so.26.04.0 [.] Konsole::TerminalPainter::drawTextCharacters(QPainter&, QRect const&, QString const&, Konsole::Character, QColor + 11.30% 0.12% konsole libQt6Gui.so.6.10.3 [.] QPainter::drawText(QPointF const&, QString const&, int, int) + 7.77% 0.00% Thread (pooled) libc.so.6 [.] __GI___clone3 + 7.77% 0.00% Thread (pooled) libc.so.6 [.] start_thread + 7.77% 0.00% Thread (pooled) libQt6Core.so.6.10.3 [.] QThreadPrivate::start(void*) + 7.70% 0.24% Thread (pooled) libQt6Core.so.6.10.3 [.] QThreadPoolThread::run() + 6.72% 0.02% konsole libQt6Widgets.so.6.10.3 [.] QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, + 6.48% 0.02% konsole libkonsoleprivate.so.26.04.0 [.] Konsole::TerminalScrollBar::paintEvent(QPaintEvent*) + 6.38% 0.01% konsole libQt6Widgets.so.6.10.3 [.] QScrollBar::paintEvent(QPaintEvent*) + 6.13% 0.01% konsole breeze6.so [.] Breeze::Style::drawComplexControl(QStyle::ComplexControl, QStyleOptionComplex const*, QPainter*, QWidget const*) + 6.10% 0.04% konsole breeze6.so [.] Breeze::Style::drawScrollBarComplexControl(QStyleOptionComplex const*, QPainter*, QWidget const*) const + 5.43% 0.03% konsole libQt6Widgets.so.6.10.3 [.] QCommonStyle::drawComplexControl(QStyle::ComplexControl, QStyleOptionComplex const*, QPainter*, QWidget const*) c + 5.40% 0.10% konsole libQt6Gui.so.6.10.3 [.] QPainterPrivate::drawTextItem(QPointF const&, QTextItem const&, QTextEngine*) + 5.31% 0.00% konsole breeze6.so [.] Breeze::Style::drawControl(QStyle::ControlElement, QStyleOption const*, QPainter*, QWidget const*) const + 5.28% 0.00% konsole breeze6.so [.] Breeze::Style::drawScrollBarSliderControl(QStyleOption const*, QPainter*, QWidget const*) const + 5.23% 0.02% konsole breeze6.so [.] Breeze::Style::drawScrollBarSliderControl(QStyleOption const*, QPainter*, QWidget const*) const [clone .part.0] + 5.12% 0.10% konsole libQt6Gui.so.6.10.3 [.] QRasterPaintEngine::drawTextItem(QPointF const&, QTextItem const&) + 4.93% 0.00% konsole libQt6Gui.so.6.10.3 [.] QPaintEngineEx::drawRoundedRect(QRectF const&, double, double, Qt::SizeMode) + 4.91% 0.18% Thread (pooled) libQt6Gui.so.6.10.3 [.] QRunnable::QGenericRunnable::Helper<blend_color_argb(int, QT_FT_Span_ const*, void*)::{lambda()#1}>::impl(QRunnab 发现 qt_memfillXX_avx2 这个函数的 cpu 占用有 63.13%,而在 fedora 42 上用 perf record 分析 cpu 占用压根就没采集到这个函数,感觉应该是 fedora 44 的 bug ,我想给 fedora 反馈这个 bug 但不知道要怎么搞,有 v 友能帮我给 fedora 反馈一下吗?
fedora 42 在 konsole 打字时 konsole 进程的 cpu 占用是正常的,在按着按键不松的情况下连续输入同一个字符 konsole 进程的 cpu 占用只有百分之十几,升级到 fedora 44 后就变成将近百分之百了,我用 perf record 分析了一下 cpu 占用高的原因,结果如下: Samples: 12K of event 'cpu_core/cycles/P', Event count (approx.): 10384837753 Children Self Command Shared Object Symbol + 91.73% 0.00% konsole konsole [.] _start + 91.73% 0.00% konsole libc.so.6 [.] __libc_start_main@@GLIBC_2.34 + 91.73% 0.00% konsole libc.so.6 [.] __libc_start_call_main + 91.73% 0.00% konsole konsole [.] main + 91.73% 0.00% konsole libQt6Core.so.6.10.3 [.] QCoreApplication::exec() + 91.71% 0.02% konsole libQt6Core.so.6.10.3 [.] QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 91.70% 0.00% konsole libQt6Core.so.6.10.3 [.] QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 91.39% 0.00% konsole libglib-2.0.so.0.8800.0 [.] g_main_context_iteration + 91.38% 0.01% konsole libglib-2.0.so.0.8800.0 [.] g_main_context_iterate_unlocked.isra.0 + 91.25% 0.01% konsole libglib-2.0.so.0.8800.0 [.] g_main_context_dispatch_unlocked.lto_priv.0 + 91.05% 0.02% konsole libQt6Core.so.6.10.3 [.] QCoreApplication::notifyInternal2(QObject*, QEvent*) + 90.96% 0.01% konsole libQt6Widgets.so.6.10.3 [.] QApplicationPrivate::notify_helper(QObject*, QEvent*) + 89.40% 0.02% konsole libQt6Widgets.so.6.10.3 [.] QWidget::event(QEvent*) + 89.35% 0.00% konsole libQt6Core.so.6.10.3 [.] postEventSourceDispatch(_GSource*, int (*)(void*), void*) + 89.35% 0.02% konsole libQt6Core.so.6.10.3 [.] QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) + 89.09% 0.00% konsole libKF6XmlGui.so.6.25.0 [.] KXmlGuiWindow::event(QEvent*) + 88.94% 0.01% konsole libQt6Widgets.so.6.10.3 [.] QWidgetRepaintManager::paintAndFlush() + 64.37% 63.13% konsole libQt6Gui.so.6.10.3 [.] qt_memfillXX_avx2(unsigned char*, long long __vector(4), long long) + 64.37% 0.00% konsole libQt6Gui.so.6.10.3 [.] QPainter::fillRect(QRect const&, QColor const&) + 64.37% 0.00% konsole libQt6Gui.so.6.10.3 [.] QRasterPaintEngine::fillRect(QRectF const&, QSpanData*) + 55.10% 0.00% konsole libQt6Widgets.so.6.10.3 [.] QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, + 54.99% 0.02% konsole libQt6Widgets.so.6.10.3 [.] QWidgetPrivate::sendPaintEvent(QRegion const&) + 48.05% 0.03% konsole libkonsoleprivate.so.26.04.0 [.] Konsole::TerminalDisplay::paintEvent(QPaintEvent*) + 32.81% 0.03% konsole libQt6Gui.so.6.10.3 [.] QBackingStore::beginPaint(QRegion const&) + 32.78% 0.00% konsole libQt6WaylandClient.so.6.10.3 [.] QtWaylandClient::QWaylandShmBackingStore::beginPaint(QRegion const&) + 16.03% 0.57% konsole libkonsoleprivate.so.26.04.0 [.] Konsole::TerminalPainter::drawContents(Konsole::Character*, QPainter&, QRect const&, bool, int, bool, QList<Konso + 11.89% 0.07% konsole libkonsoleprivate.so.26.04.0 [.] Konsole::TerminalPainter::drawTextCharacters(QPainter&, QRect const&, QString const&, Konsole::Character, QColor + 11.30% 0.12% konsole libQt6Gui.so.6.10.3 [.] QPainter::drawText(QPointF const&, QString const&, int, int) + 7.77% 0.00% Thread (pooled) libc.so.6 [.] __GI___clone3 + 7.77% 0.00% Thread (pooled) libc.so.6 [.] start_thread + 7.77% 0.00% Thread (pooled) libQt6Core.so.6.10.3 [.] QThreadPrivate::start(void*) + 7.70% 0.24% Thread (pooled) libQt6Core.so.6.10.3 [.] QThreadPoolThread::run() + 6.72% 0.02% konsole libQt6Widgets.so.6.10.3 [.] QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, + 6.48% 0.02% konsole libkonsoleprivate.so.26.04.0 [.] Konsole::TerminalScrollBar::paintEvent(QPaintEvent*) + 6.38% 0.01% konsole libQt6Widgets.so.6.10.3 [.] QScrollBar::paintEvent(QPaintEvent*) + 6.13% 0.01% konsole breeze6.so [.] Breeze::Style::drawComplexControl(QStyle::ComplexControl, QStyleOptionComplex const*, QPainter*, QWidget const*) + 6.10% 0.04% konsole breeze6.so [.] Breeze::Style::drawScrollBarComplexControl(QStyleOptionComplex const*, QPainter*, QWidget const*) const + 5.43% 0.03% konsole libQt6Widgets.so.6.10.3 [.] QCommonStyle::drawComplexControl(QStyle::ComplexControl, QStyleOptionComplex const*, QPainter*, QWidget const*) c + 5.40% 0.10% konsole libQt6Gui.so.6.10.3 [.] QPainterPrivate::drawTextItem(QPointF const&, QTextItem const&, QTextEngine*) + 5.31% 0.00% konsole breeze6.so [.] Breeze::Style::drawControl(QStyle::ControlElement, QStyleOption const*, QPainter*, QWidget const*) const + 5.28% 0.00% konsole breeze6.so [.] Breeze::Style::drawScrollBarSliderControl(QStyleOption const*, QPainter*, QWidget const*) const + 5.23% 0.02% konsole breeze6.so [.] Breeze::Style::drawScrollBarSliderControl(QStyleOption const*, QPainter*, QWidget const*) const [clone .part.0] + 5.12% 0.10% konsole libQt6Gui.so.6.10.3 [.] QRasterPaintEngine::drawTextItem(QPointF const&, QTextItem const&) + 4.93% 0.00% konsole libQt6Gui.so.6.10.3 [.] QPaintEngineEx::drawRoundedRect(QRectF const&, double, double, Qt::SizeMode) + 4.91% 0.18% Thread (pooled) libQt6Gui.so.6.10.3 [.] QRunnable::QGenericRunnable::Helper<blend_color_argb(int, QT_FT_Span_ const*, void*)::{lambda()#1}>::impl(QRunnab 发现 qt_memfillXX_avx2 这个函数的 cpu 占用有 63.13%,而在 fedora 42 上用 perf record 分析 cpu 占用压根就没采集到这个函数,感觉应该是 fedora 44 的 bug ,我想给 fedora 反馈这个 bug 但不知道要怎么搞,有 v 友能帮我给 fedora 反馈一下吗?
fedora 42 在 konsole 打字时 konsole 进程的 cpu 占用是正常的,在按着按键不松的情况下连续输入同一个字符 konsole 进程的 cpu 占用只有百分之十几,升级到 fedora 44 后就变成将近百分之百了,我用 perf record 分析了一下 cpu 占用高的原因,结果如下: Samples: 12K of event 'cpu_core/cycles/P', Event count (approx.): 10384837753 Children Self Command Shared Object Symbol + 91.73% 0.00% konsole konsole [.] _start + 91.73% 0.00% konsole libc.so.6 [.] __libc_start_main@@GLIBC_2.34 + 91.73% 0.00% konsole libc.so.6 [.] __libc_start_call_main + 91.73% 0.00% konsole konsole [.] main + 91.73% 0.00% konsole libQt6Core.so.6.10.3 [.] QCoreApplication::exec() + 91.71% 0.02% konsole libQt6Core.so.6.10.3 [.] QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 91.70% 0.00% konsole libQt6Core.so.6.10.3 [.] QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 91.39% 0.00% konsole libglib-2.0.so.0.8800.0 [.] g_main_context_iteration + 91.38% 0.01% konsole libglib-2.0.so.0.8800.0 [.] g_main_context_iterate_unlocked.isra.0 + 91.25% 0.01% konsole libglib-2.0.so.0.8800.0 [.] g_main_context_dispatch_unlocked.lto_priv.0 + 91.05% 0.02% konsole libQt6Core.so.6.10.3 [.] QCoreApplication::notifyInternal2(QObject*, QEvent*) + 90.96% 0.01% konsole libQt6Widgets.so.6.10.3 [.] QApplicationPrivate::notify_helper(QObject*, QEvent*) + 89.40% 0.02% konsole libQt6Widgets.so.6.10.3 [.] QWidget::event(QEvent*) + 89.35% 0.00% konsole libQt6Core.so.6.10.3 [.] postEventSourceDispatch(_GSource*, int (*)(void*), void*) + 89.35% 0.02% konsole libQt6Core.so.6.10.3 [.] QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) + 89.09% 0.00% konsole libKF6XmlGui.so.6.25.0 [.] KXmlGuiWindow::event(QEvent*) + 88.94% 0.01% konsole libQt6Widgets.so.6.10.3 [.] QWidgetRepaintManager::paintAndFlush() + 64.37% 63.13% konsole libQt6Gui.so.6.10.3 [.] qt_memfillXX_avx2(unsigned char*, long long __vector(4), long long) + 64.37% 0.00% konsole libQt6Gui.so.6.10.3 [.] QPainter::fillRect(QRect const&, QColor const&) + 64.37% 0.00% konsole libQt6Gui.so.6.10.3 [.] QRasterPaintEngine::fillRect(QRectF const&, QSpanData*) + 55.10% 0.00% konsole libQt6Widgets.so.6.10.3 [.] QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, + 54.99% 0.02% konsole libQt6Widgets.so.6.10.3 [.] QWidgetPrivate::sendPaintEvent(QRegion const&) + 48.05% 0.03% konsole libkonsoleprivate.so.26.04.0 [.] Konsole::TerminalDisplay::paintEvent(QPaintEvent*) + 32.81% 0.03% konsole libQt6Gui.so.6.10.3 [.] QBackingStore::beginPaint(QRegion const&) + 32.78% 0.00% konsole libQt6WaylandClient.so.6.10.3 [.] QtWaylandClient::QWaylandShmBackingStore::beginPaint(QRegion const&) + 16.03% 0.57% konsole libkonsoleprivate.so.26.04.0 [.] Konsole::TerminalPainter::drawContents(Konsole::Character*, QPainter&, QRect const&, bool, int, bool, QList<Konso + 11.89% 0.07% konsole libkonsoleprivate.so.26.04.0 [.] Konsole::TerminalPainter::drawTextCharacters(QPainter&, QRect const&, QString const&, Konsole::Character, QColor + 11.30% 0.12% konsole libQt6Gui.so.6.10.3 [.] QPainter::drawText(QPointF const&, QString const&, int, int) + 7.77% 0.00% Thread (pooled) libc.so.6 [.] __GI___clone3 + 7.77% 0.00% Thread (pooled) libc.so.6 [.] start_thread + 7.77% 0.00% Thread (pooled) libQt6Core.so.6.10.3 [.] QThreadPrivate::start(void*) + 7.70% 0.24% Thread (pooled) libQt6Core.so.6.10.3 [.] QThreadPoolThread::run() + 6.72% 0.02% konsole libQt6Widgets.so.6.10.3 [.] QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, + 6.48% 0.02% konsole libkonsoleprivate.so.26.04.0 [.] Konsole::TerminalScrollBar::paintEvent(QPaintEvent*) + 6.38% 0.01% konsole libQt6Widgets.so.6.10.3 [.] QScrollBar::paintEvent(QPaintEvent*) + 6.13% 0.01% konsole breeze6.so [.] Breeze::Style::drawComplexControl(QStyle::ComplexControl, QStyleOptionComplex const*, QPainter*, QWidget const*) + 6.10% 0.04% konsole breeze6.so [.] Breeze::Style::drawScrollBarComplexControl(QStyleOptionComplex const*, QPainter*, QWidget const*) const + 5.43% 0.03% konsole libQt6Widgets.so.6.10.3 [.] QCommonStyle::drawComplexControl(QStyle::ComplexControl, QStyleOptionComplex const*, QPainter*, QWidget const*) c + 5.40% 0.10% konsole libQt6Gui.so.6.10.3 [.] QPainterPrivate::drawTextItem(QPointF const&, QTextItem const&, QTextEngine*) + 5.31% 0.00% konsole breeze6.so [.] Breeze::Style::drawControl(QStyle::ControlElement, QStyleOption const*, QPainter*, QWidget const*) const + 5.28% 0.00% konsole breeze6.so [.] Breeze::Style::drawScrollBarSliderControl(QStyleOption const*, QPainter*, QWidget const*) const + 5.23% 0.02% konsole breeze6.so [.] Breeze::Style::drawScrollBarSliderControl(QStyleOption const*, QPainter*, QWidget const*) const [clone .part.0] + 5.12% 0.10% konsole libQt6Gui.so.6.10.3 [.] QRasterPaintEngine::drawTextItem(QPointF const&, QTextItem const&) + 4.93% 0.00% konsole libQt6Gui.so.6.10.3 [.] QPaintEngineEx::drawRoundedRect(QRectF const&, double, double, Qt::SizeMode) + 4.91% 0.18% Thread (pooled) libQt6Gui.so.6.10.3 [.] QRunnable::QGenericRunnable::Helper<blend_color_argb(int, QT_FT_Span_ const*, void*)::{lambda()#1}>::impl(QRunnab 发现 qt_memfillXX_avx2 这个函数的 cpu 占用有 63.13%,而在 fedora 42 上用 perf record 分析 cpu 占用压根就没采集到这个函数,感觉应该是 fedora 44 的 bug ,我想给 fedora 反馈这个 bug 但不知道要怎么搞,有 v 友能帮我给 fedora 反馈一下吗?
fedora 42 在 konsole 打字时 konsole 进程的 cpu 占用是正常的,在按着按键不松的情况下连续输入同一个字符 konsole 进程的 cpu 占用只有百分之十几,升级到 fedora 44 后就变成将近百分之百了,我用 perf record 分析了一下 cpu 占用高的原因,结果如下: Samples: 12K of event 'cpu_core/cycles/P', Event count (approx.): 10384837753 Children Self Command Shared Object Symbol + 91.73% 0.00% konsole konsole [.] _start + 91.73% 0.00% konsole libc.so.6 [.] __libc_start_main@@GLIBC_2.34 + 91.73% 0.00% konsole libc.so.6 [.] __libc_start_call_main + 91.73% 0.00% konsole konsole [.] main + 91.73% 0.00% konsole libQt6Core.so.6.10.3 [.] QCoreApplication::exec() + 91.71% 0.02% konsole libQt6Core.so.6.10.3 [.] QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 91.70% 0.00% konsole libQt6Core.so.6.10.3 [.] QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 91.39% 0.00% konsole libglib-2.0.so.0.8800.0 [.] g_main_context_iteration + 91.38% 0.01% konsole libglib-2.0.so.0.8800.0 [.] g_main_context_iterate_unlocked.isra.0 + 91.25% 0.01% konsole libglib-2.0.so.0.8800.0 [.] g_main_context_dispatch_unlocked.lto_priv.0 + 91.05% 0.02% konsole libQt6Core.so.6.10.3 [.] QCoreApplication::notifyInternal2(QObject*, QEvent*) + 90.96% 0.01% konsole libQt6Widgets.so.6.10.3 [.] QApplicationPrivate::notify_helper(QObject*, QEvent*) + 89.40% 0.02% konsole libQt6Widgets.so.6.10.3 [.] QWidget::event(QEvent*) + 89.35% 0.00% konsole libQt6Core.so.6.10.3 [.] postEventSourceDispatch(_GSource*, int (*)(void*), void*) + 89.35% 0.02% konsole libQt6Core.so.6.10.3 [.] QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) + 89.09% 0.00% konsole libKF6XmlGui.so.6.25.0 [.] KXmlGuiWindow::event(QEvent*) + 88.94% 0.01% konsole libQt6Widgets.so.6.10.3 [.] QWidgetRepaintManager::paintAndFlush() + 64.37% 63.13% konsole libQt6Gui.so.6.10.3 [.] qt_memfillXX_avx2(unsigned char*, long long __vector(4), long long) + 64.37% 0.00% konsole libQt6Gui.so.6.10.3 [.] QPainter::fillRect(QRect const&, QColor const&) + 64.37% 0.00% konsole libQt6Gui.so.6.10.3 [.] QRasterPaintEngine::fillRect(QRectF const&, QSpanData*) + 55.10% 0.00% konsole libQt6Widgets.so.6.10.3 [.] QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, + 54.99% 0.02% konsole libQt6Widgets.so.6.10.3 [.] QWidgetPrivate::sendPaintEvent(QRegion const&) + 48.05% 0.03% konsole libkonsoleprivate.so.26.04.0 [.] Konsole::TerminalDisplay::paintEvent(QPaintEvent*) + 32.81% 0.03% konsole libQt6Gui.so.6.10.3 [.] QBackingStore::beginPaint(QRegion const&) + 32.78% 0.00% konsole libQt6WaylandClient.so.6.10.3 [.] QtWaylandClient::QWaylandShmBackingStore::beginPaint(QRegion const&) + 16.03% 0.57% konsole libkonsoleprivate.so.26.04.0 [.] Konsole::TerminalPainter::drawContents(Konsole::Character*, QPainter&, QRect const&, bool, int, bool, QList<Konso + 11.89% 0.07% konsole libkonsoleprivate.so.26.04.0 [.] Konsole::TerminalPainter::drawTextCharacters(QPainter&, QRect const&, QString const&, Konsole::Character, QColor + 11.30% 0.12% konsole libQt6Gui.so.6.10.3 [.] QPainter::drawText(QPointF const&, QString const&, int, int) + 7.77% 0.00% Thread (pooled) libc.so.6 [.] __GI___clone3 + 7.77% 0.00% Thread (pooled) libc.so.6 [.] start_thread + 7.77% 0.00% Thread (pooled) libQt6Core.so.6.10.3 [.] QThreadPrivate::start(void*) + 7.70% 0.24% Thread (pooled) libQt6Core.so.6.10.3 [.] QThreadPoolThread::run() + 6.72% 0.02% konsole libQt6Widgets.so.6.10.3 [.] QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, + 6.48% 0.02% konsole libkonsoleprivate.so.26.04.0 [.] Konsole::TerminalScrollBar::paintEvent(QPaintEvent*) + 6.38% 0.01% konsole libQt6Widgets.so.6.10.3 [.] QScrollBar::paintEvent(QPaintEvent*) + 6.13% 0.01% konsole breeze6.so [.] Breeze::Style::drawComplexControl(QStyle::ComplexControl, QStyleOptionComplex const*, QPainter*, QWidget const*) + 6.10% 0.04% konsole breeze6.so [.] Breeze::Style::drawScrollBarComplexControl(QStyleOptionComplex const*, QPainter*, QWidget const*) const + 5.43% 0.03% konsole libQt6Widgets.so.6.10.3 [.] QCommonStyle::drawComplexControl(QStyle::ComplexControl, QStyleOptionComplex const*, QPainter*, QWidget const*) c + 5.40% 0.10% konsole libQt6Gui.so.6.10.3 [.] QPainterPrivate::drawTextItem(QPointF const&, QTextItem const&, QTextEngine*) + 5.31% 0.00% konsole breeze6.so [.] Breeze::Style::drawControl(QStyle::ControlElement, QStyleOption const*, QPainter*, QWidget const*) const + 5.28% 0.00% konsole breeze6.so [.] Breeze::Style::drawScrollBarSliderControl(QStyleOption const*, QPainter*, QWidget const*) const + 5.23% 0.02% konsole breeze6.so [.] Breeze::Style::drawScrollBarSliderControl(QStyleOption const*, QPainter*, QWidget const*) const [clone .part.0] + 5.12% 0.10% konsole libQt6Gui.so.6.10.3 [.] QRasterPaintEngine::drawTextItem(QPointF const&, QTextItem const&) + 4.93% 0.00% konsole libQt6Gui.so.6.10.3 [.] QPaintEngineEx::drawRoundedRect(QRectF const&, double, double, Qt::SizeMode) + 4.91% 0.18% Thread (pooled) libQt6Gui.so.6.10.3 [.] QRunnable::QGenericRunnable::Helper<blend_color_argb(int, QT_FT_Span_ const*, void*)::{lambda()#1}>::impl(QRunnab 发现 qt_memfillXX_avx2 这个函数的 cpu 占用有 63.13%,而在 fedora 42 上用 perf record 分析 cpu 占用压根就没采集到这个函数,感觉应该是 fedora 44 的 bug ,我想给 fedora 反馈这个 bug 但不知道要怎么搞,有 v 友能帮我给 fedora 反馈一下吗?
fedora 42 在 konsole 打字时 konsole 进程的 cpu 占用是正常的,在按着按键不松的情况下连续输入同一个字符 konsole 进程的 cpu 占用只有百分之十几,升级到 fedora 44 后就变成将近百分之百了,我用 perf record 分析了一下 cpu 占用高的原因,结果如下: Samples: 12K of event 'cpu_core/cycles/P', Event count (approx.): 10384837753 Children Self Command Shared Object Symbol + 91.73% 0.00% konsole konsole [.] _start + 91.73% 0.00% konsole libc.so.6 [.] __libc_start_main@@GLIBC_2.34 + 91.73% 0.00% konsole libc.so.6 [.] __libc_start_call_main + 91.73% 0.00% konsole konsole [.] main + 91.73% 0.00% konsole libQt6Core.so.6.10.3 [.] QCoreApplication::exec() + 91.71% 0.02% konsole libQt6Core.so.6.10.3 [.] QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 91.70% 0.00% konsole libQt6Core.so.6.10.3 [.] QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 91.39% 0.00% konsole libglib-2.0.so.0.8800.0 [.] g_main_context_iteration + 91.38% 0.01% konsole libglib-2.0.so.0.8800.0 [.] g_main_context_iterate_unlocked.isra.0 + 91.25% 0.01% konsole libglib-2.0.so.0.8800.0 [.] g_main_context_dispatch_unlocked.lto_priv.0 + 91.05% 0.02% konsole libQt6Core.so.6.10.3 [.] QCoreApplication::notifyInternal2(QObject*, QEvent*) + 90.96% 0.01% konsole libQt6Widgets.so.6.10.3 [.] QApplicationPrivate::notify_helper(QObject*, QEvent*) + 89.40% 0.02% konsole libQt6Widgets.so.6.10.3 [.] QWidget::event(QEvent*) + 89.35% 0.00% konsole libQt6Core.so.6.10.3 [.] postEventSourceDispatch(_GSource*, int (*)(void*), void*) + 89.35% 0.02% konsole libQt6Core.so.6.10.3 [.] QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) + 89.09% 0.00% konsole libKF6XmlGui.so.6.25.0 [.] KXmlGuiWindow::event(QEvent*) + 88.94% 0.01% konsole libQt6Widgets.so.6.10.3 [.] QWidgetRepaintManager::paintAndFlush() + 64.37% 63.13% konsole libQt6Gui.so.6.10.3 [.] qt_memfillXX_avx2(unsigned char*, long long __vector(4), long long) + 64.37% 0.00% konsole libQt6Gui.so.6.10.3 [.] QPainter::fillRect(QRect const&, QColor const&) + 64.37% 0.00% konsole libQt6Gui.so.6.10.3 [.] QRasterPaintEngine::fillRect(QRectF const&, QSpanData*) + 55.10% 0.00% konsole libQt6Widgets.so.6.10.3 [.] QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, + 54.99% 0.02% konsole libQt6Widgets.so.6.10.3 [.] QWidgetPrivate::sendPaintEvent(QRegion const&) + 48.05% 0.03% konsole libkonsoleprivate.so.26.04.0 [.] Konsole::TerminalDisplay::paintEvent(QPaintEvent*) + 32.81% 0.03% konsole libQt6Gui.so.6.10.3 [.] QBackingStore::beginPaint(QRegion const&) + 32.78% 0.00% konsole libQt6WaylandClient.so.6.10.3 [.] QtWaylandClient::QWaylandShmBackingStore::beginPaint(QRegion const&) + 16.03% 0.57% konsole libkonsoleprivate.so.26.04.0 [.] Konsole::TerminalPainter::drawContents(Konsole::Character*, QPainter&, QRect const&, bool, int, bool, QList<Konso + 11.89% 0.07% konsole libkonsoleprivate.so.26.04.0 [.] Konsole::TerminalPainter::drawTextCharacters(QPainter&, QRect const&, QString const&, Konsole::Character, QColor + 11.30% 0.12% konsole libQt6Gui.so.6.10.3 [.] QPainter::drawText(QPointF const&, QString const&, int, int) + 7.77% 0.00% Thread (pooled) libc.so.6 [.] __GI___clone3 + 7.77% 0.00% Thread (pooled) libc.so.6 [.] start_thread + 7.77% 0.00% Thread (pooled) libQt6Core.so.6.10.3 [.] QThreadPrivate::start(void*) + 7.70% 0.24% Thread (pooled) libQt6Core.so.6.10.3 [.] QThreadPoolThread::run() + 6.72% 0.02% konsole libQt6Widgets.so.6.10.3 [.] QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, + 6.48% 0.02% konsole libkonsoleprivate.so.26.04.0 [.] Konsole::TerminalScrollBar::paintEvent(QPaintEvent*) + 6.38% 0.01% konsole libQt6Widgets.so.6.10.3 [.] QScrollBar::paintEvent(QPaintEvent*) + 6.13% 0.01% konsole breeze6.so [.] Breeze::Style::drawComplexControl(QStyle::ComplexControl, QStyleOptionComplex const*, QPainter*, QWidget const*) + 6.10% 0.04% konsole breeze6.so [.] Breeze::Style::drawScrollBarComplexControl(QStyleOptionComplex const*, QPainter*, QWidget const*) const + 5.43% 0.03% konsole libQt6Widgets.so.6.10.3 [.] QCommonStyle::drawComplexControl(QStyle::ComplexControl, QStyleOptionComplex const*, QPainter*, QWidget const*) c + 5.40% 0.10% konsole libQt6Gui.so.6.10.3 [.] QPainterPrivate::drawTextItem(QPointF const&, QTextItem const&, QTextEngine*) + 5.31% 0.00% konsole breeze6.so [.] Breeze::Style::drawControl(QStyle::ControlElement, QStyleOption const*, QPainter*, QWidget const*) const + 5.28% 0.00% konsole breeze6.so [.] Breeze::Style::drawScrollBarSliderControl(QStyleOption const*, QPainter*, QWidget const*) const + 5.23% 0.02% konsole breeze6.so [.] Breeze::Style::drawScrollBarSliderControl(QStyleOption const*, QPainter*, QWidget const*) const [clone .part.0] + 5.12% 0.10% konsole libQt6Gui.so.6.10.3 [.] QRasterPaintEngine::drawTextItem(QPointF const&, QTextItem const&) + 4.93% 0.00% konsole libQt6Gui.so.6.10.3 [.] QPaintEngineEx::drawRoundedRect(QRectF const&, double, double, Qt::SizeMode) + 4.91% 0.18% Thread (pooled) libQt6Gui.so.6.10.3 [.] QRunnable::QGenericRunnable::Helper<blend_color_argb(int, QT_FT_Span_ const*, void*)::{lambda()#1}>::impl(QRunnab 发现 qt_memfillXX_avx2 这个函数的 cpu 占用有 63.13%,而在 fedora 42 上用 perf record 分析 cpu 占用压根就没采集到这个函数,感觉应该是 fedora 44 的 bug ,我想给 fedora 反馈这个 bug 但不知道要怎么搞,有 v 友能帮我给 fedora 反馈一下吗?