lkml.org 
[lkml]   [2006]   [Sep]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: kernel BUGs when removing largish files with the SLOB allocator
On Tue, Sep 12, 2006 at 09:56:46PM +0100, David Howells wrote:
> Matt Mackall <mpm@selenic.com> wrote:
>
> > > > You just broke the bit that shrinks the arena.
> > >
> > > How? This is only called once when things are being initialised. There can
> > > be no SLOB objects allocated prior to that point.
> >
> > It's on a timer.
>
> So what then? The timer is still initialised:
>
> void kmem_cache_init(void)
> {
> +#if 0
> void *p = slob_alloc(PAGE_SIZE, 0, PAGE_SIZE-1);
>
> if (p)
> free_page((unsigned long)p);
> +#endif
>
> mod_timer(&slob_timer, jiffies + HZ);
> }

"allocate a page from the slob arena"
"if successful, release it to the page allocator"
"re-arm timer"

The only tricky part is the timer points back to _this very function_.

--
Mathematics is the supreme nostalgia of our time.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2006-09-12 23:09    [W:0.097 / U:0.060 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site