Messages in this thread | | | Date | Tue, 1 Apr 2008 00:00:55 +0300 | From | "Pekka Enberg" <> | Subject | Re: [RFC PATCH 25/26] UBIFS: add debugging stuff |
| |
Hi Artem,
On Thu, Mar 27, 2008 at 5:55 PM, Artem Bityutskiy <Artem.Bityutskiy@nokia.com> wrote: > The UBIFS code is large, and we have a plenty of debugging stuff > in there which helps to catch bugs. Some of the debugging stuff > will be deleted later.
Yes please. The code is somewhat noisy on the debugging side.
On Thu, Mar 27, 2008 at 5:55 PM, Artem Bityutskiy <Artem.Bityutskiy@nokia.com> wrote: > +void *dbg_kmalloc(size_t size, gfp_t flags) > + > +void *dbg_kzalloc(size_t size, gfp_t flags) > + > +void dbg_kfree(const void *addr) > + > +void *dbg_vmalloc(size_t size) > + > +void dbg_vfree(void *addr) > + > +void dbg_leak_report(void)
Not acceptable for mainline kernel. SLAB already provides leak detection and it should be straight-forward to port over to SLUB too.
> +/* > + * struct eaten_memory - memory object eaten by UBIFS to cause memory pressure. > + * @list: link in the list of eaten memory objects > + * @pad: just pads to memory page size > + */ > +struct eaten_memory { > + struct list_head list; > + uint8_t pad[PAGE_CACHE_SIZE - sizeof(struct list_head)]; > +};
If you need this, please make it a standalone module in mm/.
> +void dbg_eat_memory(void) > +{ > + struct eaten_memory *em; > + > + em = kmalloc(sizeof(struct eaten_memory), GFP_NOFS);
It's probably better to use the page allocator for this.
> +#ifdef CONFIG_UBIFS_FS_DEBUG > +#define UBIFS_DBG(op) op > +#define ubifs_assert(expr) do { \ > + > +/* Generic debugging message */ > +#define dbg_msg(fmt, ...) do { \ > + > +/* Debugging message which prints UBIFS key */ > +#define dbg_key(c, key, fmt, ...) do { \ > + > +#define dbg_err(fmt, ...) ubifs_err(fmt, ##__VA_ARGS__) > +#define dbg_dump_stack() dump_stack()
Please kill these wrappers and use BUG_ON, WARN_ON, and printk() where appropriate.
| |