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

  • Inilah Caranya Daftar SMA Unggul Garuda Baru 2026 yang Diperpanjang, Cek Syarat dan Link Resminya!
  • Cara Cek Pencairan KJP Plus Tahap 1 Januari 2026 Beserta Daftar Nominal Lengkapnya
  • Lengkap! Inilah Kronologi Meninggalnya Vidi Aldiano Berjuang Melawan Kanker
  • Inilah Cara Tarik Data PKH di EMIS 4.0 Agar Bantuan Siswa Tetap Cair!
  • Inilah Trik Jitu SEO Shopee untuk Pemula: Jualan Laris Manis Tanpa Perlu Bakar Duit Iklan!
  • Inilah Peluang Emas Jadi Karyawan BUMN Tanpa Ngantre: Program Ikatan Kerja ULBI 2026
  • Inikah Daftar CPNS Kemenkeu 2026? Cek 48 Jurusan yang Paling Dibutuhkan!
  • Inilah 4 Beasiswa Khusus Warga ASEAN dengan Peluang Lolos Lebih Tinggi, Kalian Wajib Tahu!
  • Inilah Alasan Ribuan Dosen ASN Melayangkan Surat Keberatan Soal Tukin 2020-2024 yang Belum Cair
  • Cara Dapat Diamond Free Fire Gratis 2026, Pemain FF Harus Tahu!
  • Inilah Cara Mengisi Presensi EMIS GTK IMP 2026 Terbaru Biar Tunjangan Lancar
  • Inilah Trik Hashtag Viral Supaya Video Shorts Kalian Nggak Sepi Penonton Lagi
  • Inilah Jawabannya, Apakah Zakat Fitrah Kalian Bisa Mengurangi Pajak Penghasilan?
  • Inilah Caranya Supaya Komisi TikTok dan Shopee Affiliate Tetap Stabil Pasca Ramadhan!
  • Inilah 10 Kesalahan Fatal Saat Beli Properti yang Bisa Bikin Kalian Bangkrut!
  • Belum Tahu Cara Masuk Simpatika Terbaru? Ini Cara Login PTK EMIS GTK IMP 2026 Supaya Cek TPG Jadi Lebih Gampang!
  • Inilah Cara Bikin Konten Animasi AI Cuma Modal HP Supaya Bisa Gajian Rutin dari YouTube
  • Inilah Alasan Kenapa Zakat ke Ormas yang Belum Diakui Negara Nggak Bisa Dipakai Buat Ngurangin Pajak!
  • Inilah Cara Belanja di Indomaret Pakai Shopee PayLater yang Praktis dan Bikin Hemat!
  • Inilah 10 Jurusan Terfavorit di Universitas Negeri Semarang Buat SNBT 2026, Saingannya Ketat Banget!
  • Belum Tahu? Inilah Cara Mudah Membuat Akun dan Login EMIS GTK IMP 2026 yang Benar!
  • Cara Dapat Kode Kartu Hadiah Netflix Gratis Tanpa Ribet
  • Inilah Caranya Dapet Bukti Setor Zakat Resmi dari NU-Care LazisNU Buat Potong Pajak di Coretax!
  • Inilah 10 Jurusan Terfavorit di Universitas Brawijaya Buat SNBT 2026, Saingannya Ketat Banget!
  • Inilah Cara Terbaru Login dan Ubah Password Akun PTK di EMIS GTK IMP 2026
  • Inilah Batas Maksimal Zakat untuk Pengurang Pajak, Ternyata Begini Aturannya!
  • Inilah Cara Mengenali Aplikasi Bodong Penghasil Uang Agar Kalian Nggak Jadi Korban Penipuan Digital
  • Apa itu Error Kode LADK3 saat Buka Rekening Brimo? Dan Solusinya!
  • BOHONG??? Inilah Rincian Anggaran Makan Bergizi Gratis, Ternyata Uang Bahan Makanannya Nggak Sampai Rp15.000!
  • Inilah Tugas Proktor Ujian TKA SD/SMP 2026, Baca Dulu Ada Yang Beda!
  •  How to Fix Microsoft 365 Deployment Tool Not Working: A Complete Troubleshooting Guide
  •  How to Fix Windows 11 ISO Download Blocked and Error Messages
  • How to Make Your Website Vibrate with Web Haptics
  • Measuring LLM Bullshit Benchmark
  • A Step-by-Step Guide to ZITADEL Identity Infrastructure
  • How to Launching Production-Ready Agents with Google Antigravity and AI Studio
  • How to Automate Your Business Intelligence with Google Antigravity and NotebookLM
  • The Secret Reason Seedance 2.0 is Realistic
  • Exploring Microsoft Phi-4 Reasoning Vision 15B
  • Gemini 3.1 Flash-Lite Released: How to Master Google’s Fastest AI Model for Real-World Projects
  • 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 Pemotong Rumput dengan Baterai IRONHOOF 588V Mesin Potong Rumput 88V disini https://s.shopee.co.id/70DBGTHtuJ
Beli Morning Star Kursi Gaming/Kantor disini: https://s.shopee.co.id/805iTUOPRV

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