<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Nvme on vmlinuz</title>
    <link>https://vmlinuz.pl/tags/nvme/</link>
    <description>Recent content in Nvme on vmlinuz</description>
    <generator>Hugo</generator>
    <language>pl</language>
    <copyright>2025-2026 vmlinuz.pl</copyright>
    <lastBuildDate>Tue, 23 Jun 2026 10:00:00 +0100</lastBuildDate>
    <atom:link href="https://vmlinuz.pl/tags/nvme/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Dwie linijki kodu i &#43;5% IOPS: jak przesunięcie memset przyspieszyło SSD w Linuksie</title>
      <link>https://vmlinuz.pl/posts/iomap-memset-iops/</link>
      <pubDate>Tue, 23 Jun 2026 10:00:00 +0100</pubDate>
      <guid>https://vmlinuz.pl/posts/iomap-memset-iops/</guid>
      <description>&lt;p&gt;Czasem nie trzeba pisać nowego sterownika ani przepisywać całego podsystemu, żeby przyspieszyć jądro. Wystarczy przenieść w odpowiednie miejsce kilka linijek, które przez lata robiły zbędną robotę. Dokładnie to zrobił Fengnan Chang z ByteDance: przesunął wywołanie &lt;code&gt;memset()&lt;/code&gt; w warstwie iomap i wycisnął około 5% więcej IOPS na ext4 i XFS. Zmiana trafia do jądra Linux 7.2.&lt;/p&gt;&#xA;&lt;h2 id=&#34;co-to-jest-iomap&#34;&gt;Co to jest iomap&lt;/h2&gt;&#xA;&lt;p&gt;iomap to wspólna warstwa mapowania we/wy w jądrze. Systemy plików takie jak ext4, XFS czy exFAT używają jej, żeby przełożyć offset w pliku na konkretne miejsce na urządzeniu blokowym. Sercem tej warstwy jest pętla &lt;code&gt;iomap_iter()&lt;/code&gt;: dla zadanego zakresu pliku prosi system plików o wypełnienie struktury &lt;code&gt;struct iomap&lt;/code&gt; opisującej kolejny ciągły fragment, wykonuje operację we/wy, po czym pyta o następny fragment, aż skończy się zakres.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
