kernel questions

kernel questions

Post by Doug Schul » Fri, 07 Apr 2000 04:00:00



In the kernel source, the "thread_struct" reflects has values that
reflect the computers registers.  One of these values is "eip", which is
the value for the instruction pointer.  Does anyone one know what level
of the page tables (x86 architecture) this value refers to (pte, pmd,
pgd)?  Also, a way that I can resolve this value to find what
"vm_area_struct" references this portion of memory for the specific
process?

Thank you so much,

Doug

 
 
 

kernel questions

Post by Anand Krishnamoorth » Sat, 08 Apr 2000 04:00:00


Hi Doug,
Pl. find my answers below:

Also, a way that I can resolve this value to find what
"vm_area_struct" references this portion of memory for the specific
process?
Answering your second Q first, to determine which Virtual Memory Area (VMA)
the address you retrieved it is only necessary to traverse the
vm_area_structs , it is not necessary to go through the page
table/ddirectories etc.

Quote:> In the kernel source, the "thread_struct" reflects has values that
> reflect the computers registers.  One of these values is "eip", which is
> the value for the instruction pointer.  Does anyone one know what level
> of the page tables (x86 architecture) this value refers to (pte, pmd,
> pgd)?

Any linear address , in your case that given by EIP , will be split into
three parts(I do not remember offhand how many bits each of the three has
out of the 32 bits).The first part will be the offset into the page
directory, (the base of which is pointed to by CR3 register).At this offset
in the page dir, the base address(physical) of the pmd can be found.The
second part of EIP will now be an offset into the pmd. At this offset, the
base (phy) address of the actual physical page in memory can be found. The
third section of the EIP is an offset into the page

Anand .K



 
 
 

1. Kernel question and performance question

Hi all,

  I've got a linux box using kernel 2.0.29 with the teardrop patch
installed. This machine is a dedicated web server hooked to the net
through a dedicated line. My web server software is Apache 1.2.4 .
  My first question is, will upgrading to the new 2.0.32 kernel be worth
while? I've seen some misgivings here and there and was wondering what
the general concensus is. No I'm not using RedHat. :)
  My second problem is performance related. After the server is up for
10 to 15 days it seems to just start slowing down, commands take longer
and longer to execute, Apache response times are extremly high and that
sorta thing.
  What could be causing this? free shows plenty of RAM open, usually
around 20 meg on a 64 meg machine. Killing and restarting proccesses
doesn't seem to help. I don't see any zombie proccess lurking around. No
loadable modules, I compile my needed drivers into the kernel, which is
only a few.
  Any ideas? More info needed? Tell me what you need to see to make an
accurate estimation of what the problem might be.

--
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Handle:Wild Card

Thought of the day:
Know thyself.  If you need help, call the C.I.A.

2. NIS unavail, root can't log in

3. Kernel Question

4. Genius GE2500III PCI Ethernet Card

5. Solaris kernel question

6. LinuxLand-Online Linux Support

7. Linux kernel questions

8. Linux - hardware compatibility?

9. irqbalance and relased kernel question

10. Newbie Kernel Questions

11. SMP kernel question..

12. Newbie New Kernel Question

13. Compiling New Kernel Question Is make install Necessary?