Názor k článku Kernel panic s QR v Linuxu 6.12, neshody Rust vývojářů se správci částí jádra od RDa - Ona ta cachovatelnost je docela rozdil mezi platformama.....

  • 2. 9. 2024 13:25

    RDa

    Ona ta cachovatelnost je docela rozdil mezi platformama.. napr stridat ARM vs X86, tak si musite v driveru hodne ohlidat, ze chcete opravdu onen koherentni pool (necachovanou oblast). Na jedne z platforem ale bude fungovat i cachovana, protoze struktura caches je jina a dokud to nezkusite portovat jinam, tak nevidite, ze mate problem, protoze zdanlive vse funguje.

    A nekde jde udelat cache flush, a nekde udelat nejde. Nekde flush znamena dropnout celou cache, nekde jen dotcene radky - tahle nekonzistentnost je nejvetsi pitomost prozatim v Linuxu, kdyz resite low level veci, ale oni na to nemaj konzistentni API.

    Prakticky napr nas DMA driver pouziva oba typy alokaci - koherentni region (s marnym vykonem) obsahuje jen deskriptory ktere je nutno menit pri linkovani bufferu runtime, a obycejne alokace pro vsechny ostatni - staticky inicializovane a pozdeji nemenne deskriptory.