Package Details: enhanceio-dkms-git 108.01-2

Git Clone URL: (read-only)
Package Base: enhanceio-dkms-git
Description: dkms module for EnhanceIO block device caching
Upstream URL:
Keywords: cache EnhanceIO SSD
Licenses: GPL
Submitter: thermionix
Maintainer: isiachi
Last Packager: Frontier
Votes: 10
Popularity: 0.000000
First Submitted: 2013-12-09 01:45
Last Updated: 2015-06-09 06:18

Dependencies (3)

Required by (0)

Sources (2)

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 Next › Last »

lockheed commented on 2015-03-24 12:13

@Frontier, my mistake. I meant question ➍.

I can't reinstall EnhanceIO because it is not installed. I cannot install it because of the error. I am hesitant to force-install it because I read it may severely break my system installation:

Frontier commented on 2015-03-24 12:05

@lockheed: I am using lru, said that earlier (the answer to your 5th question).
Try reinstalling EnhanceIO with yaourt using --force.

lockheed commented on 2015-03-24 11:43

Thank you for your answers! I would still be curious to know the answer to question 5.

As for the installation error - if I understand you correctly, you advise me to uninstall EnhanceIO and then install it again. However, I do not have in installed because I cannot install it due to this error. I tried with yaourt and with pacman.

Frontier commented on 2015-03-24 11:35


a. The cache will not be online, that's the only bad thing that will happen.
b. Correct.
I use writethrough (wt) on my development machine and on the other one (that is used only for demonstration purposes) readonly (ro). Both use lru.
The cache contents are persistent between reboots.

Finally, try uninstalling (pacman -R) and then re-install (e.g yaourt -S enhanceio-dkms-git) EnhanceIO, the package uses the correct directory structure as /lib and /sbin are system-wide links to their actual directories.

lockheed commented on 2015-03-24 08:43

Maybe it's something I did wrong, but if not then the package uses deprecated directory structure which renders it not installable:

# pacman -U enhanceio-dkms-git-107.01-2
error: failed to commit transaction (conflicting files)
enhanceio-dkms-git: /lib exists in filesystem
enhanceio-dkms-git: /sbin exists in filesystem
Errors occurred, no packages were upgraded.

lockheed commented on 2015-03-24 08:22

Oh, and one more:
➎. Which cache replacement policy do you recommend: rand, fifo or lru?

lockheed commented on 2015-03-24 08:18

Thanks for this quick response. I have some follow-ups if you don't mind. There isn't much info on this subject online.

➊a. If I don't do "dkms autoinstall -k <new kernel version>", after a reboot will there be any catastrophe, or will it just cause cache not to work and write/read directly from the HDD?
➊b. putting enhanceio into initcpio is only necessary if I use it on root, right?
➌. Everywhere I read, I read that writeback is risky. And author of this benchmark says, there is very little benefit of using wb over writethrough. What are your thoughts on performance and risk difference between the two? I am interested in both read and write performance.
➍. Does EnhanceIO cache most frequently or most recently accessed data? And is the cache content persistent between reboots or does it need to be refilled?

Frontier commented on 2015-03-24 07:56

@lockheed: Thank you for your kind words.
I assume you have read the Enhanceio wiki page here:

About your questions:
1. I am using EnhanceIO on a daily basis (on my primary machines) doing kernel updates without issues. I am using linux-ck-piledriver and linux-ck-haswell and the only thing you need to do after a kernel update is to run the command "dkms autoinstall -k <new kernel version>" and rebuild your initcpio, that's all.
2. I have not tested linux-mainline and/or custom kernels but if it compiles cleanly, it should.
3. As I mention in the wiki, do not use writeback strategy on rootfs as it will cause data corruption. You can use writeback on other volumes without issues.

lockheed commented on 2015-03-24 06:29

Hello Frontier,
Thank you for maintaining this project. I have few questions about its cooperation with kernel:
1. Do kernel (linux and linux-ck) updates need to be ceased until there is a new version of enhanceio supporting a new kernel, or can they be done freely?
2. Does it work with linux-mainline, and/or other custom kernels?
3. Are there any things related to enhanceio one must keep in mind while regularly updating and/or experimenting with the system? What I mean is data loss, breakage of functionality, etc.

Frontier commented on 2015-03-17 17:43

Updated for Linux-ck