Re: [PATCH] mips: Save all registers when saving the frame

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

 



On Tue, Sep 16, 2014 at 04:45:25PM -0500, minyard@xxxxxxx wrote:

> From: Corey Minyard <cminyard@xxxxxxxxxx>
> 
> The MIPS frame save code was just saving a few registers, enough to
> do a backtrace if every function set up a frame.  However, this is
> not working if you are using DWARF unwinding, because most of the
> registers are wrong.  This was causing kdump backtraces to be short
> or bogus.
> 
> So save all the registers.

The stratey of partial and full stack frames was developed in '97 to bring
down the syscall overhead.  It certaily was very effective - it brought
down the syscall latency to the level of Alphas running at much higher
clock.

That certainly worked well back then for kernel 2.0 / 2.2.  But the syscall
code has become much more complex.  Since then support for 64 bit kernels,
two 32 bit ABIs running on a 64 bit kernels and numerous features that
changed the once simple syscall path have been implemented.  My gut feeling
is it might be worth to yank out the whole optimization to see how much
code complexity we get rid of in exchange for how much extra syscall
latency.

  Ralf





[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux