History log of /src/sys/rump/librump/rumpkern/arch/x86 |
Revision | Date | Author | Comments |
1.2 | 22-Apr-2015 |
pooka | Define rump_nativeabi_p() under arch, where one would logically expect it to be defined.
|
1.1 | 12-Feb-2014 |
pooka | branches: 1.1.4; 1.1.6; 1.1.10; 1.1.12; Rototill a bit, and attempt to disguise it as non-gratuitous.
Add arch/generic and move non-x86 files from rumpkern/ there. Also, move files from arch/i386 to arch/x86, and make both i386 and x86_64 use those.
This clarifies the situation with what is MD vs. MI code.
renames: rumpcpu_generic,kobj_stubs,pmap_stubs => arch/generic/rump_generic_$x arch/i386/* => arch/x86/rump_x86_$x
(for those who forget, x86 requires MD code because rump kernels use the same ABI as kernel modules)
|
1.1.12.1 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.1.10.3 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.1.10.2 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.1.10.1 | 12-Feb-2014 |
tls | file Makefile.inc was added on branch tls-maxphys on 2014-08-20 00:04:41 +0000
|
1.1.6.2 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.1.6.1 | 12-Feb-2014 |
yamt | file Makefile.inc was added on branch yamt-pagecache on 2014-05-22 11:41:15 +0000
|
1.1.4.2 | 18-May-2014 |
rmind | sync with head
|
1.1.4.1 | 12-Feb-2014 |
rmind | file Makefile.inc was added on branch rmind-smpnet on 2014-05-18 17:46:19 +0000
|
1.2 | 26-Jan-2016 |
pooka | branches: 1.2.16; Put the kernelside rump kernel headers into <rump-sys> instead of sprinkling them around the faction directories. Avoids having to add a CPPFLAGS (or several) to pretty much every component Makefile.
Leave compat headers around in the old locations.
The commit changes some autogenerated files, but I'll fix the generators shortly and regen.
|
1.1 | 22-Apr-2015 |
pooka | branches: 1.1.2; Define rump_nativeabi_p() under arch, where one would logically expect it to be defined.
|
1.1.2.3 | 19-Mar-2016 |
skrll | Sync with HEAD
|
1.1.2.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.1.2.1 | 22-Apr-2015 |
skrll | file rump_x86_abi.c was added on branch nick-nhusb on 2015-06-06 14:40:29 +0000
|
1.2.16.2 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.2.16.1 | 26-Jan-2016 |
jdolecek | file rump_x86_abi.c was added on branch tls-maxphys on 2017-12-03 11:39:16 +0000
|
1.5 | 21-Aug-2022 |
riastradh | rump/x86: Need x86/cpufunc.h for declaration of wbinvd.
|
1.4 | 26-Jan-2016 |
pooka | Put the kernelside rump kernel headers into <rump-sys> instead of sprinkling them around the faction directories. Avoids having to add a CPPFLAGS (or several) to pretty much every component Makefile.
Leave compat headers around in the old locations.
The commit changes some autogenerated files, but I'll fix the generators shortly and regen.
|
1.3 | 22-Apr-2015 |
pooka | Apparently not all ports define struct clockframe in cpu.h, so we cannot provide our definition that way. Instead, generate the struct clockframe passed to hardclock() in MD code.
|
1.2 | 15-Mar-2014 |
pooka | branches: 1.2.4; 1.2.6; 1.2.10; 1.2.12; Allow compile-time optimizations to curlwp. This can have a pretty staggering impact on performance. When running sendto() in a loop, the improvement is 200k more calls per second with an inlined __thread curlwp as opposed to the default. In other words, it shaves off hundreds of CPU cycles per call (~20%). Even just eliminating the x86_curlwp() call in favor of an inline gives an improvement of 60k calls per second.
|
1.1 | 12-Feb-2014 |
pooka | Rototill a bit, and attempt to disguise it as non-gratuitous.
Add arch/generic and move non-x86 files from rumpkern/ there. Also, move files from arch/i386 to arch/x86, and make both i386 and x86_64 use those.
This clarifies the situation with what is MD vs. MI code.
renames: rumpcpu_generic,kobj_stubs,pmap_stubs => arch/generic/rump_generic_$x arch/i386/* => arch/x86/rump_x86_$x
(for those who forget, x86 requires MD code because rump kernels use the same ABI as kernel modules)
|
1.2.12.2 | 19-Mar-2016 |
skrll | Sync with HEAD
|
1.2.12.1 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.2.10.3 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.2.10.2 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.2.10.1 | 15-Mar-2014 |
tls | file rump_x86_cpu.c was added on branch tls-maxphys on 2014-08-20 00:04:41 +0000
|
1.2.6.2 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.2.6.1 | 15-Mar-2014 |
yamt | file rump_x86_cpu.c was added on branch yamt-pagecache on 2014-05-22 11:41:15 +0000
|
1.2.4.2 | 18-May-2014 |
rmind | sync with head
|
1.2.4.1 | 15-Mar-2014 |
rmind | file rump_x86_cpu.c was added on branch rmind-smpnet on 2014-05-18 17:46:19 +0000
|
1.2 | 15-Jun-2020 |
msaitoh | Serialize rdtsc using with lfence, mfence or cpuid to read TSC more precisely.
x86/x86/tsc.c rev. 1.67 reduced cache problem and got big improvement, but it still has room. I measured the effect of lfence, mfence, cpuid and rdtscp. The impact to TSC skew and/or drift is:
AMD: mfence > rdtscp > cpuid > lfence-serialize > lfence = nomodify Intel: lfence > rdtscp > cpuid > nomodify
So, mfence is the best on AMD and lfence is the best on Intel. If it has no SSE2, we can use cpuid.
NOTE: - An AMD's document says DE_CFG_LFENCE_SERIALIZE bit can be used for serializing, but it's not so good. - On Intel i386(not amd64), it seems the improvement is very little. - rdtscp instruct can be used as serializing instruction + rdtsc, but it's not good as [lm]fence. Both Intel and AMD's document say that the latency of rdtscp is bigger than rdtsc, so I suspect the difference of the result comes from it.
|
1.1 | 12-Feb-2014 |
pooka | branches: 1.1.4; 1.1.6; 1.1.10; Rototill a bit, and attempt to disguise it as non-gratuitous.
Add arch/generic and move non-x86 files from rumpkern/ there. Also, move files from arch/i386 to arch/x86, and make both i386 and x86_64 use those.
This clarifies the situation with what is MD vs. MI code.
renames: rumpcpu_generic,kobj_stubs,pmap_stubs => arch/generic/rump_generic_$x arch/i386/* => arch/x86/rump_x86_$x
(for those who forget, x86 requires MD code because rump kernels use the same ABI as kernel modules)
|
1.1.10.2 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.1.10.1 | 12-Feb-2014 |
tls | file rump_x86_cpu_counter.c was added on branch tls-maxphys on 2014-08-20 00:04:41 +0000
|
1.1.6.2 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.1.6.1 | 12-Feb-2014 |
yamt | file rump_x86_cpu_counter.c was added on branch yamt-pagecache on 2014-05-22 11:41:15 +0000
|
1.1.4.2 | 18-May-2014 |
rmind | sync with head
|
1.1.4.1 | 12-Feb-2014 |
rmind | file rump_x86_cpu_counter.c was added on branch rmind-smpnet on 2014-05-18 17:46:19 +0000
|
1.5 | 21-Aug-2022 |
riastradh | rump/x86: Add stubs for pmap_resident_count, pmap_wired_count.
These are no longer static inlines, now that struct pmap is private.
|
1.4 | 26-Jan-2016 |
pooka | Put the kernelside rump kernel headers into <rump-sys> instead of sprinkling them around the faction directories. Avoids having to add a CPPFLAGS (or several) to pretty much every component Makefile.
Leave compat headers around in the old locations.
The commit changes some autogenerated files, but I'll fix the generators shortly and regen.
|
1.3 | 17-Apr-2015 |
pooka | Give the kernel/local pmaps actual storage.
That way friendly neighborhood macros won't go scribbling in the wrong places.
|
1.2 | 03-Apr-2015 |
pooka | Use RUMP_PMAP_KERNEL and RUMP_PMAP_LOCAL to denote kernel and local client pmaps, respectively.
|
1.1 | 12-Feb-2014 |
pooka | branches: 1.1.4; 1.1.6; 1.1.10; 1.1.12; Rototill a bit, and attempt to disguise it as non-gratuitous.
Add arch/generic and move non-x86 files from rumpkern/ there. Also, move files from arch/i386 to arch/x86, and make both i386 and x86_64 use those.
This clarifies the situation with what is MD vs. MI code.
renames: rumpcpu_generic,kobj_stubs,pmap_stubs => arch/generic/rump_generic_$x arch/i386/* => arch/x86/rump_x86_$x
(for those who forget, x86 requires MD code because rump kernels use the same ABI as kernel modules)
|
1.1.12.3 | 19-Mar-2016 |
skrll | Sync with HEAD
|
1.1.12.2 | 06-Jun-2015 |
skrll | Sync with HEAD
|
1.1.12.1 | 06-Apr-2015 |
skrll | Sync with HEAD
|
1.1.10.3 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.1.10.2 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.1.10.1 | 12-Feb-2014 |
tls | file rump_x86_pmap.c was added on branch tls-maxphys on 2014-08-20 00:04:41 +0000
|
1.1.6.2 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.1.6.1 | 12-Feb-2014 |
yamt | file rump_x86_pmap.c was added on branch yamt-pagecache on 2014-05-22 11:41:15 +0000
|
1.1.4.2 | 18-May-2014 |
rmind | sync with head
|
1.1.4.1 | 12-Feb-2014 |
rmind | file rump_x86_pmap.c was added on branch rmind-smpnet on 2014-05-18 17:46:19 +0000
|
1.1 | 12-Feb-2014 |
pooka | branches: 1.1.4; 1.1.6; 1.1.10; Rototill a bit, and attempt to disguise it as non-gratuitous.
Add arch/generic and move non-x86 files from rumpkern/ there. Also, move files from arch/i386 to arch/x86, and make both i386 and x86_64 use those.
This clarifies the situation with what is MD vs. MI code.
renames: rumpcpu_generic,kobj_stubs,pmap_stubs => arch/generic/rump_generic_$x arch/i386/* => arch/x86/rump_x86_$x
(for those who forget, x86 requires MD code because rump kernels use the same ABI as kernel modules)
|
1.1.10.2 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.1.10.1 | 12-Feb-2014 |
tls | file rump_x86_spinlock.c was added on branch tls-maxphys on 2014-08-20 00:04:41 +0000
|
1.1.6.2 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.1.6.1 | 12-Feb-2014 |
yamt | file rump_x86_spinlock.c was added on branch yamt-pagecache on 2014-05-22 11:41:15 +0000
|
1.1.4.2 | 18-May-2014 |
rmind | sync with head
|
1.1.4.1 | 12-Feb-2014 |
rmind | file rump_x86_spinlock.c was added on branch rmind-smpnet on 2014-05-18 17:46:19 +0000
|
1.2 | 26-Jan-2016 |
pooka | Put the kernelside rump kernel headers into <rump-sys> instead of sprinkling them around the faction directories. Avoids having to add a CPPFLAGS (or several) to pretty much every component Makefile.
Leave compat headers around in the old locations.
The commit changes some autogenerated files, but I'll fix the generators shortly and regen.
|
1.1 | 12-Feb-2014 |
pooka | branches: 1.1.4; 1.1.6; 1.1.10; 1.1.12; Rototill a bit, and attempt to disguise it as non-gratuitous.
Add arch/generic and move non-x86 files from rumpkern/ there. Also, move files from arch/i386 to arch/x86, and make both i386 and x86_64 use those.
This clarifies the situation with what is MD vs. MI code.
renames: rumpcpu_generic,kobj_stubs,pmap_stubs => arch/generic/rump_generic_$x arch/i386/* => arch/x86/rump_x86_$x
(for those who forget, x86 requires MD code because rump kernels use the same ABI as kernel modules)
|
1.1.12.1 | 19-Mar-2016 |
skrll | Sync with HEAD
|
1.1.10.3 | 03-Dec-2017 |
jdolecek | update from HEAD
|
1.1.10.2 | 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.1.10.1 | 12-Feb-2014 |
tls | file rump_x86_spl.c was added on branch tls-maxphys on 2014-08-20 00:04:41 +0000
|
1.1.6.2 | 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.1.6.1 | 12-Feb-2014 |
yamt | file rump_x86_spl.c was added on branch yamt-pagecache on 2014-05-22 11:41:15 +0000
|
1.1.4.2 | 18-May-2014 |
rmind | sync with head
|
1.1.4.1 | 12-Feb-2014 |
rmind | file rump_x86_spl.c was added on branch rmind-smpnet on 2014-05-18 17:46:19 +0000
|