Messages in this thread | | | Subject | Re: [tip:x86/vdso] x86, vdso: Instead of dummy functions, include < linux/spinlock_up.h> | From | Stefani Seibold <> | Date | Mon, 17 Feb 2014 08:42:24 +0100 |
| |
Hi Peter,
Am Sonntag, den 16.02.2014, 20:06 -0800 schrieb H. Peter Anvin: > On 02/16/2014 07:51 PM, tip-bot for H. Peter Anvin wrote: > > Commit-ID: bd9ee7fd99f127ee1306289415141d45792c97f3 > > Gitweb: http://git.kernel.org/tip/bd9ee7fd99f127ee1306289415141d45792c97f3 > > Author: H. Peter Anvin <hpa@linux.intel.com> > > AuthorDate: Sun, 16 Feb 2014 19:47:01 -0800 > > Committer: H. Peter Anvin <hpa@linux.intel.com> > > CommitDate: Sun, 16 Feb 2014 19:47:01 -0800 > > > > x86, vdso: Instead of dummy functions, include <linux/spinlock_up.h> > > > > The list of dummy functions is insufficient. However, instead of > > having a full list of dummy functions we can include > > <linux/spinlock_up.h> which contains the (trivial) implementations > > that we use on uniprocessor. > > > > There aren't supposed to be any spinlocks at all in the VDSO, of > > course. > > > > That didn't work either. I thought I was clever, but it didn't work at > all. Multiple build failures across numerous configurations. This is > turning into a total headache. > > The "right" way to fix this is presumably to refactor a bunch of header > files so that the vdso code doesn't have to include a bunch of kernel > internal headers, but that is a lot of work. >
I think for the first time it will be okay to kick out the _ASM_X86_SPINLOCK_H hack and accept the C=1 warnings.
At next step it is necessary to make the whole BUILD_VDSO32 path in vclock_gettime.c independent from the kernel headers, only uapi/ should be included.
The use of cycle_t must be replaced with u64.
We need a own copy of __native_read_tsc(), __iter_div_u64_rem, smp_rmb() and cpu_relax().
For the non BUILD_VDSO32 path we must only move the #includes inside this #ifndef BUILD_VDSO32
- Stefani
| |