[lkml]   [2000]   [Feb]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: how does kernel get the "current" task struct?
Manfred Spraul wrote:
> "H. Peter Anvin" wrote:
> > Wrong. It's %esp with a whole bunch of bits *MASKED*. This works
> > because the per-task area -- which includes the kernel stack -- is 8K
> > in size and aligned on an 8K boundary.
> >
> Could you check the buddy allocator?
> I think that the zoned buddy allocator aligns memory allocations
> relative to the beginning of the zone, and not relative to the physical
> address.
> I.e. if a zone starts at 0x00001000, then an 8K allocation will be
> unaligned. This could be a problem for CONFIG_DISCONTIG_MEM computers
> [normal i386 zones start at 0, 16MB, 4GB --> no alignment problems]

This is i386-specific though; effectively a way to deal with its
register-starved set. This isn't done with kmalloc(), as far as I know:
kmalloc() doesn't even *exist* at that point...


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
Please read the FAQ at

 \ /
  Last update: 2005-03-22 13:56    [from the cache]
©2003-2014 Jasper Spaans. hosted at Digital Ocean