vrv / linux-iopoll-deferral Goto Github PK
View Code? Open in Web Editor NEWPatch for deferred I/O polling (a modification of the existing interrupt mitigation strategy for SSDs)
Patch for deferred I/O polling (a modification of the existing interrupt mitigation strategy for SSDs)
Deferred I/O polling for the Linux ATA driver Author: Vijay Vasudevan ([email protected]) This work is aimed at improving the interrupt mitigation techniques for modern flash devices. This patch is an experimental feature and is not fully general (see note below). It is targeted toward recent kernel versions (2.6.32+) because it relies on the blk-iopoll infrastructure. This patch combines the ahci blk-iopoll support patch (after its split into libahci) with the deferred polling modifications. It patches and merges properly with Linux 2.6.36 to 2.6.39, and has been tested to run properly on 2.6.36. Notes: Our experience with this patch has shown significantly increased random IOPS rates when random I/O performance is CPU-bound, but this has slightly adverse impacts on sequential throughput. This modification works best for single drive configurations: the deferral of completion processing currently breaks out of the iopoll loop. If there are multiple iopoll structures (multiple drives), then we should continue processing the other drives, especially if they have a low I/O rate or are latency-sensitive. Use: The following sysctl has been added to play around with the parameters of deferral. Requires kernel.blk_iopoll=1 to activate. sysctl -w kernel.blk_iopoll_defer_by=X Defers the processing of an interrupt by X microseconds when the previous interrupt completed only 1 command. TODOs: 1) Make defer_by value adaptive based on I/O rate. 2) Fix unfair polling by continuing instead of breaking. Please contact [email protected] if you have any questions about the patch. Pull requests encouraged!
diff --git a/drivers/staging/ath6kl/os/linux/include/athendpack_linux.h b/drivers/staging/ath6kl/os/linux/include/athendpack_linux.h deleted file mode 100644 index e69de29..0000000 diff --git a/drivers/staging/ath6kl/os/linux/include/athstartpack_linux.h b/drivers/staging/ath6kl/os/linux/include/athstartpack_linux.h deleted file mode 100644 index e69de29..0000000
Last twelve.
diff --git a/scripts/setlocalversion b/scripts/setlocalversion index ef8729f..231071a 100755 --- a/scripts/setlocalversion +++ b/scripts/setlocalversion @@ -52,7 +52,7 @@ scm_version() # If only the short version is requested, don't bother # running further git commands if $short; then - echo "+" + echo "" return fi # If we are past a tagged commit (like
By the way, proven on 3.2.35
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.