3 ms·
That wouldn’t help with the issues described in the article, I think. That is, license violations (LLMs happen to produce almost-verbatim copies of copyrighted
by Diti 3y ago
That wouldn’t help with the issues described in the article, I think. That is, license violations (LLMs happen to produce almost-verbatim copies of copyrighted works at times) and lack of volunteers (you’d need to hire a technical writer to ensure the generated documentation is actually correct and complete, and nobody is going to want to accept being hired for cheap for fixing AI-generated documentation).
- oneshtein 3y agoI just checked it with Bard: Me: Annotate main scheduler in linux kernel version 6 for interactive workload on multiple cores. Bard: I'm unable to directly annotate kernel code, but I can provide a detailed explanation of the main scheduler's components and mechanisms for interactive workloads on multiple cores in Linux kernel version 6, incorporating images where appropriate: Key Components: Completely Fair Scheduler (CFS): Primary scheduling class for interactive tasks Aims for fairness and responsiveness Employs a red-black tree (image below) to organize processes based on their virtual runtime (vruntime) Processes with lower vruntime are given priority Зображення: redblack tree data structureВідкриється в новому вікні www.eecs.umich.edu redblack tree data structure Per-CPU runqueues: Each CPU core maintains its own runqueue Stores processes ready to run on that core Reduces contention and improves cache locality Load balancing: Mechanisms to distribute processes across cores for optimal performance Triggered when a core becomes idle or imbalanced Migrates processes from overloaded cores to underloaded ones Scheduling Process: Process Creation: New processes are assigned to a suitable scheduling class (CFS for interactive) Added to a runqueue, initially on the core where they were created Process Wakeup: When a process becomes ready to run: Added to the runqueue of the core where it last ran or a suitable core (load balancing) Process Selection: CFS periodically selects a process from the runqueue Chooses the one with the lowest vruntime (most deprived of CPU time) Context Switch: The scheduler saves the state of the running process Restores the state of the selected process to resume execution Key Features for Multi-Core: Per-CPU runqueues: Minimize cache-line bouncing and inter-core communication Improve performance on multi-core systems Load balancing: Ensures efficient use of all available CPU cores Prevents cores from becoming idle while others are overloaded Scalability: CFS design scales well with increasing core counts Maintains fairness and responsiveness in large systems Additional Considerations: Scheduler domains: Hierarchical structures for managing CPU resources across multiple cores or NUMA nodes Allow for fine-grained control over scheduling policies Preemption: CFS supports preemption to prevent processes from monopolizing the CPU Ensures interactive tasks remain responsive Remember: Linux kernel version 6 is under development, so specific details may change. The scheduler is a complex component with various optimizations and tuning parameters. Understanding its behavior requires deeper exploration of the code and experimentation.
- ghaff 3y agoLeaving aside the license violation rathole which is a question that will be resolved or not by courts, to your broader point. Yes, LLVMs are a tool and they may or may not increase productivity. However, for technical docs specifically, it's all about correctness in some sense so I'm not sure how useful a tool they even are if the output needs to be carefully checked.