Re: [PATCH 07/12] x86/entry/64: Always run ptregs-using syscalls on the slow path
From: Ingo Molnar
Date: Tue Dec 08 2015 - 13:56:46 EST
* Brian Gerst <brgerst@xxxxxxxxx> wrote:
> > We could adjust it a bit and check whether we're in C land (by checking rsp
> > for ts) and jump into the slow path if we aren't, but I'm not sure this is a
> > huge win. It does save some rodata space by avoiding duplicating the table.
>
> The syscall table is huge. 545*8 bytes, over a full page. Duplicating it for
> just a few different entries is wasteful.
Note that what matters more is cache footprint, not pure size: 1K of RAM overhead
for something as fundamental as system calls is trivial cost.
So the questions to ask are along these lines:
- what is the typical locality of access (do syscall numbers cluster in time and
space)
- how frequently would the two tables be accessed (is one accessed less
frequently than the other?)
- subsequently how does the effective cache footprint change with the
duplication?
it might still end up not being worth it - but it's not the RAM cost that is the
main factor IMHO.
Thanks,
Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/