Linus Torvalds's first LLM-assisted patch series
🇬🇧 English
At the recently concluded Maintainers Summit, Linus Torvalds said he had been using a large language model to work on a patch series addressing a longstanding problem. He has now posted that series for review.
The fairly short series of ten patches enhances folio lookup by noticing when folios are hot and setting a "delay releasing this folio until after an RCU period." It then uses that RCU delay not only for the folio lookup itself, which has been done under RCU for a long time, but also for the actual folio data accesses. No refcount taking is needed for the fast path, where data can be read from the folio entirely within an RCU-protected region when the user copy doesn't cause page faults.
The end result is an order-of-magnitude speedup for a read()-heavy benchmark. Review has already identified a race condition in the code, though, so further work will be needed.
The LWN site is currently under high scraper load, so comment display has been suppressed for anonymous users. Human readers may view the comments by clicking a button on the page, and can avoid this step in the future by logging into an LWN account.
🇸🇦 العربية
أول سلسلة تصحيحات لنواة لينكس بمساعدة نموذج لغوي كبير من تورفالدز
في قمة المشرفين التي اختُتمت مؤخراً، قال لينوس تورفالدز إنه كان يستخدم نموذجاً لغوياً كبيراً للعمل على سلسلة من التصحيحات تعالج مشكلة قديمة. وقد نشر الآن هذه السلسلة للمراجعة.
تعزز هذه السلسلة القصيرة نسبياً، والمكونة من عشرة تصحيحات، البحث عن الـ folio عبر ملاحظة متى تكون الـ folios "ساخنة" وتعيين "تأخير تحرير هذا الـ folio حتى بعد فترة RCU". ثم تستخدم هذا التأخير في RCU ليس فقط للبحث عن الـ folio نفسه، الذي كان يتم تحت RCU منذ وقت طويل، بل أيضاً للوصول الفعلي إلى بيانات الـ folio. ولا حاجة إلى أخذ عداد مراجع في المسار السريع، حيث يمكن قراءة البيانات من الـ folio بالكامل داخل منطقة محمية بـ RCU عندما لا يؤدي نسخ المستخدم إلى أخطاء صفحات.
النتيجة النهائية هي تسريع بمقدار مرتبة من حيث الحجم في اختبار أداء يعتمد بكثافة على read(). غير أن المراجعة حددت بالفعل حالة سباق في الشيفرة، لذا سيلزم مزيد من العمل.
يواجه موقع LWN حالياً حملاً مرتفعاً من أدوات الكشط، لذلك تم تعطيل عرض التعليقات للمستخدمين المجهولين. يمكن للقراء البشر عرض التعليقات بالنقر على زر في الصفحة، ويمكنهم تجنب هذه الخطوة مستقبلاً بتسجيل الدخول إلى حساب LWN.
ما الذي تغيّره سلسلة التصحيحات في البحث عن الـ folio؟
تتعامل مع الـ folios الساخنة بشكل خاص، إذ تؤخر تحريرها حتى بعد فترة سماح RCU، مما يتيح إجراء البحث والوصول إلى بيانات الـ folio تحت RCU دون أخذ عداد مراجع في المسار السريع.
🇧🇩 বাংলা
Torvalds-এর প্রথম LLM-সহায়তায় তৈরি কার্নেল প্যাচ সিরিজ
সম্প্রতি সমাপ্ত Maintainers Summit-এ Linus Torvalds বলেছেন যে তিনি একটি দীর্ঘদিনের সমস্যা সমাধানের প্যাচ সিরিজে কাজ করার জন্য একটি বড় ভাষা মডেল ব্যবহার করছিলেন। তিনি এখন সেই সিরিজটি পর্যালোচনার জন্য পোস্ট করেছেন।
দশটি প্যাচের এই অপেক্ষাকৃত ছোট সিরিজটি folio অনুসন্ধানকে উন্নত করে, যেখানে এটি লক্ষ্য করে কখন folio-গুলো "hot" এবং সেগুলোর রিলিজ "একটি RCU পিরিয়ডের পর পর্যন্ত বিলম্বিত করে" সেট করে। এরপর এই RCU বিলম্ব শুধু folio অনুসন্ধানের জন্য নয়, যা দীর্ঘদিন ধরে RCU-এর অধীনে হয়ে আসছে, বরং folio-র প্রকৃত ডেটা অ্যাক্সেসের জন্যও ব্যবহৃত হয়। ফাস্ট পাথে refcount নেওয়ার প্রয়োজন হয় না, যেখানে ইউজার কপি পেজ ফল্ট না ঘটালে RCU-সুরক্ষিত অঞ্চলের ভেতরেই folio থেকে ডেটা পড়া যায়।
চূড়ান্ত ফল হলো একটি read()-ভারী বেঞ্চমার্কে এক মাত্রা (order-of-magnitude) গতি বৃদ্ধি। তবে পর্যালোচনায় ইতিমধ্যে কোডে একটি race condition চিহ্নিত হয়েছে, তাই আরও কাজ প্রয়োজন।
LWN সাইটে বর্তমানে স্ক্র্যাপারের উচ্চ লোড চলছে, তাই বেনামী ব্যবহারকারীদের জন্য মন্তব্য প্রদর্শন বন্ধ রাখা হয়েছে। মানুষ পাঠকরা পৃষ্ঠার একটি বোতামে ক্লিক করে মন্তব্য দেখতে পারেন, এবং ভবিষ্যতে LWN অ্যাকাউন্টে লগইন করে এই ধাপ এড়াতে পারেন।
প্যাচ সিরিজটি folio অনুসন্ধানে কী পরিবর্তন আনে?
এটি hot folio-গুলোকে বিশেষভাবে বিবেচনা করে, তাদের রিলিজ RCU grace period-এর পর পর্যন্ত বিলম্বিত করে, যাতে অনুসন্ধান ও folio ডেটা অ্যাক্সেস উভয়ই RCU-এর অধীনে ঘটতে পারে এবং ফাস্ট পাথে refcount নিতে হয় না।
🇩🇪 Deutsch
Torvalds' erste LLM-gestützte Kernel-Patchserie
Auf dem kürzlich zu Ende gegangenen Maintainers Summit sagte Linus Torvalds, er habe ein großes Sprachmodell verwendet, um an einer Patchserie zu einem seit langem bestehenden Problem zu arbeiten. Nun hat er diese Serie zur Prüfung veröffentlicht.
Die recht kurze Serie aus zehn Patches verbessert die Folio-Suche, indem sie erkennt, wann Folios "heiß" sind, und festlegt, die Freigabe dieses Folios bis nach einer RCU-Periode zu verzögern. Diese RCU-Verzögerung wird anschließend nicht nur für die Folio-Suche selbst genutzt, die schon lange unter RCU läuft, sondern auch für die eigentlichen Zugriffe auf die Folio-Daten. Auf dem schnellen Pfad ist kein Refcount-Zugriff nötig: Die Daten können vollständig innerhalb eines RCU-geschützten Bereichs aus dem Folio gelesen werden, solange die Kopie in den Benutzerraum keine Seitenfehler auslöst.
Das Endergebnis ist eine Beschleunigung um eine Größenordnung bei einem read()-lastigen Benchmark. Die Prüfung hat jedoch bereits eine Race Condition im Code identifiziert, weshalb weitere Arbeit nötig sein wird.
Die LWN-Seite steht derzeit unter hoher Scraper-Last, daher wird die Kommentaranzeige für anonyme Nutzer unterdrückt. Menschliche Leser können die Kommentare über eine Schaltfläche auf der Seite einblenden und diesen Schritt künftig vermeiden, indem sie sich bei einem LWN-Konto anmelden.
Was ändert die Patchserie an der Folio-Suche?
Sie behandelt heiße Folios besonders, indem deren Freigabe bis nach einer RCU-Grace-Period verzögert wird. So können sowohl die Suche als auch die Zugriffe auf die Folio-Daten unter RCU erfolgen, ohne auf dem schnellen Pfad einen Refcount zu nehmen.
🇪🇸 Español
La primera serie de parches del kernel asistida por LLM de Torvalds
En la Cumbre de Mantenedores que acaba de concluir, Linus Torvalds dijo que había estado usando un modelo de lenguaje grande para trabajar en una serie de parches que aborda un problema de larga data. Ahora ha publicado esa serie para revisión.
La serie, bastante breve, de diez parches mejora la búsqueda de folios detectando cuándo los folios están "calientes" y estableciendo un "retraso en la liberación de este folio hasta después de un periodo RCU". Luego, ese retraso de RCU se utiliza no solo para la búsqueda del folio en sí, que se ha hecho bajo RCU durante mucho tiempo, sino también para los accesos reales a los datos del folio. No es necesario tomar referencias en la ruta rápida, donde los datos pueden leerse del folio completamente dentro de una región protegida por RCU cuando la copia de usuario no provoca fallos de página.
El resultado final es una aceleración de un orden de magnitud en un benchmark con muchas llamadas read(). Sin embargo, la revisión ya ha identificado una condición de carrera en el código, por lo que será necesario seguir trabajando.
El sitio LWN está sufriendo actualmente una alta carga de scrapers, por lo que la visualización de comentarios se ha suspendido para los usuarios anónimos. Los lectores humanos pueden ver los comentarios haciendo clic en un botón de la página, y pueden evitar este paso en el futuro iniciando sesión en una cuenta de LWN.
¿Qué cambia la serie de parches en la búsqueda de folios?
Trata los folios calientes de forma especial, retrasando su liberación hasta después de un periodo de gracia de RCU, de modo que tanto la búsqueda como los accesos a los datos del folio puedan realizarse bajo RCU sin tomar una referencia en la ruta rápida.
🇫🇷 Français
La première série de correctifs du noyau assistée par LLM de Torvalds
Lors du Maintainers Summit qui vient de se terminer, Linus Torvalds a déclaré avoir utilisé un grand modèle de langage pour travailler sur une série de correctifs visant un problème ancien. Il vient maintenant de publier cette série pour examen.
Cette série assez courte de dix correctifs améliore la recherche de folios en détectant quand les folios sont « chauds » et en définissant un « report de la libération de ce folio jusqu'à après une période RCU ». Ce délai RCU est ensuite utilisé non seulement pour la recherche de folio elle-même, qui est effectuée sous RCU depuis longtemps, mais aussi pour les accès réels aux données du folio. Aucune prise de compteur de références n'est nécessaire sur le chemin rapide, où les données peuvent être lues depuis le folio entièrement dans une région protégée par RCU lorsque la copie utilisateur ne provoque pas de défaut de page.
Le résultat final est une accélération d'un ordre de grandeur sur un test de performance fortement basé sur read(). La revue a toutefois déjà identifié une condition de course dans le code, d'autres travaux seront donc nécessaires.
Le site LWN subit actuellement une forte charge de robots de collecte, c'est pourquoi l'affichage des commentaires a été supprimé pour les utilisateurs anonymes. Les lecteurs humains peuvent afficher les commentaires en cliquant sur un bouton de la page, et peuvent éviter cette étape à l'avenir en se connectant à un compte LWN.
Qu'est-ce que la série de correctifs change dans la recherche de folios ?
Elle traite les folios chauds de manière particulière en retardant leur libération jusqu'après une période de grâce RCU, ce qui permet à la recherche et aux accès aux données du folio de se faire sous RCU sans prise de compteur de références sur le chemin rapide.
🇮🇳 हिन्दी
Torvalds का पहला LLM-सहायता प्राप्त कर्नल पैच सीरीज़
हाल ही में संपन्न हुए Maintainers Summit में, Linus Torvalds ने बताया कि वे एक लंबे समय से चली आ रही समस्या को हल करने वाली पैच सीरीज़ पर काम करने के लिए एक बड़े भाषा मॉडल (large language model) का उपयोग कर रहे थे। उन्होंने अब उस सीरीज़ को समीक्षा के लिए पोस्ट कर दिया है।
दस पैच की यह अपेक्षाकृत छोटी सीरीज़ folio lookup को बेहतर बनाती है, इसके लिए यह पहचानती है कि folio कब "hot" हैं और "इस folio की रिलीज़ को RCU अवधि के बाद तक टालें" सेट करती है। फिर यह RCU देरी का उपयोग न केवल folio lookup के लिए करती है, जो लंबे समय से RCU के तहत होता आया है, बल्कि वास्तविक folio डेटा एक्सेस के लिए भी करती है। फास्ट पाथ में refcount लेने की आवश्यकता नहीं होती, जहाँ user copy द्वारा page fault न होने पर डेटा पूरी तरह RCU-संरक्षित क्षेत्र में folio से पढ़ा जा सकता है।
अंतिम परिणाम एक read()-भारी बेंचमार्क पर एक परिमाण (order-of-magnitude) की गति वृद्धि है। हालाँकि, समीक्षा में कोड में पहले ही एक race condition की पहचान हो चुकी है, इसलिए आगे और काम करना होगा।
LWN साइट पर इस समय स्क्रेपर का भारी लोड है, इसलिए अनाम उपयोगकर्ताओं के लिए टिप्पणियों का प्रदर्शन रोक दिया गया है। मानव पाठक पृष्ठ पर एक बटन क्लिक करके टिप्पणियाँ देख सकते हैं, और LWN खाते में लॉग इन करके भविष्य में इस चरण से बच सकते हैं।
पैच सीरीज़ folio lookup में क्या बदलाव करती है?
यह hot folios को विशेष रूप से संभालती है, उनकी रिलीज़ को RCU grace period के बाद तक टालती है, जिससे lookup और folio डेटा एक्सेस दोनों RCU के तहत हो सकते हैं और फास्ट पाथ पर refcount नहीं लेना पड़ता।
🇮🇩 Bahasa Indonesia
Rangkaian patch kernel pertama Torvalds yang dibantu LLM
Pada Maintainers Summit yang baru saja berakhir, Linus Torvalds mengatakan bahwa ia telah menggunakan model bahasa besar untuk mengerjakan rangkaian patch yang mengatasi masalah lama. Kini ia telah memposting rangkaian tersebut untuk ditinjau.
Rangkaian sepuluh patch yang cukup singkat ini meningkatkan pencarian folio dengan mendeteksi kapan folio bersifat "panas" dan menetapkan "tunda pelepasan folio ini hingga setelah periode RCU". Penundaan RCU tersebut kemudian digunakan tidak hanya untuk pencarian folio itu sendiri, yang sudah lama dilakukan di bawah RCU, tetapi juga untuk akses data folio yang sebenarnya. Tidak diperlukan pengambilan refcount pada jalur cepat, di mana data dapat dibaca dari folio sepenuhnya di dalam wilayah yang dilindungi RCU selama penyalinan ke pengguna tidak menyebabkan page fault.
Hasil akhirnya adalah peningkatan kecepatan satu orde magnitudo pada benchmark yang banyak menggunakan read(). Namun, tinjauan telah mengidentifikasi race condition dalam kode, sehingga diperlukan pekerjaan lebih lanjut.
Situs LWN saat ini sedang mengalami beban scraper yang tinggi, sehingga tampilan komentar untuk pengguna anonim ditangguhkan. Pembaca manusia dapat melihat komentar dengan mengklik tombol di halaman, dan dapat melewati langkah ini di masa depan dengan masuk ke akun LWN.
Apa yang diubah oleh rangkaian patch ini dalam pencarian folio?
Rangkaian ini memperlakukan folio panas secara khusus dengan menunda pelepasannya hingga setelah periode grace RCU, sehingga pencarian dan akses data folio dapat dilakukan di bawah RCU tanpa mengambil refcount pada jalur cepat.
🇯🇵 日本語
Torvaldsが初めてLLMを活用して書いたカーネルパッチシリーズ
先日閉幕したMaintainers Summitで、Linus Torvaldsは、長年の問題に対処するパッチシリーズの作業に大規模言語モデルを使っていると語りました。彼は今回、そのシリーズをレビュー用に投稿しました。
この比較的短い10本のパッチからなるシリーズは、folioが「ホット」であることを検出し、「このfolioの解放をRCU期間の経過後まで遅らせる」よう設定することで、folioの検索を改善します。そして、このRCUによる遅延は、長年RCU下で行われてきたfolioの検索だけでなく、folioデータへの実際のアクセスにも使われます。高速パスではrefcountを取得する必要がなく、ユーザー空間へのコピーがページフォルトを引き起こさない場合には、RCUで保護された領域内でfolioからデータを完全に読み取ることができます。
結果として、read()を多用するベンチマークで桁違いの高速化が得られました。ただし、レビューでコード内に競合状態が既に指摘されており、さらなる作業が必要です。
LWNサイトは現在スクレイパーによる高負荷を受けているため、匿名ユーザーに対してコメントの表示を停止しています。人間の読者はページのボタンをクリックすればコメントを閲覧でき、今後はLWNアカウントにログインすればこの手順を省略できます。
このパッチシリーズはfolio検索に何をもたらしますか?
ホットなfolioを特別に扱い、その解放をRCUの猶予期間の経過後まで遅らせることで、検索とfolioデータへのアクセスの両方をRCU下で行えるようにし、高速パスでrefcountを取得する必要をなくします。
🇧🇷 Português
Primeira série de patches do kernel com assistência de LLM de Torvalds
No Maintainers Summit recentemente encerrado, Linus Torvalds disse que vinha usando um grande modelo de linguagem para trabalhar em uma série de patches que aborda um problema antigo. Ele agora publicou essa série para revisão.
A série, relativamente curta, de dez patches melhora a busca de folios ao identificar quando os folios estão "quentes" e definir um "atraso na liberação deste folio até depois de um período RCU". Esse atraso do RCU é usado não apenas para a própria busca do folio, que já era feita sob RCU há muito tempo, mas também para os acessos reais aos dados do folio. Não é necessário obter referências no caminho rápido, em que os dados podem ser lidos do folio inteiramente dentro de uma região protegida por RCU quando a cópia para o usuário não causa falhas de página.
O resultado final é um ganho de uma ordem de grandeza em um benchmark intensivo em read(). No entanto, a revisão já identificou uma condição de corrida no código, então será necessário mais trabalho.
O site LWN está sob alta carga de scrapers, por isso a exibição de comentários foi suspensa para usuários anônimos. Leitores humanos podem ver os comentários clicando em um botão na página, e podem evitar essa etapa no futuro fazendo login em uma conta LWN.
O que a série de patches muda na busca de folios?
Ela trata os folios quentes de forma especial, adiando sua liberação até depois de um período de graça do RCU, permitindo que a busca e os acessos aos dados do folio ocorram sob RCU sem obter uma referência no caminho rápido.
🇷🇺 Русский
Первая серия патчей ядра Торвальдса с помощью LLM
На недавно завершившемся саммите мейнтейнеров Линус Торвальдс сообщил, что использовал большую языковую модель для работы над серией патчей, решающей давнюю проблему. Теперь он опубликовал эту серию для рецензирования.
Довольно короткая серия из десяти патчей улучшает поиск folio: она определяет, когда folio являются «горячими», и устанавливает «отложить освобождение этого folio до истечения периода RCU». Затем эта задержка RCU используется не только для самого поиска folio, который давно выполняется под RCU, но и для фактического доступа к данным folio. В быстром пути захват счётчика ссылок не требуется: данные можно читать из folio полностью внутри области, защищённой RCU, если копирование в пользовательское пространство не вызывает страничных ошибок.
Итогом стало ускорение на порядок в тесте производительности, сильно нагруженном вызовами read(). Однако при проверке в коде уже обнаружено состояние гонки, поэтому потребуется дополнительная работа.
Сайт LWN сейчас испытывает высокую нагрузку от скраперов, поэтому отображение комментариев для анонимных пользователей приостановлено. Читатели-люди могут просмотреть комментарии, нажав кнопку на странице, а в будущем избежать этого шага, войдя в учётную запись LWN.
Что меняет серия патчей в поиске folio?
Она особым образом обрабатывает горячие folio, откладывая их освобождение до окончания периода отсрочки RCU, благодаря чему и поиск, и доступ к данным folio выполняются под RCU без захвата счётчика ссылок в быстром пути.
🇨🇳 简体中文
Torvalds首次借助大语言模型完成的内核补丁系列
在近期结束的维护者峰会上,Linus Torvalds表示,他一直在使用大语言模型处理一个针对长期存在问题的补丁系列。他现已将该系列发布以供审查。
这个篇幅较短的系列包含十个补丁,通过识别热点folio并设置"延迟释放该folio,直到一个RCU周期结束之后"来增强folio查找。随后,该RCU延迟不仅用于folio查找本身(这一操作长期以来一直在RCU保护下进行),还用于实际的folio数据访问。在快速路径中无需获取引用计数,当用户空间拷贝未引发缺页时,数据可以完全在RCU保护区域内从folio中读取。
最终结果是,在一个以read()为主的基准测试中获得了数量级的加速。不过,审查已发现代码中存在一个竞态条件,因此还需要进一步的工作。
由于LWN网站当前承受着较高的爬虫负载,匿名用户的评论显示已被暂停。人类读者可以点击页面上的按钮查看评论,今后如果登录LWN账户,则可以跳过这一步骤。
该补丁系列对folio查找做了哪些改动?
它对热点folio进行特殊处理,将其释放延迟到一个RCU宽限期之后,使查找和folio数据访问都能在RCU保护下进行,且快速路径上无需获取引用计数。