Messages in this thread | | | Date | Sat, 21 Jan 2012 00:04:23 +0900 | Subject | Re: [PATCHv2] backing-dev: fix wakeup timer races with bdi_unregister() | From | Namjae Jeon <> |
| |
> > After this patch, this is what wakeup_timer_fn looks like: > > static void wakeup_timer_fn(unsigned long data) > { > struct backing_dev_info *bdi = (struct backing_dev_info *)data; > > spin_lock_bh(&bdi->wb_lock); > if (bdi->wb.task) { > trace_writeback_wake_thread(bdi); > wake_up_process(bdi->wb.task); > } else if (bdi->dev) { > /* > * When bdi tasks are inactive for long time, they are killed. > * In this case we have to wake-up the forker thread which > * should create and run the bdi thread. > */ > trace_writeback_wake_forker_thread(bdi); > wake_up_process(default_backing_dev_info.wb.task); > } > spin_unlock_bh(&bdi->wb_lock); > } > > So how will trace_writeback_wake_forker_thread() be called if bdi->dev is NULL? > > This patch added the if (bdi->dev) check, perhaps you overlooked that?
Hi Rabin. I clearly understand. Thanks for your explanation.
Reviewed-by: Namjae Jeon <linkinjeon@gmail.com> -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |