Add support for fsinfo() to kernfs and cgroup.
Signed-off-by: David Howells
---
fs/kernfs/mount.c | 20
include/linux/kernfs.h|4
kernel/cgroup/cgroup-v1.c | 44
kernel/cgroup/cgroup.c| 19
Add support to SELinux for retrieval of the superblock parameters by
fsinfo(FSINFO_ATTR_LSM_PARAMETERS).
Signed-off-by: David Howells
---
security/selinux/hooks.c| 41 +
security/selinux/include/security.h |2 +
security/selinux/ss/services.c
Add support to Smack for retrieval of the superblock parameters.
Signed-off-by: David Howells
---
security/smack/smack_lsm.c | 43 +++
1 file changed, 43 insertions(+)
diff --git a/security/smack/smack_lsm.c b/security/smack/smack_lsm.c
index
Add fsinfo support to the AFS filesystem.
Signed-off-by: David Howells
---
fs/afs/internal.h |1
fs/afs/super.c | 180 +++
fs/fsinfo.c |3 +
include/uapi/linux/fsinfo.h | 12 +++
From: Ian Kent
The new fsinfo() system call adds a new super block operation
->fsinfo() which is used by file systems to provide file
system specific information for fsinfo() requests.
The fsinfo() request FSINFO_ATTR_PARAMETERS provides the same
function as sb operation ->show_options() so it
From: Ian Kent
The new fsinfo() system call adds a new super block operation
->fsinfo() which is used by file systems to provide file
system specific information for fsinfo() requests.
The fsinfo() request FSINFO_ATTR_PARAMETERS provides the same
function as sb operation ->show_options() so it
From: Ian Kent
The new fsinfo() system call adds a new super block operation
->fsinfo() which is used by file systems to provide file
system specific information for fsinfo() requests.
The fsinfo() request FSINFO_ATTR_PARAMETERS provides the same
function as sb operation ->show_options() so it
From: Ian Kent
The new fsinfo() system call adds a new super block operation
->fsinfo() which is used by file systems to provide file
system specific information for fsinfo() requests.
The fsinfo() request FSINFO_ATTR_PARAMETERS provides the same
function as sb operation ->show_options() so it
From: Ian Kent
The new fsinfo() system call adds a new super block operation
->fsinfo() which is used by file systems to provide file
system specific information for fsinfo() requests.
The fsinfo() request FSINFO_ATTR_PARAMETERS provides the same
function as sb operation ->show_options() so it
From: Ian Kent
The new fsinfo() system call adds a new super block operation
->fsinfo() which is used by file systems to provide file
system specific information for fsinfo() requests.
The fsinfo() request FSINFO_ATTR_PARAMETERS provides the same
function as sb operation ->show_options() so it
From: Ian Kent
The new fsinfo() system call adds a new super block operation
->fsinfo() which is used by file systems to provide file
system specific information for fsinfo() requests.
The fsinfo() request FSINFO_ATTR_PARAMETERS provides the same
function as sb operation ->show_options() so it
From: Ian Kent
The new fsinfo() system call adds a new super block operation
->fsinfo() which is used by file systems to provide file
system specific information for fsinfo() requests.
The fsinfo() request FSINFO_ATTR_PARAMETERS provides the same
function as sb operation ->show_options() so it
Liran Alon writes:
>> On 24 Jun 2019, at 16:30, Vitaly Kuznetsov wrote:
>>
>> When Enlightened VMCS is in use, it is valid to do VMCLEAR and,
>> according to TLFS, this should "transition an enlightened VMCS from the
>> active to the non-active state". It is, however, wrong to assume that
>>
Vincenzo,
On Mon, 24 Jun 2019, Thomas Gleixner wrote:
> I did not merge the ARM and MIPS parts as they lack any form of
> acknowlegment from their maintainers. Please talk to those folks. If they
> ack/review the changes then I can pick them up and they go into 5.3 or they
> have to go in a
From: Xue Chaojing
Date: Mon, 24 Jun 2019 03:50:12 +
> This patch implement the statistical interface of ethtool, user can use
> ethtool -S to show hinic statistics.
>
> Signed-off-by: Xue Chaojing
Applied.
On Mon, 24 Jun 2019, Oliver Neukum wrote:
> Am Donnerstag, den 20.06.2019, 07:10 -0700 schrieb Tejun Heo:
> > Hello,
> >
> > On Tue, Jun 18, 2019 at 11:59:39AM -0400, Alan Stern wrote:
> > > > > Even if you disagree, perhaps we should have a global workqueue with a
> > > > > permanently set noio
From: Keerthy
Date: Mon, 24 Jun 2019 10:46:19 +0530
> Commit bfe59032bd6127ee190edb30be9381a01765b958 ("net: ethernet:
> ti: cpsw: use cpsw as drv data")changes
> the driver data to struct cpsw_common *cpsw. This is done
> only in probe/remove but the suspend/resume functions are
> still left
On Mon, Jun 24, 2019 at 04:18:28PM +0200, Thomas Gleixner wrote:
> Vincenzo,
>
> On Mon, 24 Jun 2019, Thomas Gleixner wrote:
>
> > I did not merge the ARM and MIPS parts as they lack any form of
> > acknowlegment from their maintainers. Please talk to those folks. If they
> > ack/review the
Dear all,
This series aims to provide an entrypoint for, and fuzz KVM's x86 instruction
emulator from userspace. It mirrors Xen's application of the AFL fuzzer to
it's instruction emulator in the hopes of discovering vulnerabilities.
Since this entrypoint also allows arbitrary execution of the
This commit contains the minimal set of functionality to build
afl-harness around arch/x86/emulate.c which allows exercising code
in that source file, like x86_emulate_insn.
---
v1 -> v2:
- Moved -O0 to ifdef DEBUG
- Building with ASAN by default
v2 -> v3:
- Removed a workaround for printf
On Wed, Jun 19, 2019 at 10:34:37PM +0100, Matt Fleming wrote:
> On Tue, 18 Jun, at 02:33:18PM, Peter Zijlstra wrote:
> > On Tue, Jun 18, 2019 at 11:43:19AM +0100, Matt Fleming wrote:
> > > This works for me under all my tests. Thoughts?
> > >
> > > --->8---
> > >
> > > diff --git
Added the minimal subset of code to run afl-harness with a binary file
as input. These bytes are used to populate the vcpu structure and then
as an instruction stream for the emulator. It does not attempt to handle
exceptions and only supports very simple ops.
---
v1 -> v2:
- Removed a number
install_afl.sh installs AFL locally and emits AFLPATH,
build.sh, and run.sh build and run respectively
---
v1 -> v2:
- Introduced this patch
v2 -> v3:
- Moved non-essential development scripts to a later patch
Signed-off-by: Sam Caccavale
---
tools/fuzz/x86ie/scripts/afl-many | 31
Simple-harness.c uses inline asm support to generate asm and then has the
emulator emulate this code. This may be useful as a form of testing for
the emulator.
---
v1 -> v2:
- Accidentally changed the example
V2 -> v3:
- Reverted the example back to the more useful original one
Not meant for upstream consumption.
---
v2 -> v3:
- Introduced this patch as a place for non-essential dev scripts
Signed-off-by: Sam Caccavale
---
tools/fuzz/x86ie/scripts/bin.sh | 49 +++
tools/fuzz/x86ie/scripts/coalesce.sh | 5 ++
> > Yeah, there are 2 ethernet controller ports (managed by the enetc driver)
> > connected inside the SoC via SGMII links to 2 of the switch ports, one of
> > these switch ports can be configured as CPU port (with follow-up patches).
> >
> > This configuration may look prettier on DSA, but the
On Mon, Jun 24, 2019 at 02:01:05PM +, Song Liu wrote:
> >> @@ -1392,6 +1403,23 @@ static void collapse_file(struct mm_struct *mm,
> >>result = SCAN_FAIL;
> >>goto xa_unlocked;
> >>}
> >> + } else if (!page ||
> On Jun 24, 2019, at 6:19 AM, Kirill A. Shutemov wrote:
>
> On Sat, Jun 22, 2019 at 10:48:28PM -0700, Song Liu wrote:
>> khugepaged needs exclusive mmap_sem to access page table. When it fails
>> to lock mmap_sem, the page will fault in as pte-mapped THP. As the page
>> is already a THP,
On Mon, 2019-06-24 at 15:33 +0200, Peter Zijlstra wrote:
> On Mon, Jun 24, 2019 at 03:03:23PM +0200, Sebastian Andrzej Siewior wrote:
> > The --cc adds a Cc: prefix infront of the email address so it can be
> > used by other Scripts directly instead of adding another wrapper for
> > this.
Not
(+ Catalin)
On Mon, 24 Jun 2019 at 13:23, Ard Biesheuvel wrote:
>
> On 6/24/19 1:16 PM, Will Deacon wrote:
> > On Tue, May 28, 2019 at 11:04:20AM +0100, Will Deacon wrote:
> >> On Thu, May 23, 2019 at 11:22:52AM +0100, Ard Biesheuvel wrote:
> >>> Wire up the code introduced in v5.2 to manage the
Linus,
Hopefully this is more to your liking.
The following changes since commit a188339ca5a396acc588e5851ed7e19f66b0ebd9:
Linux 5.2-rc1 (2019-05-19 15:47:09 -0700)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd.git mfd-fixes-5.2-1
for you
This patch is a part of a series that extends kernel ABI to allow to pass
tagged user pointers (with the top byte set to something else other than
0x00) as syscall arguments.
userfaultfd code use provided user pointers for vma lookups, which can
only by done with untagged pointers.
Untag user
This patch is a part of a series that extends kernel ABI to allow to pass
tagged user pointers (with the top byte set to something else other than
0x00) as syscall arguments.
In radeon_gem_userptr_ioctl() an MMU notifier is set up with a (tagged)
userspace pointer. The untagged address should be
The traversing of io_range_list with list_for_each_entry_rcu()
is not properly protected by rcu_read_lock() and rcu_read_unlock(),
so add them.
These functions mark the critical section scope where the list is
protected for the reader, it cannot be "reclaimed". Any updater - in
this case, the
Add a function to unregister a logical PIO range.
Logical PIO space can still be leaked when unregistering certain
LOGIC_PIO_CPU_MMIO regions, but this acceptable for now since there are no
callers to unregister LOGIC_PIO_CPU_MMIO regions, and the logical PIO
region allocation scheme would need
As reported in [1], the hisi-lpc driver has certain issues in handling
logical PIO regions, specifically unregistering regions.
This series add a method to unregister a logical PIO region, and fixes up
the driver to use them.
RCU usage in logical PIO code looks to always have been broken, so
On 2019-06-21 14:08:01 (+0200), John Kacur wrote:
> I just pushed the tags, let me know if you can see them now.
Whoops, forgot to answer!
Yes, already pushed the new package. Thank you! :)
Best,
David
--
https://sleepmap.de
signature.asc
Description: PGP signature
If, after registering a logical PIO range, the driver probe later fails,
the logical PIO range memory will be released automatically.
This causes an issue, in that the logical PIO range is not unregistered
and the released range memory may be later referenced.
Fix by unregistering the logical
The original driver author seemed to be under the impression that a driver
cannot be removed if it does not have a .remove method. Or maybe if it is
a built-in platform driver.
This is not true. This crash can be created:
root@ubuntu:/sys/bus/platform/drivers/hisi-lpc# echo HISI0191\:00 > unbind
The code was originally written to not support unregistering logical PIO
regions.
To accommodate supporting unregistering logical PIO regions, subtly modify
LOGIC_PIO_CPU_MMIO region registration code, such that the "end" of the
registered regions is the "end" of the last region, and not the sum
Since the only LOGIC_PIO_INDIRECT host (hisi-lpc) now sets the ops prior
to registration, enforce this check at registration instead of in the IO
port accessors to simplify and marginally optimise the code.
A slight misalignment is also tidied.
Suggested-by: Bjorn Helgaas
Signed-off-by: John
On 2019/6/24 21:58, Thomas Gleixner wrote:
On Sun, 23 Jun 2019, Zhenzhong Duan wrote:
.. as they are only called at early bootup stage. In fact, other
functions in x86_hyper_xen_hvm.init.* are all marked as __init.
Unexport xen_hvm_need_lapic as it's never used outside.
Can you please
Some NUMA nodes have memory ranges that span other nodes.
Even though a pfn is valid and between a node's start and end pfns,
it may not reside on that node.
This patch enables NODES_SPAN_OTHER_NODES config for NUMA to support
this type of NUMA layout.
Signed-off-by: Hoan Tran
---
Hi, ta
Thanks for your advice! I will send the update patch in soon.
At 2019-06-22 19:49:25, tudor.amba...@microchip.com wrote:
>Hi, Liu,
>
>On 03/31/2019 10:42 AM, Liu Xiang wrote:
>
>> Some is25lp256 get BFPT_DWORD1_ADDRESS_BYTES_3_ONLY from BFPT table for
>> address width. But in actual
This one allocates user header and user events ring according to max items
number, passed as a parameter. User events (index) ring is in a pow2.
Pages, which will be shared between kernel and userspace, are accounted
through user->locked_vm counter.
No support on architectures with reduced set
Each ep_poll_callback() is called when fd calls wakeup() on epfd.
So account new event in user ring.
The tricky part here is EPOLLONESHOT. Since we are lockless we
have to be deal with ep_poll_callbacks() called in paralle, thus
use cmpxchg to clear public event bits and filter out concurrent
On Wed, 05 Jun 2019, Dan Murphy wrote:
> Hello
>
> The v5 patchset missed adding in the new validation code.
> Patch 1 of the v5 series was squashed into patch 4 of the v5 series.
> So this will reduce the patchset by 1.
>
> Sorry for the extra noise on the patchsets. The change was lost when
Rule of thumb for epfd polled from userspace is simple: epfd has
events if ->head != ->tail, no traversing of each item is performed.
Signed-off-by: Roman Penyaev
Cc: Andrew Morton
Cc: Al Viro
Cc: Linus Torvalds
Cc: linux-fsde...@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
---
Signed-off-by: Roman Penyaev
Cc: Andrew Morton
Cc: Al Viro
Cc: Linus Torvalds
Cc: linux-fsde...@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
---
tools/testing/selftests/Makefile | 1 +
tools/testing/selftests/uepoll/.gitignore | 1 +
User has to mmap user_header and user_index vmalloce'd pointers in order
to consume events from userspace. Also we do not let any copies of vma
on fork().
Signed-off-by: Roman Penyaev
Cc: Andrew Morton
Cc: Al Viro
Cc: Linus Torvalds
Cc: linux-fsde...@vger.kernel.org
Cc:
When epfd is polled by userspace and new item is inserted new bit
should be get from a bitmap and then user item is set accordingly.
Signed-off-by: Roman Penyaev
Cc: Andrew Morton
Cc: Al Viro
Cc: Linus Torvalds
Cc: linux-fsde...@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
---
epoll_create2() is needed to accept EPOLL_USERPOLL flags
and size, i.e. this patch wires up polling from userspace.
Signed-off-by: Roman Penyaev
Cc: Andrew Morton
Cc: Al Viro
Cc: Arnd Bergmann
Cc: Linus Torvalds
Cc: linux-fsde...@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
---
On ep_remove() simply mark a user item with EPOLLREMOVE if the item was
ready (i.e. has some bits set). That will prevent further user index
entry creation on item ->bit reuse.
Signed-off-by: Roman Penyaev
Cc: Andrew Morton
Cc: Al Viro
Cc: Linus Torvalds
Cc: linux-fsde...@vger.kernel.org
Cc:
There are various of limitations if epfd is polled by user:
1. Expect always EPOLLET flag (Edge Triggered behavior)
2. No support for EPOLLWAKEUP
events are consumed from userspace, thus no way to call __pm_relax()
3. No support for EPOLLEXCLUSIVE
If device does not pass
Hi all,
This is v5 which introduces pollable epoll from userspace.
v5:
- Do not support architectures with reduced set of atomic ops,
namely arc-plat-eznps, sparc32, parisc. Return -EOPNOTSUP on
attempt to create uepoll on these archs.
- Explicitly hint compiler, that return value
Not every device reports pollflags on wake_up(), expecting that it will be
polled later. vfs_poll() can't be called from ep_poll_callback(), because
ep_poll_callback() is called under the spinlock. Obviously userspace can't
call vfs_poll(), thus epoll has to offload vfs_poll() to a work and then
On 24.06.19 16:09, Sachin Sant wrote:
> Latest -next fails to boot on POWER9 PowerVM LPAR due to RCU stalls.
>
> This problem was introduced with next-20190620 (dc636f5d78).
> next-20190619 was last good kernel.
>
> Reverting following commit allows the kernel to boot.
> 2fd4aeea6b603 :
Both add and remove events are lockless and can be called in parallel.
ep_add_event_to_uring():
o user item is marked atomically as ready
o if on previous stem user item was observed as not ready,
then new entry is created for the index uring.
ep_remove_user_item():
Those helpers will access private eventpoll structure in future patches,
so keep those helpers close to callers.
Nothing important here.
Signed-off-by: Roman Penyaev
Cc: Andrew Morton
Cc: Al Viro
Cc: Linus Torvalds
Cc: linux-fsde...@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
---
This one introduces structures of user items array:
struct epoll_uheader -
describes inserted epoll items.
struct epoll_uitem -
single epoll item visible to userspace.
Signed-off-by: Roman Penyaev
Cc: Andrew Morton
Cc: Al Viro
Cc: Linus Torvalds
Cc: linux-fsde...@vger.kernel.org
Cc:
On 26.05.2019 23:20, Jonas Karlman wrote:
> This patch enables Dynamic Range and Mastering InfoFrame on RK3328 and RK3399.
>
> Cc: Sandy Huang
> Cc: Heiko Stuebner
> Signed-off-by: Jonas Karlman
Reviewed-by: Andrzej Hajda
--
Regards
Andrzej
> ---
>
When epfd is polled from userspace and item is being modified:
1. Update user item with new pointer or poll flags.
2. Add event to user ring if needed.
Signed-off-by: Roman Penyaev
Cc: Andrew Morton
Cc: Al Viro
Cc: Linus Torvalds
Cc: linux-fsde...@vger.kernel.org
Cc:
> On Jun 24, 2019, at 7:27 AM, Kirill A. Shutemov wrote:
>
> On Mon, Jun 24, 2019 at 02:01:05PM +, Song Liu wrote:
@@ -1392,6 +1403,23 @@ static void collapse_file(struct mm_struct *mm,
result = SCAN_FAIL;
goto
The Linux kernel for powerpc since 4.17 has a bug where unrelated processes may
be able to read/write to each other's virtual memory under certain conditions.
This bug only affects machines using 64-bit CPUs with the hash page table MMU,
see below for more detail on affected CPUs.
To trigger the
> On 24 Jun 2019, at 17:16, Vitaly Kuznetsov wrote:
>
> Liran Alon writes:
>
>>> On 24 Jun 2019, at 16:30, Vitaly Kuznetsov wrote:
>>>
>>> When Enlightened VMCS is in use, it is valid to do VMCLEAR and,
>>> according to TLFS, this should "transition an enlightened VMCS from the
>>> active
From: Colin Ian King
The WARN_ON_ONCE check on id is off-by-one, it should be greater or equal
to LOWPAN_IPHC_CTX_TABLE_SIZE and not greater than. Fix this.
Signed-off-by: Colin Ian King
---
net/6lowpan/debugfs.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git
On 24.06.19 14:15, liaoweixiong wrote:
> In case of the last page containing bitflips (ret > 0),
> spinand_mtd_read() will return that number of bitflips for the last
> page. But to me it looks like it should instead return max_bitflips like
> it does when the last page read returns with 0.
>
>
This patch add new macros which describe couple bits field of the
following registers:
- VD1_BLEND_SRC_CTRL
- VPP_SC_MISC
Signed-off-by: Julien Masson
---
drivers/gpu/drm/meson/meson_crtc.c | 17 +++--
drivers/gpu/drm/meson/meson_registers.h | 16
2 files
This patch add new macros which are used to set the following
registers:
- VPP_OSD_SCALE_COEF_IDX
- VPP_DOLBY_CTRL
- VPP_OFIFO_SIZE
- VPP_HOLD_LINES
- VPP_SC_MISC
- VPP_VADJ_CTRL
Signed-off-by: Julien Masson
---
drivers/gpu/drm/meson/meson_registers.h | 8
This patch add new macro which is used to set WRARB/RDARB mode of
the VPU.
Signed-off-by: Julien Masson
---
drivers/gpu/drm/meson/meson_drv.c | 26 +
drivers/gpu/drm/meson/meson_registers.h | 1 +
2 files changed, 23 insertions(+), 4 deletions(-)
diff --git
On 6/24/2019 3:57 PM, Jiri Olsa wrote:
On Thu, Jun 20, 2019 at 10:36:39PM +0800, Jin Yao wrote:
SNIP
+
+static void *block_entry_zalloc(size_t size)
+{
+ return zalloc(size + sizeof(struct hist_entry));
+}
+
+static void block_entry_free(void *he)
+{
+ struct block_info *bi =
According to the register description of ENCI_MACV_MAX_AMP, the
macrovision max amplitude value should be:
- hdmi 480i => 0xb
- hdmi 576i => 0x7
The max value is 0x7ff (10 bits).
Signed-off-by: Julien Masson
---
drivers/gpu/drm/meson/meson_venc.c | 4 ++--
1 file changed, 2 insertions(+), 2
On Mon, Jun 24, 2019 at 03:23:46PM +0100, Russell King wrote:
> On Mon, Jun 24, 2019 at 04:18:28PM +0200, Thomas Gleixner wrote:
> > Vincenzo,
> >
> > On Mon, 24 Jun 2019, Thomas Gleixner wrote:
> >
> > > I did not merge the ARM and MIPS parts as they lack any form of
> > > acknowlegment from
Hi Tudor,
On 6/22/19 5:21 AM, tudor.amba...@microchip.com wrote:
> Hi, Dinh,
>
> On 06/13/2019 02:31 PM, Dinh Nguyen wrote:
>> +struct reset_control *rstc;
>> +struct reset_control *rstc_ocp;
>
> I'll add these on a single line when applying. The patch is good, I'm waiting
> for Rob to
On Mon, Jun 24, 2019 at 07:52:42AM +0200, Christoph Hellwig wrote:
> We have a very common pattern where we want to delete the first entry
> from a list and return it as the properly typed container structure.
>
> Add a list_pop helper to implement this behavior.
>
> Signed-off-by: Christoph
On Mon, Jun 24, 2019 at 07:52:44AM +0200, Christoph Hellwig wrote:
> The fail argument is long gone, update the comment.
>
> Signed-off-by: Christoph Hellwig
Looks ok,
Reviewed-by: Darrick J. Wong
--D
> ---
> fs/xfs/xfs_aops.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
>
On Mon, Jun 24, 2019 at 02:42:13PM +, Song Liu wrote:
>
>
> > On Jun 24, 2019, at 7:27 AM, Kirill A. Shutemov
> > wrote:
> >
> > On Mon, Jun 24, 2019 at 02:01:05PM +, Song Liu wrote:
> @@ -1392,6 +1403,23 @@ static void collapse_file(struct mm_struct *mm,
>
On Mon, Jun 24, 2019 at 07:52:45AM +0200, Christoph Hellwig wrote:
> Currently we don't overwrite the flags field in the iomap in
> xfs_bmbt_to_iomap. This works fine with 0-initialized iomaps on stack,
> but is harmful once we want to be able to reuse an iomap in the
> writeback code.
Is that
On Fri, Jun 21, 2019 at 04:05:24PM -0400, Alan Stern wrote:
> On Sat, 22 Jun 2019, Suwan Kim wrote:
>
> > There are bugs on vhci with usb 3.0 storage device. Originally, vhci
> > doesn't supported SG. So, USB storage driver on vhci divides SG list
> > into multiple URBs and it causes buffer
On 06/18/2019 08:13 PM, Michal Rostecki wrote:
> ibumad example was implementing the bpf_debug macro which is exactly the
> same as the bpf_printk macro available in bpf_helpers.h. This change
> makes use of bpf_printk instead of bpf_debug.
>
> Signed-off-by: Michal Rostecki
Applied, thanks!
> On Jun 24, 2019, at 7:54 AM, Kirill A. Shutemov wrote:
>
> On Mon, Jun 24, 2019 at 02:42:13PM +, Song Liu wrote:
>>
>>
>>> On Jun 24, 2019, at 7:27 AM, Kirill A. Shutemov
>>> wrote:
>>>
>>> On Mon, Jun 24, 2019 at 02:01:05PM +, Song Liu wrote:
>> @@ -1392,6 +1403,23 @@
On Wed, Jun 19, 2019 at 01:10:57PM +0100, Sudeep Holla wrote:
> Hi Russell,
>
> On Mon, Jun 17, 2019 at 11:59:17AM -0700, Atish Patra wrote:
> > Currently, ARM32 and ARM64 uses different data structures to represent
> > their cpu topologies. Since, we are moving the ARM64 topology to common
> >
at 19:56, Neftin, Sasha wrote:
On 6/24/2019 10:03, Kai-Heng Feng wrote:
Hi Jeffrey,
at 19:08, Kai-Heng Feng wrote:
Hi Jeffrey,
There are several platforms that uses e1000e can’t enter Opportunistic
S0ix (PC10) when the ethernet has a link partner.
This behavior also exits in
The detail_location[] string in struct ghes_edac_pvt is complete
useless and data is just copied around. Put everything into
e->other_detail from the beginning.
Signed-off-by: Robert Richter
---
drivers/edac/ghes_edac.c | 16
1 file changed, 8 insertions(+), 8 deletions(-)
The grain in edac is defined as "minimum granularity for an error
report, in bytes". The following calculation of the grain_bits in
edac_mc is wrong:
grain_bits = fls_long(e->grain) + 1;
Where grain_bits is defined as:
grain = 1 << grain_bits
Example:
grain = 8 #
Duplicate code, remove it. The only difference is the missing
IS_ENABLED(CONFIG_RAS) switch in ghes_edac which we will need there
too.
Signed-off-by: Robert Richter
---
drivers/edac/edac_mc.c | 34 +-
drivers/edac/ghes_edac.c | 16 +---
2 files
The conversion from the physical address mask to a grain (defined as
granularity in bytes) is broken:
e->grain = ~(mem_err->physical_addr_mask & ~PAGE_MASK);
E.g., a physical address mask of ~0xfff should give a grain of 0x1000,
instead the grain is wrong with the upper bits always set.
The ghes driver is not able yet to count legacy API counters in sysfs,
e.g.:
/sys/devices/system/edac/mc/mc0/csrow2/ce_count
/sys/devices/system/edac/mc/mc0/csrow2/ch0_ce_count
/sys/devices/system/edac/mc/mc0/csrow2/ch1_ce_count
Make counting csrows/channels generic so that the ghes driver
We do not need to calculate the offset in the mc's dimm array, let's
just store the index in struct dimm_info and we can get rid of this
macro.
Signed-off-by: Robert Richter
---
drivers/edac/edac_mc.c | 13
drivers/edac/edac_mc_sysfs.c | 20 --
Remove needless and boilerplate variable declarations. No functional
changes.
Signed-off-by: Robert Richter
---
drivers/edac/edac_mc.c | 21 +
1 file changed, 9 insertions(+), 12 deletions(-)
diff --git a/drivers/edac/edac_mc.c b/drivers/edac/edac_mc.c
index
Typically for most systems, there is one edac memory controller device
per node. This patch implements the same for the ghes driver. Now,
create multiple mc devices and map the dimms based on the node id.
We need at least one node that is used as fallback if no node
information is available in
In a later patch we want to have one mc device per node. This patch
extracts the numa node information for each dimm. This is done by
collecting the physical address ranges from the DMI table (Memory
Array Mapped Address - Type 19 of SMBIOS spec). The node information
for a physical address is
Remove gotos as they just create overhead. Also, fix debug message for
the case edac_create_dimm_object() is failing.
Signed-off-by: Robert Richter
---
drivers/edac/edac_mc_sysfs.c | 25 +
1 file changed, 9 insertions(+), 16 deletions(-)
diff --git
This patch extracts the DIMM label from the DMI table and puts this
information into sysfs. E.g. on a ThunderX2 system we found this now:
# grep . /sys/devices/system/edac/mc/mc*/dimm*/dimm_label
/sys/devices/system/edac/mc/mc0/dimm0/dimm_label:N0 DIMM_A0
According to SMBIOS Spec. 2.7 (N.2.5 Memory Error Section), a failing
DIMM (module or rank number) can be identified by its error location
consisting of node, card and module. A module handle is used to map it
to the dimms listed in the dmi table. Collect all those data from the
error record and
This patch enables per-layer reporting of the GHES driver based on
node, card and module. A dimm can be uniquely identified by those 3
identifiers. The mc device is selected by the node id. Thus, each ghes
edac memory controller device has a 2-dimensional layer hierarchy
based on card and module
Systems using ACPI GHES for error detection do not have exact
knowledge of the memory hierarchy. Compared to other memory controller
drivers the total size of each layer is unknown (card/module,
channel/slot, etc.). But there is the total number of dimms. So add a
function to allocate an mc device
James Morse: "I'm all for removing/warning-its-broken it when
ghes_edac is in use."
Let's just disable legacy API for the ghes driver on arm64. Though, I
don't agree with it as there still could be some userland tools that
use this interface that cannot be used any longer after a transition
from
This is private to the ghes_edac driver, so better keep that data in
the struct ghes_dimm_info.
Signed-off-by: Robert Richter
---
drivers/edac/ghes_edac.c | 15 +++
include/linux/edac.h | 2 --
2 files changed, 7 insertions(+), 10 deletions(-)
diff --git
Looking at how mci->{ue,ce}_per_layer[EDAC_MAX_LAYERS] is used, it
turns out that only the leaves in the memory hierarchy are consumed
(in sysfs), but not the intermediate layers, e.g.:
count = dimm->mci->ce_per_layer[dimm->mci->n_layers-1][dimm->idx];
So let's get rid of the unused counters
1 - 100 of 1264 matches
Mail list logo