On Tue, 2 Jun 2015, Jiri Bohac wrote: > > Looking over the leapsecond code, I noticed the printk messages > > reporting the leapsecond insertion in the second_overflow path > > were not using the printk_deferred method. This was surprising > > since the printk_deferred method was added in part to avoid > > printk-ing while holding the timekeeping locks. > > > > See 6d9bcb621b0b (timekeeping: use printk_deferred when holding > > timekeeping seqlock) for further rational. > > > > I can only guess that this omission was a git add -p oversight. > > second_overflow() is called from accumulate_nsecs_to_secs(). > > accumulate_nsecs_to_secs() is called from update_wall_time() > - once directly > - once via logarithmic_accumulation() > Both calls are before write_seqcount_begin(&tk_core.seq). > > So it looks safe to use printk there.
Couldn't we stuff a couple of !lockdep_is_held() assertions into printk() so that we don't have to keep rediscovering this sort of problems over and over again? Thanks, -- Jiri Kosina SUSE Labs -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/