mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 19:30:30 +09:00
5e6feacb2a7c782f5299ab29bc934b93aa601fcf
Read log buffer can have multiple threads doing any of these operations simultaneously: - Polling for changes - Reading log records - Adding new log records - Updating log buffer size, or enabling/disabling it completely As we don't control the userspace, and it turns out that they all currently originate from different processes, code needs to be safe against parallel access to a read buffer and a request for reallocating it. This CL add an r/w spinlock to protect the buffer and its size. Each remount takes the write lock, while everything else takes a read lock. Remount makes sure it doesn't take too long by preallocating and precalculating all updates, while other operations don't care much about their critical section size - they all can still run together. Bug: 152633648 Test: manual remount + reading Signed-off-by: Yurii Zubrytskyi <zyy@google.com> Signed-off-by: Paul Lawrence <paullawrence@google.com> Change-Id: I7271b4cb89f1ae2cbee6e5b073758f344c4ba66a
Linux kernel
============
There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.
In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``. The formatted documentation can also be read online at:
https://www.kernel.org/doc/html/latest/
There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.
See Documentation/00-INDEX for a list of what is contained in each file.
Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.
Description
Languages
C
97.7%
Assembly
1.6%
Makefile
0.3%
Perl
0.1%