Messages in this thread Patch in this message | | | Date | Sun, 06 Oct 2013 11:14:50 +0900 | From | Akira Hayakawa <> | Subject | Re: [dm-devel] dm-writeboost testing |
| |
Mikulas,
> The change seems ok. Please, also move this piece of code in flush_proc > out of the spinlock: > if (kthread_should_stop()) > return 0; > > It caused the workqueue warning I reported before and still causes warning > with kthreads: > note: flush_daemon[5145] exited with preempt_count 1
You are right. I fixed the bug.
diff --git a/Driver/dm-writeboost-daemon.c b/Driver/dm-writeboost-daemon.c index 65974e2..cf790bf 100644 --- a/Driver/dm-writeboost-daemon.c +++ b/Driver/dm-writeboost-daemon.c @@ -29,7 +29,6 @@ int flush_proc(void *data) cache->flush_wait_queue, (!list_empty(&cache->flush_queue)), msecs_to_jiffies(100)); - spin_lock_irqsave(&cache->flush_queue_lock, flags);
/* * flush daemon can exit @@ -37,6 +36,8 @@ int flush_proc(void *data) */ if (kthread_should_stop()) return 0; + else + spin_lock_irqsave(&cache->flush_queue_lock, flags); }
> I will send you next email with more bugs that I found in your code I will reply to you about this later. So much bugs and some seems to be crucial.
Akira
| |