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

Re: WAW and RAW warnings in kernel build



>>>>> On Thu, 7 Aug 2003 12:34:09 +1000, Peter Chubb <peter@chubb.wattle.id.au> said:

  Peter> The main *other* class of warning is the one caued by the `dummy'
  Peter> arguments to system calls used in the kernel.

  Peter> arch/ia64/kernel/process.c: In function `kernel_thread':
  Peter> include/asm/unistd.h:341: warning: `dummy3' might be used uninitialized in this function
  Peter> include/asm/unistd.h:341: warning: `dummy4' might be used uninitialized in this function
  Peter> include/asm/unistd.h:341: warning: `dummy5' might be used
  Peter> uninitialized in this function

  Peter> There doesn't seem to be a way around those, either.  GCC doesn't have
  Peter> an `__attribute__ ((uninitialised))'

  Peter> And it seems a little silly to initialise these placeholder variables.

Perhaps we could just get rid of all that syscall-inlining ugliness
alltogether and turn the handful of syscalls needed by the kernel into
proper stubs.  On ia64, the syscall-inlines have never been used for
user-land and I don't think there are any performance critical uses
inside the kernel.

In fact, all kernel syscalls except for execve & clone, we can simply
call the corresponding kernel routine, like is done in
asm-alpha/unistd.h (this will even be faster than the inlined-stubs).

clone()/execve() are easiest to handle via a proper syscall, because
otherwise you'd have to setup the pt-regs structure etc. by hand.

	--david



Reply to: