If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.
in the past there have always been issues when using ZFS + 2 audio streams or other stuff (e.g. scrolling in the web and entering text)
the result was that the computer effectively wasn't usable for anything else than running the backup job of ZFS and playing one audio track with hickups from time to time
currently I'm running geek-sources 3.4.2 with ck-patchset ck2 for 3.4 kernel
BFS 423 patched to 424 (is supposed to fix some i/o interactivity issues) and added your O(1) tweaks
this is the best desktop kernel by far - since EVER
having the data integrity features ZFS available and at the same time fully smooth desktop experience is full win-win in my books
thanks again !
now we only need to convince Con to include those (and/or additional upcoming) tweaks from you into BFS
best of course would be to add BFS to mainline as an option to select for desktop users ...
edit:
ok, there's still the issue that HD videos (720p+) act slightly jerky but the sound in 99% is consistent
so ZFSonLinux still needs some tweaking until it is fully suited for desktop/multimedia usage
can't believe how much the CPU scheduler alone makes a difference in those things
I'm using some additional CFQ tweaks - they also might help:
BFS won't be adopted because Con is having argument with the mainline developer. Also, I have found a designing problem that BFS has, is the starvation of sleep task. They can't be scheduled as fair as the cpu-intensive task and as you said, will cause hickup. For example there are 6 task running and there nice value is 0. Five of them are while1 and the remain one is X. All of them should get 16.666% of cpu time. In fact X cannot get 16.666% of cpu time correctly.
Chen
Also I have rewritten several part of RIFS-ES scheduler. Many people reported that RIFS-ES scheduler can cause some strange behavior e.g. strange CPU load(Reported by ID:KernelOfTruth on Phoronix). The original RIFS-ES scheduler count the tick directly(p->tick_used++). Many people knows that tickless system(dynamic tick) tune the frequency of clock dynamicly. Sorry for making such kind of unacceptable mistake.
Here is the link for RIFS-ES patch for 3.5 kernel: http://rifs-scheduler.googlecode.com...es-kernel3.5.x
Also I have rewritten several part of RIFS-ES scheduler. Many people reported that RIFS-ES scheduler can cause some strange behavior e.g. strange CPU load(Reported by ID:KernelOfTruth on Phoronix). The original RIFS-ES scheduler count the tick directly(p->tick_used++). Many people knows that tickless system(dynamic tick) tune the frequency of clock dynamicly. Sorry for making such kind of unacceptable mistake.
Here is the link for RIFS-ES patch for 3.5 kernel: http://rifs-scheduler.googlecode.com...es-kernel3.5.x
Chen
no problem - life goes first
I was busy, too with other things and 3.4 + RIFS worked great so far
currently I'm running 3.5 kernel with rifs-kernel3.5.x and it booted up fine
great work - thanks !
there meanwhile where some improvements in ZFS, too - so with RIFS, some i/o scheduler it should be possible to have real multitasking during large data transfers running with ZFS
finally ! data consistency and safety + great performance
will test it during the next days and see how it goes ...
I was busy, too with other things and 3.4 + RIFS worked great so far
currently I'm running 3.5 kernel with rifs-kernel3.5.x and it booted up fine
great work - thanks !
there meanwhile where some improvements in ZFS, too - so with RIFS, some i/o scheduler it should be possible to have real multitasking during large data transfers running with ZFS
finally ! data consistency and safety + great performance
will test it during the next days and see how it goes ...
Ok. Now I am running all my boxes with RIFS-ES(I mean this new version). Normally both of them perform well. RIFS-ES performs a bit better than RIFS on music playing.
with
CONFIG_NUMA=y
CONFIG_AMD_NUMA=y
CONFIG_X86_64_ACPI_NUMA=y
CONFIG_NODES_SPAN_OTHER_NODES=y
# CONFIG_NUMA_EMU is not set
CONFIG_NODES_SHIFT=9
i get
kernel/sched/rifs.c: In function ?sd_init_ALLNODES?:
kernel/sched/rifs.c:5621:470: error: ?SD_ALLNODES_INIT? undeclared (first use in this function)
kernel/sched/rifs.c:5621:470: note: each undeclared identifier is reported only once for each function it appears in
kernel/sched/rifs.c: In function ?sd_init_NODE?:
kernel/sched/rifs.c:5622:466: error: ?SD_NODE_INIT? undeclared (first use in this function)
make[3]: *** [kernel/sched/rifs.o] Fehler 1
make[2]: *** [kernel/sched] Fehler 2
make[1]: *** [kernel] Fehler 2
with "# CONFIG_NUMA is not set", the kernel compile without errors, please fix it
Debian SID 64bit
Vanilla Kernel 3.5 with rifs-es-kernel3.5.x or rifs-kernel3.5.x, no other patches
with
CONFIG_NUMA=y
CONFIG_AMD_NUMA=y
CONFIG_X86_64_ACPI_NUMA=y
CONFIG_NODES_SPAN_OTHER_NODES=y
# CONFIG_NUMA_EMU is not set
CONFIG_NODES_SHIFT=9
i get
kernel/sched/rifs.c: In function ‘sd_init_ALLNODES’:
kernel/sched/rifs.c:5621:470: error: ‘SD_ALLNODES_INIT’ undeclared (first use in this function)
kernel/sched/rifs.c:5621:470: note: each undeclared identifier is reported only once for each function it appears in
kernel/sched/rifs.c: In function ‘sd_init_NODE’:
kernel/sched/rifs.c:5622:466: error: ‘SD_NODE_INIT’ undeclared (first use in this function)
make[3]: *** [kernel/sched/rifs.o] Fehler 1
make[2]: *** [kernel/sched] Fehler 2
make[1]: *** [kernel] Fehler 2
with "# CONFIG_NUMA is not set", the kernel compile without errors, please fix it
Debian SID 64bit
Vanilla Kernel 3.5 with rifs-es-kernel3.5.x or rifs-kernel3.5.x, no other patches
Ok. I will fix it tomorrow because I am really sleepy now. The mainline kernel has already deprecated sd_init_ALLNODES and I had not notice this change.
with
rifs-kernel3.5.x RIFS-SCHEDULER-3.5.x Offical 7 hours ago 7 hours ago 179 KB 6
kernel/exit.c: In function ?__exit_signal?:
kernel/exit.c:148:32: error: ?struct task_struct? has no member named ?se?
make[2]: *** [kernel/exit.o] Error 1
make[1]: *** [kernel] Error 2
Comment