On 2/22/2018 9:24 AM, Jason Wang wrote:
This reverts commit 762c330d670e3d4b795cf7a8d761866fdd1eef49. The
reason is we try to batch packets for devmap which causes calling
xdp_do_flush() under the process context. Simply disable premmption
s/under/in/.
Disabling preemption.
may not

> On 22 Feb 2018, at 08.34, Matias Bjørling wrote:
>
> On 02/21/2018 10:26 AM, Javier González wrote:
>> Separate the version between major and minor on the generic geometry.
>> Also, add a "subversion" entry to sysfs to expose the minor version
>> without breaking user space.

This patch factors out error reporting callbacks, which are currently
tightly coupled with AER.
DPC should be able to register callbacks and attmept recovery when DPC
trigger event occurs.
Signed-off-by: Oza Pawandeep
diff --git a/drivers/pci/pci.h b/drivers/pci/pci.h
index

On 02/21/2018 10:26 AM, Javier González wrote:
At this point, only 1.2 spec is supported, thus check for it. Also,
since device-side L2P is only supported in the 1.2 spec, make sure to
only check its value under 1.2.
Signed-off-by: Javier González
---

On Tue, 2018-02-20 at 14:25 -0800, Jacob Pan wrote:
> I didn't know about chipsec but reading the code seems to rely on an
> out-of-tree kernel module. I don't think it matches what we need here.
Yes good indeed, I had forgot about that. Maybe the userland part is still
useful, but there's

This patch moves AER error defines to drivers/pci/pci.h.
So that it unifies the error repoting codes at single place along with dpc
Signed-off-by: Oza Pawandeep
diff --git a/drivers/acpi/apei/ghes.c b/drivers/acpi/apei/ghes.c
index 1efefe9..7ae9bb3 100644
---

Clients such as pciehp, dpc are using pcie_wait_link_active, which waits
till the link becomes active or inactive.
Made generic function and moved it to drivers/pci/pci.c
Signed-off-by: Oza Pawandeep
diff --git a/drivers/pci/hotplug/pciehp_hpc.c

On 02/21/2018 10:26 AM, Javier González wrote:
Create a generic identify structure to collect the identify information
before knowing the spec. version. This forces different version paths to
cast the structure to their spec structure, thus making the code less
error prone and more maintainable.

This patch set brings in error handling support for DPC
The current implementation of AER and error message broadcasting to the
EP driver is tightly coupled and limited to AER service driver.
It is important to factor out broadcasting and other link handling
callbacks. So that not only when AER

On 02/21/2018 10:26 AM, Javier González wrote:
Rename abbreviations for sector from sect_* to sec_* as most of the code
uses this format and it is confusing when using the different
structures.
Signed-off-by: Javier González
---
drivers/lightnvm/pblk-init.c | 8

On 21/02/18 22:50, Dmitry Osipenko wrote:
> On 29.11.2017 16:41, Adrian Hunter wrote:
>> Define and use a blk-mq queue. Discards and flushes are processed
>> synchronously, but reads and writes asynchronously. In order to support
>> slow DMA unmapping, DMA unmapping is not done until after the

On 02/21/2018 10:26 AM, Javier González wrote:
Separate the version between major and minor on the generic geometry.
Also, add a "subversion" entry to sysfs to expose the minor version
without breaking user space.
Signed-off-by: Javier González
---

From: Lei Xue
There is a potential race in fscache operation enqueuing for reading and
copying multiple pages from cachefiles to netfs.
Under some heavy load system, it will happen very often.
If this race occurs, an oops similar to the following is seen:
kernel BUG at

On 02/21/2018 10:26 AM, Javier González wrote:
Both 1.2 and 2.0 specs define a field for media and controller
capabilities. Also, 1.2 defines a separate field dedicated to device
capabilities.
In 2.0 sysfs, this values have been mixed. Revert them to the right
value.
Signed-off-by: Javier

On Wed, Feb 21, 2018 at 07:52:08PM -0800, Guenter Roeck wrote:
> On 02/21/2018 03:38 PM, James Hogan wrote:
> > The earliest Meta architecture port of Linux I have a record of was an
> > import of a Meta port of Linux v2.4.1 in February 2004, which was worked
> > on significantly over the next few

On 02/21/2018 10:26 AM, Javier González wrote:
Currently, the device geometry is stored redundantly in the nvm_id and
nvm_geo structures at a device level. Moreover, when instantiating
targets on a specific number of LUNs, these structures are replicated
and manually modified to fit the instance

On Wed, Feb 21, 2018 at 01:13:46PM -0700, Shuah Khan wrote:
> On 02/21/2018 05:47 AM, Greg Kroah-Hartman wrote:
> > This is the start of the stable review cycle for the 4.15.5 release.
> > There are 163 patches in this series, all will be posted as a response
> > to this one. If anyone has any

To add recursive read locks into the dependency graph, we need to store
the types of dependencies for the BFS later. There are four kinds of
dependencies:
* Non-recursive -> Non-recursive dependencies(NN)
e.g. write_lock(prev) -> write_lock(next), we can also write
this as

Currently, __bfs() will do a breadth-first search in the dependency
graph and visit each lock class in the graph exactly once, so for
example, in the following graph:
A -> B
|^
||
+--> C
a __bfs() call starts at A, will

Now we have four kinds of dependencies in the dependency graph, and not
all the pathes carry strong dependencies, for example:
Given lock A, B, C, if we have:
CPU1CPU2
= ==
write_lock(A); read_lock(B);

There are four cases for recursive read lock realted deadlocks:
(--(X..Y)--> means a strong dependency path starts with a --(X*)-->
dependency and ends with a --(*Y)-- dependency.)
1. An irq-safe lock L1 has a dependency --(*..*)--> to an
irq-unsafe lock L2.
2. An

As we have four kinds of dependencies now, check_redundant() should only
report redundant if we have a dependency path which is equal or
_stronger_ than the current dependency. For example if in
check_prev_add() we have:
prev->read == 2 && next->read != 2
, we should only report

Recursive read lock detection work touches most core part of lockdep, so
add myself as a dedicated reviewer to help people find me if any of my
code introduces problems or misunderstandings, also if they need my help
on parsing logs related to recursive read locks.
Besides, I'd like to provide

Currently, lockdep only has limit support for deadlock detection for
recursive read locks.
The basic idea of the detection is:
Since we make __bfs() able to traverse only the strong dependency paths,
so we report a circular deadlock if we could find a circle of a strong
dependency path.

We actually only need 4 bits for lock_list::dep and 1 bit for
lock_list::is_rr, besides lock_list::distance should always be no
greater than MAX_LOCKDEP_DEPTH(which is 48 right now), so a u16 will
fit, this patch then reduces the sizes of those fields to save space for
lock_list structure, as a

__bfs() could return four magic numbers:
1: search succeeds, but none match.
0: search succeeds, find one match.
-1: search fails because of the cq is full.
-2: search fails because a invalid node is found.
This patch cleans things up by using a enum type for the

As our chain cache doesn't differ read/write locks, so even we can
detect a read-lock/lock-write deadlock in check_noncircular(), we can
still be fooled if a read-lock/lock-read case(which is not a deadlock)
comes first.
So introduce this test case to test specific to the chain cache behavior
on

This reverts commit d82fed75294229abc9d757f08a4817febae6c4f4.
Since we now could handle mixed read-write deadlock detection well, the
self tests could be detected as expected, no need to use this
work-around.
Signed-off-by: Boqun Feng
---
lib/locking-selftest.c | 8

Currently, the chainkey of a lock chain is a hash sum of the class_idx
of all the held locks, the read/write status are not taken in to
consideration while generating the chainkey. This could result into a
problem, if we have:
P1()
{
read_lock(B);

There are three types of lock acquisitions: write, non-recursive read
and recursive read, among which write locks and non-recursive read locks
have no difference from a viewpoint for deadlock detections, because a
write acquisition of the corresponding lock on an independent CPU or
task makes a

Hi Ingo and Peter,
This is V5 for recursive read lock support in lockdep. The changes since
V4 are quite trivial:
* Fix some wording issues in patch #16 as pointed out by Randy
Dunlap
I added the explanation about reasoning in patch #16 in V4, which will
help understand this whole

Microcode updates can be safer if the caches are clean.
Some of the issues around in certain Broadwell parts
can be addressed by doing a full cache flush.
Signed-off-by: Ashok Raj
Cc: X86 ML
Cc: LKML
Cc: Thomas Gleixner

Microcode updates during OS load always assumed the other hyper-thread
was "quiet", but Linux never really did this. We've recently received
several issues on this, where things did not go well at scale
deployments, and the Intel microcode team asked us to make sure the
system is in a quiet state

After updating microcode on one of the threads in the core, the
thread sibling automatically gets the update since the microcode
resources are shared. Check the ucode revision on the CPU before
performing a ucode update.
Signed-off-by: Ashok Raj
Cc: X86 ML

This reverts commit 762c330d670e3d4b795cf7a8d761866fdd1eef49. The
reason is we try to batch packets for devmap which causes calling
xdp_do_flush() under the process context. Simply disable premmption
may not work since process may move among processors which lead
xdp_do_flush() to miss some

Commit 762c330d670e ("tuntap: add missing xdp flush") tries to fix the
devmap stall caused by missed xdp flush by counting the pending xdp
redirected packets and flush when it exceeds NAPI_POLL_WEIGHT or
MSG_MORE is clear. This may lead BUG() since xdp_do_flush() was
called under process context

Modify the file read and write operation API's parameter declaration to
meet the name convention.
Rename the helper function by following the to_() name style.
Update the poll API with the new type '__poll_t', this is new commit from
linux-4.16-rc1.
Correct the header file's comment style for

On 02/22/2018 08:09 AM, Oleksandr Andrushchenko wrote:
From: Oleksandr Andrushchenko
It is possible that drm_simple_kms_plane_atomic_check called
with no CRTC set, e.g. when user-space application sets CRTC_ID/FB_ID
to 0 before doing any actual drawing. This

These are basic device tree files needed to boot a SDM845 MTP
board to a ramfs based serial console shell
Bindings are based on whats proposed for pinctrl/serial/clock
drivers for SDM845 SoC
pinctrl: https://patchwork.kernel.org/patch/10157143/ (This is now pulled
in by Linus Walleij for 4.17)

From: Oleksandr Andrushchenko
It is possible that drm_simple_kms_plane_atomic_check called
with no CRTC set, e.g. when user-space application sets CRTC_ID/FB_ID
to 0 before doing any actual drawing. This leads to NULL pointer
dereference because in this case new

On 02/20/18 15:10, Laurent Pinchart wrote:
> Hello,
>
> This patch series addresses a design mistake that dates back from the initial
> DU support. Support for the LVDS encoders, which are IP cores separate from
> the DU, was bundled in the DU driver. Worse, both the DU and LVDS were
> described

On Wed, Feb 21, 2018 at 8:43 PM, Randy Dunlap wrote:
> On 02/21/2018 04:37 PM, Kees Cook wrote:
>> As recently pointed out by Linus, "Root-caused-by" is a good tag to include
>> since it can indicate significantly more work than "just" a Reported-by.
>> This adds it and

Ideally the de-allocation of resources should happen in the exact
opposite order in which they were allocated. It helps maintain the code
in long term, even if nothing really breaks with incorrect ordering.
The same wasn't followed in cpufreq_online() and it has some
inconsistencies. For example,

By design, it is responsibility of the cpufreq drivers to call
cpufreq_frequency_table_cpuinfo() from their ->init() callback to
validate the cpufreq table.
But what if the cpufreq driver is buggy and fails to do so properly? It
may then result in unexpected behavior from the driver or the

This series is based on v4.16-rc1 and composed of scpsys control (PATCH 1-2)
and clock control (PATCH 3-5).
Basically, all changes are for the ECO design change of MT2712.
Weiyi Lu (5):
dt-bindings: soc: update MT2712 power dt-bindings
soc: mediatek: update power domain data of MT2712

This series is based on v4.16-rc1 and composed of scpsys control (PATCH 1-2)
and clock control (PATCH 3-5).
Basically, all changes are for the ECO design change of MT2712.
Weiyi Lu (5):
dt-bindings: soc: update MT2712 power dt-bindings
soc: mediatek: update power domain data of MT2712

> - just make it return -EAGAIN instead of sleeping (which probably
> just works fine and doesn't break anything and is simple)
It is very simple. But it does break things :-(. If I read one of these files
using "dd bs=1", that used to read the whole file (while generating
lots of SMI). With the

On Thu, Feb 22, 2018 at 2:51 PM, Alastair D'Silva wrote:
> On Thu, 2018-02-22 at 14:46 +1100, Balbir Singh wrote:
>
>> lpc_size could be added. It's currently useless to the library, but
>> > doesn't
>> > hurt. The one which was giving me troubles on a previous version of

On Tue, Feb 20, 2018 at 12:34:57AM +0100, John Ogness wrote:
> Implementation 3: The same as implementation 2 but using if's to
> support branch prediction. This approach is probably the most
> complicated to understand but will be the fastest.
>
> /*
>* Lock the