前言
上一篇我们看了 GCC 的 PGO,是时候来看看 Clang 啦!
源程序和编译参数都和 GCC 的一样,clang 的 wrapper 做的还是很好的!
clang version 10.0.0-4ubuntu1
Target: x86_64-pc-linux-gnu
Thread model: posix
在技术的大陆上空展翅飞翔
上一篇我们看了 GCC 的 PGO,是时候来看看 Clang 啦!
源程序和编译参数都和 GCC 的一样,clang 的 wrapper 做的还是很好的!
clang version 10.0.0-4ubuntu1
Target: x86_64-pc-linux-gnu
Thread model: posix
编译优化是一个很重要的课题。现代编译器不仅实现了 Link-Time Optimization (LTO),针对跨编译单元优化;也实现了 PGO ,基于实际运行数据来进行优化。
多说无益,直接实验启动!
在这之前,有必要提一下我们的环境和编译参数:
为了反编译的简单起见,使用 -Og
进行编译,链接器参数默认。
玩上了 E3,很好奇通道分配情况。使用的主板是 Z270-Dragon, CPU 是 E3 1240v6。
PCIE 有很多种规格,为了清晰描述,给出以下方便的定义:
PCIE 在实现上可以有两种,即 CPU 直连
和 PCH 提供
。CPU 直连的通道速度最快,不受其他限制;而 PCH 提供的通道虽然多,总体速度受 DMI Link 的速度限制。(小水管)
PCIE 的通道拆分即指 CPU 直连的 PCIE 通道拆分,涉及到 CPU 相应 CFG 引脚的配置,高端芯片组通过 GPIO 连接到这些引脚来提供动态配置拆分的选项。
Refer: https://serverfault.com/questions/932247/how-to-recover-a-cached-lvm-with-cache-on-ram-disk
插入新盘,或者使用内存创建loop设备(不够大就寄了)
lvm 后执行以下 去除缓存
前几天终于是放了假,好好休息一番后,搞了一套 E3 平台玩,想着搞成服务器,又想在闲置时省点电。从开发板库里面找到了吃灰很久的 ESP8266 (WeMos D1 R1),就它了。
要求 1 很容易实现,因为根据 Intel 的前面板 IO 设计文档并结合实际测试,可以知道按键都是 3v3 上拉输入,而电源灯是推挽 5V 输出。而 COM 口按照标准应该是 RS232 电平,但是我的主板(Z270-Dragon)没有引出来,用的是 COM_Debug 口正好是 TTL 电平。串口控制台最容易了,板子上的 CH340 直接接入 USB 就可以得到 ttyUSB 了。
最近整了一套 Z270 + 1240v6,打算无头启动(连显卡都无的那种!),结果踩坑了,拔了显卡之后网络挂壁,而且CPU风扇慢转。
以为是内核模块挂了导致 kernel panic,排查了好几个小时,终于看到这篇博文,是 PCIE 变动导致网卡名称改变的问题,遂修改 netplan 为:
可选:
5. Moonlight 远程桌面(没有 RDP qwq)
6. 其他厂商的 安全键盘,如华子的 Secure IME,用于屏蔽自带输入法的抽象捕获(点名百度输入法捕获 Tab 键导致无法接受建议)
提示
以下为 PDF 渲染预览版本,没得复制(打印生成的PDF是这样的qwq) 原件戳这里
好久不见!自从上一篇博客,上板成功,到现在已经过去了 3 个月。这几个月,主要是忙活一些学业上的东西,4月跟着老师探索了一点 IC design with LLM 的内容,5月忙活各种大作业、小组作业,6月忙活备考。终于考完试了,开完香槟就开始填坑啦!
由于 Unix 的 “文件即一切” 思想实在很好,所以我们采用这样的思路。
虚拟文件系统,即 Virtual FileSystem, VFS, 是整个文件系统的抽象,向上层提供统一的访问接口。考虑简单的设计,VFS 只需实现真实文件系统的挂载、卸载,以及各种操作的代理即可。
写了那么久,也快一个月了,都是在 QEMU 调试,多没意思。电子人,就是干,火速弄了块 Sipeed 的 LicheeRV Nano,基于 C906 和 A53的 SG2002,不到一够水就有百兆网口和 WiFi。(深圳到广州居然发了两天,真是慢啊,还有这排线还要我自己焊,好傻)
拿到板子,插锭,开机,屏幕没有当然点不亮。电脑上不停的叮咚响,看了下是模拟出了一个串口。那就很简单,直接找到镜像,烧录!再把卡插进去,启动!好了,过了一会,多了一个网卡,ssh一下成功,测试功能正常。那么就开始我们的上板之旅吧!
我们知道,嵌入式 Linux 的启动流程通常是,FSBL -> 固件 -> U-Boot -> 内核,这里的固件就是 OpenSBI。根据 Sipeed 官网的描述,这个片子的启动流程如下: