WSL2-Linux-Kernel/arch/x86/xen
Jeremy Fitzhardinge f595ec964d common implementation of iterative div/mod
We have a few instances of the open-coded iterative div/mod loop, used
when we don't expcet the dividend to be much bigger than the divisor.
Unfortunately modern gcc's have the tendency to strength "reduce" this
into a full mod operation, which isn't necessarily any faster, and
even if it were, doesn't exist if gcc implements it in libgcc.

The workaround is to put a dummy asm statement in the loop to prevent
gcc from performing the transformation.

This patch creates a single implementation of this loop, and uses it
to replace the open-coded versions I know about.

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: john stultz <johnstul@us.ibm.com>
Cc: Segher Boessenkool <segher@kernel.crashing.org>
Cc: Christian Kujau <lists@nerdbynature.de>
Cc: Robert Hancock <hancockr@shaw.ca>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2008-06-12 10:47:56 +02:00
..
Kconfig xen: allow compilation with non-flat memory 2008-04-24 23:57:33 +02:00
Makefile xen: make grant table arch portable 2008-04-24 23:57:32 +02:00
enlighten.c xen: allow compilation with non-flat memory 2008-04-24 23:57:33 +02:00
grant-table.c xen: make grant table arch portable 2008-04-24 23:57:32 +02:00
manage.c i386: move xen 2007-10-11 11:16:51 +02:00
mmu.c x86/xen: fix arbitrary_virt_to_machine() 2008-05-23 14:08:06 +02:00
mmu.h xen: refactor xen_{alloc,release}_{pt,pd}() 2008-04-04 18:36:48 +02:00
multicalls.c x86: coding style fixes to arch/x86/xen/multicalls.c 2008-04-17 17:40:50 +02:00
multicalls.h xen: add batch completion callbacks 2007-10-16 11:51:30 -07:00
setup.c xen: support sysenter/sysexit if hypervisor does 2008-04-24 23:57:31 +02:00
smp.c x86: use cpumask function for present, possible, and online cpus 2008-04-26 17:35:47 +02:00
time.c common implementation of iterative div/mod 2008-06-12 10:47:56 +02:00
vdso.h i386: move xen 2007-10-11 11:16:51 +02:00
xen-asm.S xen: fold xen_sysexit into xen_iret 2008-04-24 23:57:33 +02:00
xen-head.S xen: fix section usage in xen-head.S and setup.c 2008-01-30 13:33:25 +01:00
xen-ops.h xen: move events.c to drivers/xen for IA64/Xen support 2008-04-24 23:57:32 +02:00