Skip to content

emka.web.id

menulis pengetahuan – merekam peradaban

Menu
  • Home
  • Tutorial
  • Search
Menu

Proposal Linux Menambahkan getrandom() Ke vDSO Untuk Performa Lebih Baik

Posted on July 29, 2022

Jason Donenfeld dari ketenaran WireGuard yang baru-baru ini menghabiskan banyak pekerjaan untuk meningkatkan kode kernel “acak” Linux telah mengirimkan proposal untuk menambahkan dukungan getrandom() ke vDSO untuk kinerja yang lebih baik dalam upaya memenuhi kebutuhan pengembang ruang pengguna dengan lebih baik .
Saat membaca Phoronix, Jason Donenfeld mempelajari GNU C Library yang menambahkan fungsi arc4random. Pada gilirannya, Donenfeld memulai diskusi di milis Glibc dengan pandangan yang berbeda dan pertanyaan tentang tujuannya.
Saya benar-benar bertanya-tanya apakah ini ide yang bagus, apakah ini sesuatu yang diinginkan glibc, dan apakah itu desain yang layak untuk dilakukan dalam jangka panjang.
Pertama, untuk kasus penggunaan apa ini benar-benar membantu? Pada perubahan terbaru pada kernel Linux — sekarang telah di-backport hingga 4.9! — getrandom() dan /dev/urandom sangat cepat dan beroperasi pada status per-cpu tanpa kunci. Tentu Anda menghindari syscall dengan melakukan itu di ruang pengguna, tetapi apakah itu penting? Siapa sebenarnya yang diuntungkan dari ini?
Dilihat seperti itu, sepertinya banyak kerumitan yang sia-sia, dan kerumitan yang pada akhirnya akan menyebabkan bug dan berbagai kekhilafan.
Misalnya, kernel melakukan reseed sendiri ketika mesin virtual bercabang menggunakan pengenal yang diteruskan ke kernel melalui ACPI. Itu juga meremajakan dirinya sendiri pada resume sistem, baik dari tidur S3 biasa tetapi juga, yang lebih penting, dari hibernasi. Dan secara umum, sebagai penengah entropi, kernel jauh lebih siap untuk menentukan kapan masuk akal untuk melakukan reseed.
Glibc, di sisi lain, dapat menggunakan beberapa heuristik dan membuat beberapa keputusan — pada fork, setelah 16 MiB, dan sejenisnya — tetapi secara umum ini kurang, dibandingkan dengan susunan informasi yang jauh lebih luas di kernel
memiliki.
Anda melewatkan ini dengan arc4random, dan jika informasi itu _is_ diekspor ke userspace entah bagaimana di masa depan, akan sangat bagus untuk mendesain antarmuka userspace di samping kernel.
Untuk alasan itu, diskusi sebelumnya tentang memiliki beberapa pembuatan nomor acak di libc ruang pengguna telah diarahkan untuk melakukan ini di vDSO, entah bagaimana, di mana kernel dapat menjadi bagian tak terpisahkan dari upaya itu.
Dilihat dari perspektif ini, menggunakan paradigma lama OpenBSD mungkin agak membatasi. Mengapa tidak bekerja bersama, antara kernel dan libc, untuk melihat apakah kita dapat menghasilkan sesuatu yang lebih baik, sebelum menetapkan antarmuka dengan semantik yang sulit untuk berjalan kembali nanti?
Apa adanya, sulit untuk merekomendasikan bahwa siapa pun benar-benar menggunakan fungsi ini. Tetap gunakan getrandom (2), yang sebagian besar memiliki semantik yang menguntungkan.
Ya, saya mengerti: menyenangkan membuat generator angka acak, dan begitu banyak proyek mencari cara untuk membuat yang lain entah bagaimana. Tetapi kecenderungan untuk melakukannya terasa seperti penyakit pengotak komputer yang aneh, bukan sesuatu yang pernah membantu ekosistem secara keseluruhan.
Jadi saya bertanya-tanya: siapa yang sebenarnya membutuhkan ini, dan mengapa? Seperti apa persyaratan kinerjanya, dan mengapa getrandom (2) tidak mencukupi? Dan apakah ini benar-benar pendekatan terbaik untuk diambil? Jika ini adalah sesuatu yang diperlukan, bagaimana perasaan Anda tentang bekerja sama dalam pendekatan vDSO? Atau mungkin tidak ada yang benar-benar membutuhkan ini sejak awal?
Dan kedua, apakah glibc bisa *tidak* melakukan ini, atau kapal itu berlayar penuh, dan saya benar-benar ketinggalan dengan tidak menjadi bagian dari diskusi itu setiap kali hal itu terjadi? Itu menghasilkan banyak bolak-balik diskusi antara Donenfeld dan pengembang toolchain GNU seputar kebutuhan kinerja mereka dan apa yang menyebabkan mereka mengerjakan fungsi arc4random untuk Glibc yang telah lama tersedia di BSD.
Dalam upaya untuk mengatasi kebutuhan kinerja acak mereka dengan lebih baik, hari ini Donenfeld telah mengusulkan penerapan getrandom() di vDSO. VDSO tentu saja menjadi perpustakaan objek bersama dinamis virtual yang secara otomatis dipetakan oleh kernel ke dalam ruang alamat untuk semua perangkat lunak ruang pengguna. Dengan menambahkan getrandom() ke vDSO, kinerja dapat ditingkatkan secara signifikan di atas overhead panggilan sistem. Jason menulis dalam permintaan komentar itu:
Sejauh ini dalam hasil pengujian saya, kinerjanya cukup bagus, dan tampaknya berfungsi. Tapi ini sangat, sangat muda, kode yang belum matang, cocok untuk RFC dan tidak lebih, jadi harap naga. Lihat milis untuk detail teknis lebih lanjut jika tertarik.
Selain itu, Jason Donenfeld telah menyederhanakan desain arc4random ke kode Glibc dan yang telah digabungkan ke Git. Penyederhanaan desain ini untuk keamanan yang lebih baik dengan fungsi arc4random baru dengan memanggil getrandom() setiap kali daripada menyangga entropi 16MiB di ruang pengguna, jadi ada beberapa overhead kinerja dengan penyederhanaan ini setidaknya untuk saat ini.

