[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2] xmalloc: add support for checking the pool integrity
On Monday 08 December 2014 16:04:55 Ian Campbell wrote: > On Mon, 2014-12-08 at 18:00 +0200, Mihai DonÈu wrote: > > On Monday 08 December 2014 10:18:01 Jan Beulich wrote: > > > >>> On 08.12.14 at 03:30, <mdontu@xxxxxxxxxxxxxxx> wrote: > > > > +#ifndef NDEBUG > > > > +static bool_t xmem_pool_check_size(const struct bhdr *b, int fl, int > > > > sl) > > > > +{ > > > > + while ( b ) > > > > + { > > > > + int __fl; > > > > + int __sl; > > > > + > > > > + MAPPING_INSERT(b->size, &__fl, &__sl); > > > > + if ( __fl != fl || __sl != sl ) > > > > + { > > > > + printk(XENLOG_ERR "xmem_pool: for block %p size = %u, { fl > > > > = %d, sl = %d } should be { fl = %d, sl = %d }\n", > > > > > > Quoting my reply to v1: "Long line. Only the format message alone > > > is allowed to exceed 80 characters." > > > > > > > Just so I don't send another faulty patch, you would see that printk() > > being: > > > > printk(XENLOG_ERR > > "xmem_pool: for block %p size = %u, { fl = %d, sl = %d } should be > > { fl = %d, sl = %d }\n", > > b, b->size, fl, sl, __fl, __sl); > > > > ? > > The log message here is going to be substantially more than 80 > characters (the format string by itself already is). Could you find a > more compact representation of the useful info? > Ah! I see. I apologize for being so slow. :-) How about: printk(XENLOG_ERR "xmem_pool: %s: misplaced block %p:%u ({%d,%d} -> {%d,%d})\n", pool->name, b, b->size, fl, sl, __fl, __sl); Looks a bit cryptic, but the TLSF itself is pretty complex and for brave souls wishing to debug it, the message format will be the last thing on their minds. :-) Preview: [2014-12-04 15:41:23] (XEN) [ 1374.507125] xmem_pool: xmalloc: misplaced block ffff8304004fb9b0:0 ({3,9} -> {0,0}) [2014-12-04 15:41:23] (XEN) [ 1374.507127] xmem_pool: xmalloc: the TLSF chunk matrix is corrupted Thanks, -- Mihai DONÈU _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |