<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<atom:link href="http://gentoo-zh.org/extern.php?action=feed&amp;tid=17&amp;type=rss" rel="self" type="application/rss+xml" />
		<title><![CDATA[Gentoo中文社区 / Enable the block layer]]></title>
		<link>http://www.gentoo-zh.org/viewtopic.php?id=17</link>
		<description><![CDATA[Enable the block layer 最近发表的帖子。]]></description>
		<lastBuildDate>Wed, 03 Aug 2022 14:37:19 +0000</lastBuildDate>
		<generator>FluxBB</generator>
		<item>
			<title><![CDATA[Enable the block layer]]></title>
			<link>http://www.gentoo-zh.org/viewtopic.php?pid=17#p17</link>
			<description><![CDATA[<p>Enable the block layer<br />块设备支持</p><p>Enable the block layer<br />CONFIG_BLOCK<br />&#160; &#160; 块设备支持,使用SSD/硬盘/U盘/SCSI/SAS设备者必选.除非你是某些特殊的嵌入式系统,否则没有理由不使用块设备.</p><p>&#160; &#160; Block layer SG support v4<br />&#160; &#160; CONFIG_BLK_DEV_BSG<br />&#160; &#160; &#160; &#160; 为块设备启用第四版SG(SCSI generic)支持.v4相比v3能够支持更复杂的SCSI指令<br />&#160; &#160; &#160; &#160; (可变长度的命令描述块,双向数据传输,通用请求/应答协议),<br />&#160; &#160; &#160; &#160; 而且UDEV也要用它来获取设备的序列号.对于使用systemd的系统来说,必须选&quot;Y&quot;.<br />&#160; &#160; &#160; &#160; 对于不使用systemd的系统,如果你需要通过/dev/bsg/*访问块设备,建议开启此选项,<br />&#160; &#160; &#160; &#160; 否则(通过/dev/{sd*,st*,sr*})可以关闭.<br />&#160; &#160; &#160; &#160;<br />&#160; &#160; Block layer SG support v4 helper lib<br />&#160; &#160; CONFIG_BLK_DEV_BSGLIB<br />&#160; &#160; &#160; &#160; 你不需要手动开启此选项,如果有其他模块需要使用,会被自动开启.<br />&#160; &#160; &#160; &#160;<br />&#160; &#160; Block layer data integrity support<br />&#160; &#160; CONFIG_BLK_DEV_INTEGRITY<br />&#160; &#160; &#160; &#160; 某些块设备可以通过存储/读取额外的信息来保障端到端的数据完整性,<br />&#160; &#160; &#160; &#160; 这个选项为文件系统提供了相应的钩子函数来使用这个特性.<br />&#160; &#160; &#160; &#160; 如果你的设备支持 T10/SCSI Data Integrity Field<br />&#160; &#160; &#160; &#160; 或者 T13/ATA External Path Protection 特性,那么可以开启此选项,否则建议关闭.</p><p>&#160; &#160; Zoned block device support<br />&#160; &#160; &#160; &#160; 分区块设备支持<br />&#160; &#160; &#160; &#160;<br />&#160; &#160; Block layer bio throttling support<br />&#160; &#160; CONFIG_BLK_DEV_THROTTLING<br />&#160; &#160; &#160; &#160; Bio Throttling 支持,也就是允许限制每个cgroup对特定设备的IO速率.<br />&#160; &#160; &#160; &#160; 细节可以参考&quot;Documentation/cgroups/blkio-controller.txt&quot;.<br />&#160; &#160; &#160; &#160;<br />&#160; &#160; Block throttling .low limit interface support<br />&#160; &#160; &#160; &#160; &#160; &#160; 阻止限制.低限制接口支持<br />&#160; &#160; &#160; &#160; &#160; &#160;<br />&#160; &#160; Block device command line partition parser<br />&#160; &#160; &#160; &#160; &#160; &#160; 阻止设备命令行分区解析器<br />&#160; &#160; &#160; &#160; &#160; &#160;<br />&#160; &#160; Enable support for block device writeback throttling<br />&#160; &#160; &#160; &#160; &#160; &#160; 启用对块设备写回限制的支持<br />&#160; &#160; &#160; &#160; &#160; &#160;<br />&#160; &#160; Block layer debugging information in debugfs<br />&#160; &#160; &#160; &#160; &#160; &#160; 在debugfs中阻止层调试信息<br />&#160; &#160; &#160; &#160; &#160; &#160;<br />&#160; &#160; Logic for interfacing with Opal enabled SEDs<br />&#160; &#160; &#160; &#160; &#160; &#160; 与Opal接口的逻辑启用了SED<br />&#160; &#160; &#160; &#160;<br />&#160; &#160; Advanced partition selection<br />&#160; &#160; CONFIG_PARTITION_ADVANCED<br />&#160; &#160; &#160; &#160; 如果你想支持各种不同的磁盘分区格式(特别是与UEFI配合使用的GPT格式),务必选中此项.<br />&#160; &#160; &#160; &#160; Acorn partition support<br />&#160; &#160; &#160; &#160; CONFIG_ACORN_PARTITION<br />&#160; &#160; &#160; &#160; &#160; &#160; Acorn 操作系统使用的分区格式,请根据实际情况选择子项,这里省略<br />&#160; &#160; &#160; &#160; AIX basic partition table support<br />&#160; &#160; &#160; &#160; &#160; &#160;<br />&#160; &#160; &#160; &#160; Alpha OSF partition support<br />&#160; &#160; &#160; &#160; CONFIG_OSF_PARTITION<br />&#160; &#160; &#160; &#160; &#160; &#160; Alpha 平台上使用的分区格式<br />&#160; &#160; &#160; &#160; Amiga partition table support<br />&#160; &#160; &#160; &#160; CONFIG_AMIGA_PARTITION<br />&#160; &#160; &#160; &#160; &#160; &#160; AmigaOS 使用的分区格式<br />&#160; &#160; &#160; &#160; Atari partition table support<br />&#160; &#160; &#160; &#160; CONFIG_ATARI_PARTITION<br />&#160; &#160; &#160; &#160; &#160; &#160; Atari OS 使用的分区格式<br />&#160; &#160; &#160; &#160; Macintosh partition map support<br />&#160; &#160; &#160; &#160; CONFIG_MAC_PARTITION<br />&#160; &#160; &#160; &#160; &#160; &#160; 苹果的Macintosh平台使用的分区格式<br />&#160; &#160; &#160; &#160; PC BIOS (MSDOS partition tables) support<br />&#160; &#160; &#160; &#160; CONFIG_MSDOS_PARTITION<br />&#160; &#160; &#160; &#160; &#160; &#160; 渐成历史垃圾,但目前依然最常见的DOS分区格式.除非你确信不使用此格式,否则必选.<br />&#160; &#160; &#160; &#160; &#160; &#160; 其下的子项根据实际情况选择.<br />&#160; &#160; &#160; &#160; &#160; &#160; BSD disklabel (FreeBSD partition tables) support<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;BSD disklabel（FreeBSD分区表）支持<br />&#160; &#160; &#160; &#160; &#160; &#160; Minix subpartition support<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;Minix子分区支持<br />&#160; &#160; &#160; &#160; &#160; &#160; Solaris (x86) partition table support<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;Solaris（x86）分区表支持<br />&#160; &#160; &#160; &#160; &#160; &#160; Unixware slices support<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;Unixware切片支持<br />&#160; &#160; &#160; &#160; Windows Logical Disk Manager (Dynamic Disk) support<br />&#160; &#160; &#160; &#160; CONFIG_LDM_PARTITION<br />&#160; &#160; &#160; &#160; &#160; &#160; 使用 Windows Logical Disk Manager 创建的分区格式.参见&quot;Documentation/ldm.txt&quot;<br />&#160; &#160; &#160; &#160; SGI partition support<br />&#160; &#160; &#160; &#160; CONFIG_SGI_PARTITION<br />&#160; &#160; &#160; &#160; &#160; &#160; SGI 平台上使用的分区格式<br />&#160; &#160; &#160; &#160; Ultrix partition table support<br />&#160; &#160; &#160; &#160; CONFIG_ULTRIX_PARTITION<br />&#160; &#160; &#160; &#160; &#160; &#160; DEC/Compaq Ultrix 平台上使用的分区格式<br />&#160; &#160; &#160; &#160; Sun partition tables support<br />&#160; &#160; &#160; &#160; CONFIG_SUN_PARTITION<br />&#160; &#160; &#160; &#160; &#160; &#160; SunOS 平台上使用的分区格式<br />&#160; &#160; &#160; &#160; Karma Partition support<br />&#160; &#160; &#160; &#160; CONFIG_KARMA_PARTITION<br />&#160; &#160; &#160; &#160; &#160; &#160; Rio Karma MP3 player 使用的分区格式<br />&#160; &#160; &#160; &#160; EFI GUID Partition support<br />&#160; &#160; &#160; &#160; CONFIG_EFI_PARTITION<br />&#160; &#160; &#160; &#160; &#160; &#160; 代表未来趋势,眼下正大红大紫的EFI GPT(GUID Partition Table)分区格式.<br />&#160; &#160; &#160; &#160; &#160; &#160; 建议开启.如果你在UEFI平台上安装则必须开启.<br />&#160; &#160; &#160; &#160; SYSV68 partition table support<br />&#160; &#160; &#160; &#160; CONFIG_SYSV68_PARTITION<br />&#160; &#160; &#160; &#160; &#160; &#160; Motorola Delta 机器上使用的分区格式<br />&#160; &#160; &#160; &#160; Command line partition support<br />&#160; &#160; &#160; &#160; &#160; &#160; 命令行分区支持</p><p>&#160; &#160; IO Schedulers<br />&#160; &#160; &#160; &#160; IO调度器(另一篇文章)<br />&#160; &#160; &#160; &#160; Deadline I/O scheduler<br />&#160; &#160; &#160; &#160; CONFIG_IOSCHED_DEADLINE<br />&#160; &#160; &#160; &#160; &#160; &#160; deadline调度器.简洁小巧(只有400+行代码),提供了最小的读取延迟.<br />&#160; &#160; &#160; &#160; &#160; &#160; 如果你希望尽快读取磁盘,而不介意写入延迟,那它是最佳选择.<br />&#160; &#160; &#160; &#160; &#160; &#160; 通常对于数据库工作负载有最佳的表现.<br />&#160; &#160; &#160; &#160; CFQ I/O scheduler<br />&#160; &#160; &#160; &#160; CONFIG_IOSCHED_CFQ<br />&#160; &#160; &#160; &#160; &#160; &#160; cfq(Complete Fair Queuing)调度器.努力在各内核线程间公平分配IO资源,<br />&#160; &#160; &#160; &#160; &#160; &#160; 适用于系统中存在着大量内核线程同时进行IO请求的情况.<br />&#160; &#160; &#160; &#160; &#160; &#160; 但对于只有少数内核线程进行密集IO请求的情况,则会出现明显的性能下降.<br />&#160; &#160; &#160; &#160; &#160; &#160; CFQ Group Scheduling support<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_CFQ_GROUP_IOSCHED<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 允许将CFQ和cgroup组合使用,也就是将每个cgroup看成一个整体,<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 在各cgroup之间进行IO资源的分配.参见&quot;Documentation/cgroups/blkio-controller.txt&quot;文件.<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 还可以参考一下《Linux内核精髓》中的&quot;使用Block I/O控制器&quot;一章.<br />&#160; &#160; &#160; &#160; BFQ I/O scheduler<br />&#160; &#160; &#160; &#160; CONFIG_IOSCHED_BFQ<br />&#160; &#160; &#160; &#160; &#160; &#160; bfq(Budget Fair Queueing)调度器.这是一个基于CFQ调度器的改进版本,<br />&#160; &#160; &#160; &#160; &#160; &#160; 更适合于对交互性要求比较高的场合,<br />&#160; &#160; &#160; &#160; &#160; &#160; 比如桌面系统和实时系统.如果静态编译进内核,还支持和cgroup配合,<br />&#160; &#160; &#160; &#160; &#160; &#160; 实现分层调度(hierarchical scheduling).<br />&#160; &#160; &#160; &#160; &#160; &#160; BFQ hierarchical scheduling support<br />&#160; &#160; &#160; &#160; &#160; &#160; CONFIG_CGROUP_BFQIO<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 通过cgroup文件系统接口,允许将BFQ分层使用(类似CONFIG_CFQ_GROUP_IOSCHED),<br />&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 这个子系统的名字是&quot;bfqio&quot;.<br />&#160; &#160; &#160; &#160; Default I/O scheduler<br />&#160; &#160; &#160; &#160; &#160; &#160; 默认IO调度器.如果上述调度器都是模块,那么将使用最简单的内置NOOP调度器.<br />&#160; &#160; &#160; &#160; &#160; &#160; NOOP(No Operation)调度器只是一个简单的FIFO队列,<br />&#160; &#160; &#160; &#160; &#160; &#160; 不对IO请求做任何重新排序处理(但还是会做一定程度的归并),<br />&#160; &#160; &#160; &#160; &#160; &#160; 适合于SSD/U盘/内存/SAN(Storage Area Networks)/虚拟机中的硬盘/iSCSI/硬RAID等无需寻道的存储设备,<br />&#160; &#160; &#160; &#160; &#160; &#160; 重点是可以节约CPU资源,但不适用于普通硬盘这样的需要依靠磁头来定位的设备.另外,<br />&#160; &#160; &#160; &#160; &#160; &#160; 有人说拥有TCQ/NCQ技术(能够自动重新排序)的硬盘也适合用NOOP调度器,<br />&#160; &#160; &#160; &#160; &#160; &#160; 这个说法其实并不那么合理,但笔者在此不敢断言,希望读者在严谨的测试之后再做定夺.<br />&#160; &#160; &#160; &#160;MQ deadline I/O scheduler<br />&#160; &#160; &#160; &#160; &#160; &#160; MQ截止日期I / O调度程序<br />&#160; &#160; &#160; &#160;Kyber I/O scheduler<br />&#160; &#160; &#160; &#160; &#160; &#160; Kyber I / O调度程序</p>]]></description>
			<author><![CDATA[dummy@example.com (batsom)]]></author>
			<pubDate>Wed, 03 Aug 2022 14:37:19 +0000</pubDate>
			<guid>http://www.gentoo-zh.org/viewtopic.php?pid=17#p17</guid>
		</item>
	</channel>
</rss>
