xlab-uiuc/oxbow.kernel
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
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.
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.
For oxbow
============
# Oxbow File System: illufs
This file system module is illusive file system between kernel and oxbow user server.
It mainly route vfs requests to userland safely.
## Timeout setting to avoid deadlock
If daemon thread abnormally exited with holding kernel state lock (e.g. folio lock)
Kernel will be stucked in deadlock.
To avoid this, we add timeout feature to prevent these deadlock
### Setting up configuration by sysfs
Three system variable for setting up timeout barriers.
1.oxbow_wq_timeout: default 10 seconds
- If kernel thread not woken up for certain time, forcely waking up kernel thread.
- Setting up at least 1 second.
2.oxbow_timeout_enable: default enable
- timeout barrier for blocked kernel thread.
- overhead is very low even error occurs. (recommend not to disable)
3.oxbow_async_timeout_enable: default enable
- timeout barrier for asynchronous operations (e.g. readahead)
You can see the status of each variable from sysfs
```shell
cat /sys/kernel/oxbow/oxbow_wq_timeout
cat /sys/kernel/oxbow/oxbow_timeout_enable
cat /sys/kernel/oxbow/oxbow_async_timeout_enable
```
### Mount option for illufs
We can set ra_pages/io_pages on mounting illufs
```shell
sudo mount -t illufs -o ra_pages=32,io_pages=128 dummy /oxbow
```