Fix a WARN_ON caused by smp_call_function_any() when irq is disabled,
because of changes made in the patch ('cpufreq: powernv: Ramp-down
global pstate slower than local-pstate')
https://patchwork.ozlabs.org/patch/612058/
WARNING: CPU: 0 PID: 4 at kernel/smp.c:291
When global and local pstate are equal in a powernv_target_index() call,
we don't queue a timer. But we may have timer already queued for future.
This could cause the timer to fire one additional time for no use.
Signed-off-by: Akshay Adiga
---
Patch is based on
Fix a WARN_ON caused by smp_call_function_any() when irq is disabled,
because of changes made in the patch ('cpufreq: powernv: Ramp-down
global pstate slower than local-pstate')
https://patchwork.ozlabs.org/patch/612058/
WARNING: CPU: 0 PID: 4 at kernel/smp.c:291
When global and local pstate are equal in a powernv_target_index() call,
we don't queue a timer. But we may have timer already queued for future.
This could cause the timer to fire one additional time for no use.
Signed-off-by: Akshay Adiga
---
Patch is based on Rafael's linux-next
Migrate references from the blade info structs to the per node hub info
structs. This phases out the allocation of the list of per blade info
structs on node 0, in favor of a per node hub info struct allocated on
the node's local memory.
There are also some minor cosemetic changes in the
UV4 uses a GAM (globally addressed memory) architecture that supports
variable sized memory per node. This replaces the old "M" value (number
of address bits per node) with a range table for conversions between
addresses and physical node (pnode) id's. This table is obtained from UV
BIOS via the
UV4 requires early system wide addressing values. This involves the use
of the CPUID instruction to obtain these values. The current function
(detect_extended_topology()) in the kernel has been copied and streamlined,
with the limitation that only CPU's used by UV architectures are supported.
Change the references to the SCIR fields to the new per cpu info structs.
Signed-off-by: Mike Travis
Reviewed-by: Dimitri Sivanich
Tested-by: John Estabrook
Tested-by: Gary Kroening
Tested-by: Nathan Zimmer
Move references to blade local processor ID to the new per cpu info
structs. Create an access function that makes this move, and other
potential moves opaque to callers of this function. Define a flag
that indicates to callers in external GPL modules that this function
replaces any local
Fixes are based on patch https://patchwork.ozlabs.org/patch/612058/ which
is in Rafael's linux-next.
- Patch [1] fixes WARN_ON in powernv_target_index()
- Patch [2] Deleting any pending timer to saves an unnecessary irq call
in powernv_target_index()
Akshay Adiga (2):
cpufreq: powernv: Move
The major portion of the hub info is common to all cpus on that hub.
This is step one of moving the per cpu hub info to a per node hub info
struct. This patch creates the small per cpu info struct that will
contain only information specific to each CPU.
Signed-off-by: Mike Travis
On 05/03/2016 09:22 AM, Jan Kara wrote:
On Tue 03-05-16 08:23:27, Jens Axboe wrote:
On 05/03/2016 03:34 AM, Jan Kara wrote:
On Thu 28-04-16 12:53:50, Jens Axboe wrote:
2) As far as I can see in patch 8/8, you have plugged the throttling above
the IO scheduler. When there are e.g. multiple
Migrate references from the blade info structs to the per node hub info
structs. This phases out the allocation of the list of per blade info
structs on node 0, in favor of a per node hub info struct allocated on
the node's local memory.
There are also some minor cosemetic changes in the
UV4 uses a GAM (globally addressed memory) architecture that supports
variable sized memory per node. This replaces the old "M" value (number
of address bits per node) with a range table for conversions between
addresses and physical node (pnode) id's. This table is obtained from UV
BIOS via the
UV4 requires early system wide addressing values. This involves the use
of the CPUID instruction to obtain these values. The current function
(detect_extended_topology()) in the kernel has been copied and streamlined,
with the limitation that only CPU's used by UV architectures are supported.
Change the references to the SCIR fields to the new per cpu info structs.
Signed-off-by: Mike Travis
Reviewed-by: Dimitri Sivanich
Tested-by: John Estabrook
Tested-by: Gary Kroening
Tested-by: Nathan Zimmer
---
arch/x86/include/asm/uv/uv_hub.h | 17 ++---
Move references to blade local processor ID to the new per cpu info
structs. Create an access function that makes this move, and other
potential moves opaque to callers of this function. Define a flag
that indicates to callers in external GPL modules that this function
replaces any local
Fixes are based on patch https://patchwork.ozlabs.org/patch/612058/ which
is in Rafael's linux-next.
- Patch [1] fixes WARN_ON in powernv_target_index()
- Patch [2] Deleting any pending timer to saves an unnecessary irq call
in powernv_target_index()
Akshay Adiga (2):
cpufreq: powernv: Move
The major portion of the hub info is common to all cpus on that hub.
This is step one of moving the per cpu hub info to a per node hub info
struct. This patch creates the small per cpu info struct that will
contain only information specific to each CPU.
Signed-off-by: Mike Travis
Reviewed-by:
On 05/03/2016 09:22 AM, Jan Kara wrote:
On Tue 03-05-16 08:23:27, Jens Axboe wrote:
On 05/03/2016 03:34 AM, Jan Kara wrote:
On Thu 28-04-16 12:53:50, Jens Axboe wrote:
2) As far as I can see in patch 8/8, you have plugged the throttling above
the IO scheduler. When there are e.g. multiple
Allocate and setup per node hub info structs. CPU 0/Node 0 hub info
is statically allocated to be accessible early in system startup. The
remaining hub info structs are allocated on the node's local memory,
and shared among the CPU's on that node. This leaves the small amount
of info unique to
With the UV4 system architecture addressing changes, BIOS now provides
this information via an EFI system table. This is the initial decoding
of that system table. It also collects the sizing information for
later allocation of dynamic conversion tables.
Signed-off-by: Mike Travis
Allocate and setup per node hub info structs. CPU 0/Node 0 hub info
is statically allocated to be accessible early in system startup. The
remaining hub info structs are allocated on the node's local memory,
and shared among the CPU's on that node. This leaves the small amount
of info unique to
With the UV4 system architecture addressing changes, BIOS now provides
this information via an EFI system table. This is the initial decoding
of that system table. It also collects the sizing information for
later allocation of dynamic conversion tables.
Signed-off-by: Mike Travis
Reviewed-by:
Replace all trans_start updates with netif_trans_update helper.
change was done via spatch:
struct net_device *d;
@@
- d->trans_start = jiffies
+ netif_trans_update(d)
Compile tested only.
Cc: user-mode-linux-de...@lists.sourceforge.net
Cc: linux-xte...@linux-xtensa.org
Cc:
This patch builds support for the new conversions of physical addresses
to and from sockets, pnodes and nodes in UV4. It is designed to be as
efficient as possible as lookups are done inside an interrupt context
in some cases. It will be further optimized when physical hardware is
available to
Replace all trans_start updates with netif_trans_update helper.
change was done via spatch:
struct net_device *d;
@@
- d->trans_start = jiffies
+ netif_trans_update(d)
Compile tested only.
Cc: user-mode-linux-de...@lists.sourceforge.net
Cc: linux-xte...@linux-xtensa.org
Cc:
This patch builds support for the new conversions of physical addresses
to and from sockets, pnodes and nodes in UV4. It is designed to be as
efficient as possible as lookups are done inside an interrupt context
in some cases. It will be further optimized when physical hardware is
available to
From: Dimitri Sivanich
Use no-op messages in place of cross-partition interrupts when nacking a
put message in the GRU. This allows us to remove MMR's as a destination
from the GRU driver.
Signed-off-by: Dimitri Sivanich
Signed-off-by: Mike Travis
From: Dimitri Sivanich
This patch fixes the problem of incorrect nodes and pnodes being returned
when referring to nodes that either have no cpus (AKA "headless") or no
memory.
Signed-off-by: Dimitri Sivanich
Signed-off-by: Mike Travis
From: Dimitri Sivanich
Use no-op messages in place of cross-partition interrupts when nacking a
put message in the GRU. This allows us to remove MMR's as a destination
from the GRU driver.
Signed-off-by: Dimitri Sivanich
Signed-off-by: Mike Travis
Tested-by: John Estabrook
Tested-by: Gary
From: Dimitri Sivanich
This patch fixes the problem of incorrect nodes and pnodes being returned
when referring to nodes that either have no cpus (AKA "headless") or no
memory.
Signed-off-by: Dimitri Sivanich
Signed-off-by: Mike Travis
Tested-by: John Estabrook
Tested-by: Gary Kroening
Add UV4 specific defines to determine if current system type is a
UV4 system.
Signed-off-by: Mike Travis
Reviewed-by: Dimitri Sivanich
Tested-by: John Estabrook
Tested-by: Gary Kroening
Tested-by: Nathan Zimmer
Cleanup patch to rearrange code and modify some defines so the next
patch, the new UV4 MMR definitions can be merged cleanly.
* Clean up the M/N related address constants (M is # of address bits per
blade, N is the # of blade selection bits per SSI/partition).
* Fix the lookup of the alias
Add UV4 specific defines to determine if current system type is a
UV4 system.
Signed-off-by: Mike Travis
Reviewed-by: Dimitri Sivanich
Tested-by: John Estabrook
Tested-by: Gary Kroening
Tested-by: Nathan Zimmer
---
arch/x86/kernel/apic/x2apic_uv_x.c | 12 +---
1 file changed, 9
Cleanup patch to rearrange code and modify some defines so the next
patch, the new UV4 MMR definitions can be merged cleanly.
* Clean up the M/N related address constants (M is # of address bits per
blade, N is the # of blade selection bits per SSI/partition).
* Fix the lookup of the alias
This new function is generated by the UV MMR generation script to
identify MMR registers and fields that are not defined for a specific
UV architecture. With this switch, the immediate panic can be replaced
with a message and a bad return value allowing either hardware or the
emulator to diagnose
This new function is generated by the UV MMR generation script to
identify MMR registers and fields that are not defined for a specific
UV architecture. With this switch, the immediate panic can be replaced
with a message and a bad return value allowing either hardware or the
emulator to diagnose
nmk_gpio_get_mode is only used in one place, and that is conditionally
compiled if DEBUG_FS is enabled. A recent cleanup has marked the
definition 'static', which now leads to a warning:
drivers/pinctrl/nomadik/pinctrl-nomadik.c:614:12: error: 'nmk_gpio_get_mode'
defined but not used
nmk_gpio_get_mode is only used in one place, and that is conditionally
compiled if DEBUG_FS is enabled. A recent cleanup has marked the
definition 'static', which now leads to a warning:
drivers/pinctrl/nomadik/pinctrl-nomadik.c:614:12: error: 'nmk_gpio_get_mode'
defined but not used
Since UV3 and UV4 MMIOH regions are setup the same, we can use a common
function to setup both.
Signed-off-by: Mike Travis
Reviewed-by: Dimitri Sivanich
Tested-by: John Estabrook
Tested-by: Gary Kroening
Tested-by: Nathan
Since UV3 and UV4 MMIOH regions are setup the same, we can use a common
function to setup both.
Signed-off-by: Mike Travis
Reviewed-by: Dimitri Sivanich
Tested-by: John Estabrook
Tested-by: Gary Kroening
Tested-by: Nathan Zimmer
---
arch/x86/kernel/apic/x2apic_uv_x.c |3 ++-
1 file
Add preliminary UV4 defines.
Signed-off-by: Mike Travis
Tested-by: John Estabrook
Tested-by: Gary Kroening
Tested-by: Nathan Zimmer
---
arch/x86/include/asm/uv/uv_hub.h | 64 +++---
Clean up any redundancies caused by new UV4 MMR definitions superseding
any previously definitions local to functions.
Signed-off-by: Mike Travis
Reviewed-by: Dimitri Sivanich
Reviewed-by: Andrew Banman
Tested-by: John Estabrook
Add preliminary UV4 defines.
Signed-off-by: Mike Travis
Tested-by: John Estabrook
Tested-by: Gary Kroening
Tested-by: Nathan Zimmer
---
arch/x86/include/asm/uv/uv_hub.h | 64 +++---
arch/x86/include/asm/uv/uv_mmrs.h | 22 +
2 files changed, 62
Clean up any redundancies caused by new UV4 MMR definitions superseding
any previously definitions local to functions.
Signed-off-by: Mike Travis
Reviewed-by: Dimitri Sivanich
Reviewed-by: Andrew Banman
Tested-by: John Estabrook
Tested-by: Gary Kroening
Tested-by: Nathan Zimmer
---
Add defines to control which UV architectures are supported, and modify the
'if (is_uvX_*)' functions to return constant 0 for those not supported.
This will help optimize code paths when support for specific UV arches
is removed.
Signed-off-by: Mike Travis
Reviewed-by: Dimitri
Add defines to control which UV architectures are supported, and modify the
'if (is_uvX_*)' functions to return constant 0 for those not supported.
This will help optimize code paths when support for specific UV arches
is removed.
Signed-off-by: Mike Travis
Reviewed-by: Dimitri Sivanich
This patch set primarily updates the Linux kernel to support the next
generation SGI Ultraviolet system, UV4. This architecture change is a
larger incremental change than previous UV updates because of a major
change to the addressing scheme. Previous UV architectures used a fixed
address width
The newly added tegra xusb phy driver fails to link when CONFIG_PINCTRL
is disabled, since that also leaves out the legacy probe function:
ERROR: "tegra_xusb_padctl_legacy_probe" [drivers/phy/tegra/phy-tegra-xusb.ko]
undefined!
This adds a Kconfig dependency for it, depending on both
This patch set primarily updates the Linux kernel to support the next
generation SGI Ultraviolet system, UV4. This architecture change is a
larger incremental change than previous UV updates because of a major
change to the addressing scheme. Previous UV architectures used a fixed
address width
The newly added tegra xusb phy driver fails to link when CONFIG_PINCTRL
is disabled, since that also leaves out the legacy probe function:
ERROR: "tegra_xusb_padctl_legacy_probe" [drivers/phy/tegra/phy-tegra-xusb.ko]
undefined!
This adds a Kconfig dependency for it, depending on both
On 02/05/16 13:17, Laxman Dewangan wrote:
> Power Management Controller(PMC) of Tegra does the multiple chip
> power related functionality for internal and IO interfacing.
> Some of the functionalities are power gating of IP blocks, IO pads
> voltage and power state configuration, system power
A conflict of two patches caused a build error when a function got renamed
but a new user appeared in the other patch:
drivers/pinctrl/bcm/pinctrl-ns2-mux.c:540:17: error:
'pinctrl_utils_dt_free_map' undeclared here (not in a function)
.dt_free_map = pinctrl_utils_dt_free_map,
On 02/05/16 13:17, Laxman Dewangan wrote:
> Power Management Controller(PMC) of Tegra does the multiple chip
> power related functionality for internal and IO interfacing.
> Some of the functionalities are power gating of IP blocks, IO pads
> voltage and power state configuration, system power
A conflict of two patches caused a build error when a function got renamed
but a new user appeared in the other patch:
drivers/pinctrl/bcm/pinctrl-ns2-mux.c:540:17: error:
'pinctrl_utils_dt_free_map' undeclared here (not in a function)
.dt_free_map = pinctrl_utils_dt_free_map,
The newly added sun4i drm driver prints a dma address using the %x
format string, which cannot work when dma_addr_t is 64 bit,
and gcc warns about this configuration:
drm/sun4i/sun4i_backend.c: In function 'sun4i_backend_update_layer_buffer':
drm/sun4i/sun4i_backend.c:193:84: error: format '%x'
The newly added sun4i drm driver prints a dma address using the %x
format string, which cannot work when dma_addr_t is 64 bit,
and gcc warns about this configuration:
drm/sun4i/sun4i_backend.c: In function 'sun4i_backend_update_layer_buffer':
drm/sun4i/sun4i_backend.c:193:84: error: format '%x'
On Tue 03-05-16 08:23:27, Jens Axboe wrote:
> On 05/03/2016 03:34 AM, Jan Kara wrote:
> >On Thu 28-04-16 12:53:50, Jens Axboe wrote:
> >>>2) As far as I can see in patch 8/8, you have plugged the throttling above
> >>>the IO scheduler. When there are e.g. multiple cgroups with different
> >>>
On Tue 03-05-16 08:23:27, Jens Axboe wrote:
> On 05/03/2016 03:34 AM, Jan Kara wrote:
> >On Thu 28-04-16 12:53:50, Jens Axboe wrote:
> >>>2) As far as I can see in patch 8/8, you have plugged the throttling above
> >>>the IO scheduler. When there are e.g. multiple cgroups with different
> >>>
On Tue, 2016-05-03 at 15:40 +0200, Oleg Nesterov wrote:
> On 05/02, Andrew Morton wrote:
> >
> >
> > On Mon, 02 May 2016 23:17:41 +0300 Oleksandr Natalenko wrote:
> >
> > >
> > > rtsx_usb_ms creates a task that mostly sleeps, but tasks in
> > > uninterruptible sleep still contribute to the
A recent change to lightnvm added code to pass a kernel pointer
to the hardware, which gcc complained about:
drivers/nvme/host/lightnvm.c: In function 'nvme_nvm_rqtocmd':
drivers/nvme/host/lightnvm.c:472:32: error: cast from pointer to integer of
different size [-Werror=pointer-to-int-cast]
On Tue, 2016-05-03 at 15:40 +0200, Oleg Nesterov wrote:
> On 05/02, Andrew Morton wrote:
> >
> >
> > On Mon, 02 May 2016 23:17:41 +0300 Oleksandr Natalenko wrote:
> >
> > >
> > > rtsx_usb_ms creates a task that mostly sleeps, but tasks in
> > > uninterruptible sleep still contribute to the
A recent change to lightnvm added code to pass a kernel pointer
to the hardware, which gcc complained about:
drivers/nvme/host/lightnvm.c: In function 'nvme_nvm_rqtocmd':
drivers/nvme/host/lightnvm.c:472:32: error: cast from pointer to integer of
different size [-Werror=pointer-to-int-cast]
On Tue, May 3, 2016 at 8:19 AM, Arnd Bergmann wrote:
> The ipv6 gre implementation was cleaned up to share more code
> with the ipv4 version, but it can be enabled even when NET_IPGRE_DEMUX
> is disabled, resulting in a link error:
>
> net/built-in.o: In function `gre_rcv':
>
On Tue, May 3, 2016 at 8:19 AM, Arnd Bergmann wrote:
> The ipv6 gre implementation was cleaned up to share more code
> with the ipv4 version, but it can be enabled even when NET_IPGRE_DEMUX
> is disabled, resulting in a link error:
>
> net/built-in.o: In function `gre_rcv':
> :(.text+0x17f5d0):
The ipv6 gre implementation was cleaned up to share more code
with the ipv4 version, but it can be enabled even when NET_IPGRE_DEMUX
is disabled, resulting in a link error:
net/built-in.o: In function `gre_rcv':
:(.text+0x17f5d0): undefined reference to `gre_parse_header'
ERROR:
On Tue, May 03, 2016 at 05:09:37PM +0800, Wei Ni wrote:
> This patch changes the compatible of Tegra132 fuse node
> to "nvidia,tegra132-efuse", instead of "nvidia,tegra1124-efuse".
> Because the CONFIG_ARCH_TEGRA_124_SOC will not be enabled for
> Tegra132, the fuse driver can't find the
The ipv6 gre implementation was cleaned up to share more code
with the ipv4 version, but it can be enabled even when NET_IPGRE_DEMUX
is disabled, resulting in a link error:
net/built-in.o: In function `gre_rcv':
:(.text+0x17f5d0): undefined reference to `gre_parse_header'
ERROR:
On Tue, May 03, 2016 at 05:09:37PM +0800, Wei Ni wrote:
> This patch changes the compatible of Tegra132 fuse node
> to "nvidia,tegra132-efuse", instead of "nvidia,tegra1124-efuse".
> Because the CONFIG_ARCH_TEGRA_124_SOC will not be enabled for
> Tegra132, the fuse driver can't find the
On Mon, 02 May, at 03:11:20PM, Peter Jones wrote:
> On Sun, May 01, 2016 at 12:21:05AM +0800, Wang YanQing wrote:
> > We can't just break out when meet start is equal to zero,
> > this will cause we miss valid address range in later BARs.
> >
> > On the other hand, it isn't enough to test start
On Mon, 02 May, at 03:11:20PM, Peter Jones wrote:
> On Sun, May 01, 2016 at 12:21:05AM +0800, Wang YanQing wrote:
> > We can't just break out when meet start is equal to zero,
> > this will cause we miss valid address range in later BARs.
> >
> > On the other hand, it isn't enough to test start
a trans_start struct member exists twice:
- in struct net_device (legacy)
- in struct netdev_queue
Instead of open-coding dev->trans_start usage to obtain the current
trans_start value, use dev_trans_start() instead.
This is not exactly the same, as dev_trans_start also considers
the trans_start
use net_device directly. Compile tested, objdiff shows no changes.
Cc: linux-par...@vger.kernel.org
Signed-off-by: Florian Westphal
---
drivers/net/ethernet/dec/tulip/dmfe.c | 39 ---
1 file changed, 18 insertions(+), 21 deletions(-)
diff --git
a trans_start struct member exists twice:
- in struct net_device (legacy)
- in struct netdev_queue
Instead of open-coding dev->trans_start usage to obtain the current
trans_start value, use dev_trans_start() instead.
This is not exactly the same, as dev_trans_start also considers
the trans_start
use net_device directly. Compile tested, objdiff shows no changes.
Cc: linux-par...@vger.kernel.org
Signed-off-by: Florian Westphal
---
drivers/net/ethernet/dec/tulip/dmfe.c | 39 ---
1 file changed, 18 insertions(+), 21 deletions(-)
diff --git
trans_start exists twice:
- as member of net_device (legacy)
- as member of netdev_queue
In order to get rid of the legacy case, add a helper for the
dev->trans_update (this patch), then convert spots that do
dev->trans_start = jiffies
to use this helper (next patch).
This would then allow us
trans_start exists twice:
- as member of net_device (legacy)
- as member of netdev_queue
In order to get rid of the legacy case, add a helper for the
dev->trans_update (this patch), then convert spots that do
dev->trans_start = jiffies
to use this helper (next patch).
This would then allow us
We currently have two instances for trans_start, once in
net_device and once in netdev_queue.
This series removes trans_start from net_device.
Updates to dev->trans_start are replaced with updates to netdev queue 0.
This series is compile-tested only.
Replacement is done in 3 steps:
1. Replace
We currently have two instances for trans_start, once in
net_device and once in netdev_queue.
This series removes trans_start from net_device.
Updates to dev->trans_start are replaced with updates to netdev queue 0.
This series is compile-tested only.
Replacement is done in 3 steps:
1. Replace
After the clk change support, the ssi omap ssi core driver
now calls into the port driver to change fclk. This function
was previously inside of an #ifdef, because it was only used
when CONFIG_PM is enabled. Now it also gets used without
power management support:
drivers/hsi/built-in.o: In
After the clk change support, the ssi omap ssi core driver
now calls into the port driver to change fclk. This function
was previously inside of an #ifdef, because it was only used
when CONFIG_PM is enabled. Now it also gets used without
power management support:
drivers/hsi/built-in.o: In
The driver now uses some pinctrl functions, but fails
to build if PINCTRL is disabled because the respective
header files are only included indirectly:
drivers/hsi/controllers/omap_ssi_core.c: In function 'ssi_clk_event':
drivers/hsi/controllers/omap_ssi_core.c:317:4: error: implicit declaration
The driver now uses some pinctrl functions, but fails
to build if PINCTRL is disabled because the respective
header files are only included indirectly:
drivers/hsi/controllers/omap_ssi_core.c: In function 'ssi_clk_event':
drivers/hsi/controllers/omap_ssi_core.c:317:4: error: implicit declaration
On Tue, May 03, 2016 at 02:44:49PM +, Shardar Mohammed wrote:
> Thanks for review. Please find my comments inline.
>
> > On 03/05/16 13:14, Shardar Shariff Md wrote:
> > > During DMA client(UART) stress testing, observed below crash:
> > >
> > > [ 167.041591] Unable to handle kernel paging
Enabling the omap ssi driver without COMMON_CLK results in a build failure:
drivers/hsi/controllers/omap_ssi_core.c: In function 'ssi_clk_event':
drivers/hsi/controllers/omap_ssi_core.c:304:7: error: 'PRE_RATE_CHANGE'
undeclared (first use in this function)
This adds a Kconfig dependency to
On Tue, May 03, 2016 at 02:44:49PM +, Shardar Mohammed wrote:
> Thanks for review. Please find my comments inline.
>
> > On 03/05/16 13:14, Shardar Shariff Md wrote:
> > > During DMA client(UART) stress testing, observed below crash:
> > >
> > > [ 167.041591] Unable to handle kernel paging
Enabling the omap ssi driver without COMMON_CLK results in a build failure:
drivers/hsi/controllers/omap_ssi_core.c: In function 'ssi_clk_event':
drivers/hsi/controllers/omap_ssi_core.c:304:7: error: 'PRE_RATE_CHANGE'
undeclared (first use in this function)
This adds a Kconfig dependency to
Instead of using the first level page table to define mappings for
the linear memory space, we can use direct mapping from the TLB
handling routines. This has several advantages:
* No need to read the tables at each TLB miss
* No issue in 16k pages mode where the 1st level table maps 64 Mbytes
On recent kernels, with some debug options like for instance
CONFIG_LOCKDEP, the BSS requires more than 8M memory, allthough
the kernel code fits in the first 8M.
Today, it is necessary to activate CONFIG_PIN_TLB to get more than 8M
at startup, allthough pinning TLB is not necessary for that.
We
Instead of using the first level page table to define mappings for
the linear memory space, we can use direct mapping from the TLB
handling routines. This has several advantages:
* No need to read the tables at each TLB miss
* No issue in 16k pages mode where the 1st level table maps 64 Mbytes
On recent kernels, with some debug options like for instance
CONFIG_LOCKDEP, the BSS requires more than 8M memory, allthough
the kernel code fits in the first 8M.
Today, it is necessary to activate CONFIG_PIN_TLB to get more than 8M
at startup, allthough pinning TLB is not necessary for that.
We
Once the linear memory space has been mapped with 8Mb pages, as
seen in the related commit, we get 11 millions DTLB missed during
the reference 600s period. 77% of the misses are on user addresses
and 23% are on kernel addresses (1 fourth for linear address space
and 3 fourth for virtual address
Once the linear memory space has been mapped with 8Mb pages, as
seen in the related commit, we get 11 millions DTLB missed during
the reference 600s period. 77% of the misses are on user addresses
and 23% are on kernel addresses (1 fourth for linear address space
and 3 fourth for virtual address
Hi Sebastian,
One patch you added yesterday unfortunately caused (at least) three
separate build problems with 32-bit ARM randconfig builds.
These three patches should make it all work again.
Arnd
Hi Sebastian,
One patch you added yesterday unfortunately caused (at least) three
separate build problems with 32-bit ARM randconfig builds.
These three patches should make it all work again.
Arnd
On 05/03/2016 03:05 AM, Baoquan He wrote:
> I have a tiny concern about phys_pmd_init(), both phys_pud_init and
> phys_pte_init name 2nd parameter as 'addr', phys_pmd_init use 'address'.
> If this can be changed to make them look consistent completist would
> have a good sleep from now on.
Yes,
On 05/03/2016 03:05 AM, Baoquan He wrote:
> I have a tiny concern about phys_pmd_init(), both phys_pud_init and
> phys_pte_init name 2nd parameter as 'addr', phys_pmd_init use 'address'.
> If this can be changed to make them look consistent completist would
> have a good sleep from now on.
Yes,
On Tue, May 03, 2016 at 08:07:39AM -0700, Greg KH wrote:
> On Tue, May 03, 2016 at 03:11:26PM +0200, Thierry Reding wrote:
> > On Tue, Mar 08, 2016 at 11:15:22PM +0800, Yi Zhang wrote:
> > > the driver_data may be used for sanity check, it fails the
> > > probe() if driver_data is NULL after it is
On Tue, May 03, 2016 at 08:07:39AM -0700, Greg KH wrote:
> On Tue, May 03, 2016 at 03:11:26PM +0200, Thierry Reding wrote:
> > On Tue, Mar 08, 2016 at 11:15:22PM +0800, Yi Zhang wrote:
> > > the driver_data may be used for sanity check, it fails the
> > > probe() if driver_data is NULL after it is
901 - 1000 of 1848 matches
Mail list logo