Re: Why are task_struct and thread_info separate?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



David Wuertele wrote:
Ohad> task_struct is huge.  it's around 1,7KB on a 32 bit machine.  on
Ohad> the other hand, you can easily see that thread_info is much
Ohad> slimmer.

Yes, that is true, but task_struct's size hasn't changed significantly
since 2.4.  Since 2.4 doesn't have a stack space problem, I figured
there must have been something that changed in 2.5 which motivated the
developers to optimize for stack space.

Dave

The big stack use situations are IIRC  stacked filesystems;
say Fuse on UnionFs, on Reiser, on LVM, on dm.  etc....

plus theres the move to 4k stacks from 8k.

Besides, if its on the stack, it had to be put there, implying lots of data-movement overheads. If its all accessible via 1 more pointer indirection, without the 1.7 kb shuffle,
that sounds like a win.

--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
FAQ:           http://kernelnewbies.org/faq/


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux