Skip to content
This repository has been archived by the owner on Feb 8, 2024. It is now read-only.

proc_dir_entry 'enhanceio/cache1' already registered #102

Open
rezass opened this issue Aug 23, 2015 · 9 comments
Open

proc_dir_entry 'enhanceio/cache1' already registered #102

rezass opened this issue Aug 23, 2015 · 9 comments

Comments

@rezass
Copy link

rezass commented Aug 23, 2015

Creating a cache in CentOS 7.0 and rebooting twice, results in a few errors in dmesg.
They're, however, not critical.

[root@localhost ~]# uname -r
3.10.0-229.11.1.el7.x86_64
[root@localhost ~]# dmesg | grep eio
[ 3.491817] enhanceio: module verification failed: signature and/or required key missing - tainting kernel
[ 3.606403] enhanceio: Slow (clean) shutdown detected
[ 3.606406] enhanceio: Only clean blocks exist in cache
[ 3.606410] enhanceio_lru: eio_lru_instance_init: created new instance of LRU
[ 3.606411] enhanceio: Setting replacement policy to lru (2)
[ 3.606414] enhanceio: Allocate 2038KB (8B per) mem for 260864-entry cache (capacity:1023MB, associativity:256, block size:4096 bytes)
[ 3.608124] enhanceio: Slow (clean) shutdown detected
[ 3.608125] enhanceio: Only clean blocks exist in cache
[ 3.608131] enhanceio_lru: eio_lru_instance_init: created new instance of LRU
[ 3.608132] enhanceio: Setting replacement policy to lru (2)
[ 3.608135] enhanceio: Allocate 2038KB (8B per) mem for 260864-entry cache (capacity:1023MB, associativity:256, block size:4096 bytes)
[ 3.676583] enhanceio: Cache metadata loaded from disk with 4 valid 0 dirty blocks
[ 3.676586] enhanceio: Setting mode to write back
[ 3.676609] enhanceio_lru: Initialized 1019 sets in LRU
[ 3.686351] enhanceio: Cache metadata loaded from disk with 4 valid 0 dirty blocks
[ 3.686353] enhanceio: Setting mode to write back
[ 3.686376] enhanceio_lru: Initialized 1019 sets in LRU
[ 3.717234] proc_dir_entry 'enhanceio/cache1' already registered
[ 3.717235] Modules linked in: enhanceio_rand(OF) enhanceio_lru(OF) enhanceio_fifo(OF) enhanceio(OF) sg coretemp crct10dif_pclmul crc32_pclmul crc32c_intel ghash_clmulni_intel ppdev vmw_balloon aesni_intel lrw gf128mul glue_helper ablk_helper cryptd pcspkr serio_raw vmw_vmci i2c_piix4 shpchp dm_mirror dm_region_hash dm_log dm_mod parport_pc parport ext4 mbcache jbd2 sd_mod sr_mod cdrom crc_t10dif crct10dif_common ata_generic pata_acpi vmwgfx drm_kms_helper ttm mptspi ata_piix scsi_transport_spi drm vmxnet3 mptscsih i2c_core mptbase libata floppy
[ 3.717261] CPU: 0 PID: 467 Comm: eio_cli Tainted: GF O-------------- 3.10.0-229.11.1.el7.x86_64 #1
[ 3.717294] [] eio_procfs_ctr+0x2e/0x220 [enhanceio]
[ 3.717297] [] eio_cache_create+0x9cf/0xb10 [enhanceio]
[ 3.717300] [] eio_ioctl+0x2df/0x310 [enhanceio]
[ 3.717326] sysctl duplicate entry: /dev/enhanceio/cache1//zero_stats
[ 3.717368] CPU: 0 PID: 467 Comm: eio_cli Tainted: GF W O-------------- 3.10.0-229.11.1.el7.x86_64 #1
[ 3.717392] [] eio_procfs_ctr+0x18f/0x220 [enhanceio]
[ 3.717395] [] eio_cache_create+0x9cf/0xb10 [enhanceio]
[ 3.717397] [] eio_ioctl+0x2df/0x310 [enhanceio]

@Ape
Copy link

Ape commented Aug 23, 2015

Is the cache still available after boot? I.e. do you see it in eio_cli info and /proc/enhanceio/?

@rezass
Copy link
Author

rezass commented Aug 23, 2015

Yes they are available.
Currently I'm testing with a virtual machine in ESX 6.0 (I had to set a configuration parameters so that ESX pass UUID for virtual disks that I'm using in VM)

@kdiogenes
Copy link

@Ape, I'm getting the same error, but eio_cli info return "No caches Found" and there is no entry in /proc/enhanceio/. There is anything I can do?

@Ape
Copy link

Ape commented Oct 20, 2015

@cerdiogenes, Try if pull request #103 helps. It should be easy to apply since it only modifies the user space Python script.

@jackyding2679
Copy link

I'm getting the same error in centos7 too.
#uname -r
3.10.0-229.el7.x86_64

I add some trace log in /etc/udev/94-enhanceio-eio1.rules
#cat /etc/udev/rules.d/94-enhanceio-eio1.rules
...
TEST!="/proc/enhanceio/eio1", PROGRAM="/bin/sh -c 'echo -------enable ssd cache >> /root/dingl/eio1msg'", RUN+="/sbin/eio_cli enable -d /dev/$env{disk_name} -s /dev/$env{ssd_name} -m wb -b 4096 -p lru -c eio1"
....

It shows that eio1 was been enabled twice:
#cat eio1msg
-------enable ssd cache
-------enable ssd cache

but i don't know how to fix this problem.

@kdiogenes
Copy link

@Ape no lucky with this pull request, same error.

@jackyding2679
Copy link

I reproduced this issue by doing this,enable eio1 twice at the same time:
#eio_cli enable -d /dev/sde2 -s /dev/sdc1 -p lru -m wb -b 4096 -c eio1 &
[1] 3134
#eio_cli enable -d /dev/sde2 -s /dev/sdc1 -p lru -m wb -b 4096 -c eio1 &
[2] 3140

ssd cache is still avaliable ,but sysctl info is gone:
#eio_cli info | grep eio1
Cache Name : eio1

#ls /proc/enhanceio/
eio1 eio2 eio3 eio4 eio5 eio6 eio7 eio8 version

#sysctl -a | grep eio1

There may be a bug in .rules file: /etc/udev/rules.d/94-enhanceio-eio.rules,or it is a udev problem.

@jackyding2679
Copy link

@Ape Any idea?

@kdiogenes
Copy link

Sometimes I don't get any error and I can see stats about my cache in /proc/enhanceio. A concurrency problem, but I don't understand how the kernel loads all this, so I can't help much more.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants