freebsd-nq/sys/arm
Attilio Rao c7aebda8a1 The soft and hard busy mechanism rely on the vm object lock to work.
Unify the 2 concept into a real, minimal, sxlock where the shared
acquisition represent the soft busy and the exclusive acquisition
represent the hard busy.
The old VPO_WANTED mechanism becames the hard-path for this new lock
and it becomes per-page rather than per-object.
The vm_object lock becames an interlock for this functionality:
it can be held in both read or write mode.
However, if the vm_object lock is held in read mode while acquiring
or releasing the busy state, the thread owner cannot make any
assumption on the busy state unless it is also busying it.

Also:
- Add a new flag to directly shared busy pages while vm_page_alloc
  and vm_page_grab are being executed.  This will be very helpful
  once these functions happen under a read object lock.
- Move the swapping sleep into its own per-object flag

The KPI is heavilly changed this is why the version is bumped.
It is very likely that some VM ports users will need to change
their own code.

Sponsored by:	EMC / Isilon storage division
Discussed with:	alc
Reviewed by:	jeff, kib
Tested by:	gavin, bapt (older version)
Tested by:	pho, scottl
2013-08-09 11:11:11 +00:00
..
allwinner Bring initial support for Allwinner A20 SoC (Cubieboard2). 2013-08-07 11:07:56 +00:00
arm The soft and hard busy mechanism rely on the vm object lock to work. 2013-08-09 11:11:11 +00:00
at91 Replace kernel virtual address space allocation with vmem. This provides 2013-08-07 06:21:20 +00:00
broadcom/bcm2835 Move the Raspberry Pi low level options out of the kernel config and into 2013-07-15 07:01:30 +00:00
conf Bring initial support for Allwinner A20 SoC (Cubieboard2). 2013-08-07 11:07:56 +00:00
econa Eliminate a redundant #include: machine/pmap.h is already included 2013-03-01 19:02:41 +00:00
freescale/imx Tweak the imx debug console code so that it works with multiple SoCs. 2013-08-03 13:31:10 +00:00
include When entering exception handlers we may not have an aligned stack. This is 2013-08-05 19:06:28 +00:00
lpc MFcalloutng: 2013-02-28 13:46:03 +00:00
mv Replace kernel virtual address space allocation with vmem. This provides 2013-08-07 06:21:20 +00:00
s3c2xx0 Replace kernel virtual address space allocation with vmem. This provides 2013-08-07 06:21:20 +00:00
sa11x0 Fix low-level uart drivers that set their fifo sizes in the softc too late. 2013-04-01 00:44:20 +00:00
samsung/exynos Import basic support for Samsung Exynos 5 support. 2013-06-29 23:39:05 +00:00
tegra Merge the FDT versions of initarm. 2012-11-03 22:39:07 +00:00
ti Let the platform calculate the timer frequency at runtime, and use that for 2013-08-05 20:14:56 +00:00
versatile - Fix IMAPx registers values calculation 2013-06-29 23:51:17 +00:00
xilinx Bring copyright changes with the agreement of Thomas Skibo. 2013-04-28 07:00:36 +00:00
xscale Replace kernel virtual address space allocation with vmem. This provides 2013-08-07 06:21:20 +00:00