Itulah berita seputar Proposal Linux Menambahkan getrandom() Ke vDSO Untuk Performa Lebih Baik, semoga bermanfaat. Disadur dari Phoronix.com.

Terbaru

  • Kenapa Disney Matikan Dolby Vision dan HDR10? Ini Penjelasannya
  • Kenapa Bobon Santoso Pensiun Dari Youtube? Ini Alasan Sebenarnya
  • Apakah Bootcamp Hacktiv8 Penipu atau Direkomendasikan?
  • Inilah Estimasi Waktu Pencairan TPG 2026 Sehabis SKTP Muncul di Info GTK
  • Cara Menggunakan openClaw untuk Kebutuhan SEO
  • Apakah Tunjangan Profesi Guru Hangus Karena SKTP Belum Terbit?
  • Cara Tarik Saldo PNM Digi ke Rekening & Daftar: Panduan Lengkap & Terbaru!
  • Apa itu Penipuan Michat Hotel?
  • Yang Baru di Claude 5 Sonnet
  • Tip Jadi Kreator di Pinterest Tahun 2026
  • Cara Jualan Produk Digital Tanpa Harus Capek Promosi Terus-Menerus
  • Rangkuman Strategi Bisnis Baru dari CEO Youtube 2026, Wajib Dibaca Kreator Nih
  • Apa itu Platform WeVerse? Ini Penjelasan Lengkapnya
  • Inilah Cara Mendapatkan 1000 Subscriber Cuma dalam 3 Hari Tanpa Edit Video Sama Sekali
  • Apa itu Shibal Annyeong yang Viral TikTok?
  • Apakah iPhone Inter Aman?
  • Kenapa Gemini AI Bisa Error Saat Membuat Gambar? Ini Penjelasannya!
  • Daftar Akun Moonton via Web Tanpa Aplikasi untuk MLBB
  • Cara Hapus Akun Terabox: Panduan Lengkap dan Aman
  • Khaby Lame’s $957M Digital Identity Deal Explained
  • Cek HP Anak, Apakah Ada Video Viral Cukur Kumis Bawah
  • Jika ATM Terpelanting, Apakah Saldo Aman?
  • Inilah 5 Rekomendasi Smartwatch Terbaik di Bawah Rp1 Jutaan
  • Siapa Daud Tony yang Ramal Jatuhnya Saham & Harga Emas-Perak?
  • Berapa Cuan Dari 1.000 Tayangan Reels Facebook Pro?
  • Apakah Jika Ganti Baterai HP, Data akan Hilang?
  • Apa itu Game Sakura School Simulator Solwa?
  • Hasil Benchmark Xiaomi Pad 8 Global Bocor! Siap-siap Masuk Indonesia Nih
  • KAGET! Ressa Rizky Rossano Akui Sudah Nikah & Punya Anak
  • Inilah Kronologi Ledakan Bom Rakitan SMPN 3 Sungai Raya, Kubu Raya Kalbar
  • How to Access OneDrive Backup Files Easily
  • How to Update LibreOffice on Linux: A Simple Guide
  • What’s New on Ardour 9.0? A Major Update for Linux Audio Production
  • Dozzel: The Best Real-Time Docker Log Viewer
  • Calibre 9.2 Released: New ZIP Output and Features for E-Book Lovers
  • Cara Ubah Role Definition Menjadi Custom Instructions yang Efektif buat Claude Project
  • Cara Mendefinisikan Role Project Claude Agar Hasilnya Lebih Akurat dan Konsisten
  • Cara Buat AI Asisten Pribadi dengan Teknik RAG
  • Cara Membuat Podcast dari PDF dengan NotebookLlama dan Groq
  • Tutorial Membuat Sistem Automatic Content Recognition (ACR) untuk Deteksi Logo
  • Apa itu Spear-Phishing via npm? Ini Pengertian dan Cara Kerjanya yang Makin Licin
  • Apa Itu Predator Spyware? Ini Pengertian dan Kontroversi Penghapusan Sanksinya
  • Mengenal Apa itu TONESHELL: Backdoor Berbahaya dari Kelompok Mustang Panda
  • Siapa itu Kelompok Hacker Silver Fox?
  • Apa itu CVE-2025-52691 SmarterMail? Celah Keamanan Paling Berbahaya Tahun 2025
Beli Morning Star Kursi Gaming/Kantor disini: https://s.shopee.co.id/805iTUOPRV
Beli Pemotong Rumput dengan Baterai IRONHOOF 588V Mesin Potong Rumput 88V disini https://s.shopee.co.id/70DBGTHtuJ

©2026 emka.web.id | Design: Newspaperly WordPress Theme