On 09/29/2014 04:04 PM, Steven Rostedt wrote: > On Mon, 29 Sep 2014 13:58:55 +0200 > Hannes Reinecke <hare@xxxxxxx> wrote: > >> From: "Steven Rostedt (Red Hat)" <rostedt@xxxxxxxxxxx> >> >> The seq_buf functions are rather useful outside of tracing. Instead >> of having it be dependent on CONFIG_TRACING, move the code into lib/ >> and allow other users to have access to it even when tracing is not >> configured. >> >> The seq_buf utility is similar to the seq_file utility, but instead of >> writing sending data back up to userland, it writes it into a buffer >> defined at seq_buf_init(). This allows us to send a descriptor around >> that writes printf() formatted strings into it that can be retrieved >> later. >> >> It is currently used by the tracing facility for such things like trace >> events to convert its binary saved data in the ring buffer into an >> ASCII human readable context to be displayed in /sys/kernel/debug/trace. >> >> It can also be used for doing NMI prints safely from NMI context into >> the seq_buf and retrieved later and dumped to printk() safely. Doing >> printk() from an NMI context is dangerous because an NMI can preempt >> a current printk() and deadlock on it. >> >> Link: http://lkml.kernel.org/p/20140619213952.058255809@xxxxxxxxxxx > > I don't know where this is going, but I'm currently rewriting this > code. Please don't add it yet to the kernel yet. I'm working on getting > seq_buf and seq_file to be more inlined with each other. A much better > sell if we can remove code with this change. > Hmm. I guess I'll be removing the respective patches then. I can get quite the same results with using scnprintf(); the seq_buf abstraction was just a nice way of coding. No substantial difference here. Cheers, Hannes -- Dr. Hannes Reinecke zSeries & Storage hare@xxxxxxx +49 911 74053 688 SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg) -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html