Messages in this thread | | | Date | Mon, 29 Sep 2008 19:35:40 -0400 | From | Mathieu Desnoyers <> | Subject | Re: [PATCH v10 Golden] Unified trace buffer |
| |
* Steven Rostedt (rostedt@goodmis.org) wrote: [...] > +/* > + * This hack stolen from mm/slob.c. > + * We can store per page timing information in the page frame of the page. > + * Thanks to Peter Zijlstra for suggesting this idea. > + */ > +struct buffer_page { > + union { > + struct { > + unsigned long flags; /* mandatory */ > + atomic_t _count; /* mandatory */ > + u64 time_stamp; /* page time stamp */ > + unsigned size; /* size of page data */ > + struct list_head list; /* list of free pages */ > + }; > + struct page page; > + }; > +}; > +
Hi Steven,
You should have a look at mm/slob.c free_slob_page(). I think your page free will generate a "bad_page" call due to mapping != NULL and mapcount != 0. I just ran into this in my own code. :)
Regards,
Mathieu
-- Mathieu Desnoyers OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68
| |