On 2020-08-24, John Ogness <john.ogness@xxxxxxxxxxxxx> wrote: > @@ -1157,6 +1431,14 @@ bool prb_reserve(struct prb_reserved_entry *e, struct printk_ringbuffer *rb, > goto fail; > } > > + /* > + * New data is about to be reserved. Once that happens, previous > + * descriptors are no longer able to be extended. Finalize the > + * previous descriptor now so that it can be made available to > + * readers (when committed). > + */ > + desc_finalize(desc_ring, DESC_ID(id - 1)); > + > d = to_desc(desc_ring, id); > > /* Apparently this is not enough to guarantee that past descriptors are finalized. I am able to reproduce a scenario where the finalization of a certain descriptor never happens. That leaves the descriptor permanently in the reserved queried state, which prevents any new records from being created. I am investigating. John Ogness _______________________________________________ kexec mailing list kexec@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/kexec