re: 40 PR8-9 contextual and dofollow
by PR9.Profile.Links@mg-dot.cn
Manual Backlinks with log in details. Have full control on your
backlinks.
- 40 PR 8-9 Backlinks from authority sites
- Permanent One-way Links
- Anchor Text + Ping
- All domains unique
- Completed in 5-7 business days
- Detailed Submission Report
http://www.mg-dot.cn/detail.php?id=122
Unsubscribe option is available on the footer of our website
4 years, 11 months
You have new fax, document 00332247
by Interfax Service
You have received a new fax.
You can find your fax document in the attachment.
Processed in: 13 seconds
Number of pages: 6
Resolution: 200 DPI
Fax name: document_00332247.doc
Date of scan: Tue, 2 Feb 2016 05:34:34 +0300
Author: Julio Schroeder
File size: 216 Kb
Thank you for using Interfax!
4 years, 11 months
LSF/MM ATTEND (resend)] Persistent Memory Error Handling
by Vishal Verma
[ Resending because my original email was caught in spam filters ]
Hi,
I'd like to attend LSF/MM. My primary topic of interest is the above as
proposed by Jeff Moyer:
http://www.spinics.net/lists/linux-mm/msg100560.html
I wrote the initial enabling for error handling that was merged for 4.5
(Building a poison list in the libnvdimm subsystem, exposing it as
'badblocks'), and am working on subsequent improvements in this areaa.
These would include making the initial poison gathering asynchronous,
and finer grained DAX control instead of turning DAX off entirely in
the presence of poison which we currently do.
Another topic of discussion I'd like to propose within this session is
to explore if there are use cases that the now-generic badblocks
implementation can fit. There is at least one opportunity of
consolidation between md-raid's sysfs representation of badblocks, and
the generically available one in gendisk.
Thanks,
-Vishal
4 years, 11 months
[PATCH] ndctl: release v50
by Dan Williams
This release incorporates the capabilities of the v4.5 kernel, and adds
the below features and fixes:
New apis:
ndctl_bus_get_ctx
ndctl_namespace_get_pfn
ndctl_namespace_get_mode
ndctl_namespace_get_numa_node
ndctl_region_get_pfn_seed
ndctl_pfn_get_first
ndctl_pfn_get_next
ndctl_pfn_get_id
ndctl_pfn_get_namespace
ndctl_pfn_get_uuid
ndctl_pfn_set_uuid
ndctl_pfn_get_location
ndctl_pfn_set_location
ndctl_pfn_get_align
ndctl_pfn_set_align
ndctl_pfn_set_namespace
ndctl_pfn_get_bus
ndctl_pfn_get_ctx
ndctl_pfn_get_devname
ndctl_pfn_get_block_device
ndctl_pfn_is_valid
ndctl_pfn_is_enabled
ndctl_pfn_get_region
ndctl_pfn_enable
ndctl_pfn_delete
ndctl_pfn_is_configured
New utility commands:
list
help (man pages)
create-namespace
Api fixes:
ndctl_{namespace|btt}_foreach crash fix
ndctl_namespace_delete no longer errors on "io" namespaces
miscellaneous static analysis fixes
Utility command fixes:
{en|dis}able-{namespace|region} return code
Signed-off-by: Dan Williams <dan.j.williams(a)intel.com>
---
Makefile.am | 4 ++--
builtin-xaction-namespace.c | 2 +-
git-version-gen | 2 +-
lib/libndctl-ars.c | 2 +-
lib/libndctl-private.h | 2 +-
lib/libndctl.c | 2 +-
lib/ndctl/libndctl.h | 2 +-
ndctl.h | 2 +-
nfit.h | 2 +-
test/dax-dev.c | 2 +-
test/dpa-alloc.c | 2 +-
test/libndctl.c | 2 +-
12 files changed, 13 insertions(+), 13 deletions(-)
diff --git a/Makefile.am b/Makefile.am
index e613bc418b17..1c6a4b07f8f1 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -45,9 +45,9 @@ SED_PROCESS = \
%.pc: %.pc.in Makefile
$(SED_PROCESS)
-LIBNDCTL_CURRENT=5
+LIBNDCTL_CURRENT=6
LIBNDCTL_REVISION=0
-LIBNDCTL_AGE=2
+LIBNDCTL_AGE=0
pkginclude_HEADERS = lib/ndctl/libndctl.h
lib_LTLIBRARIES = lib/libndctl.la
diff --git a/builtin-xaction-namespace.c b/builtin-xaction-namespace.c
index eb16aaaf5ee7..f4645d866e0f 100644
--- a/builtin-xaction-namespace.c
+++ b/builtin-xaction-namespace.c
@@ -1,5 +1,5 @@
/*
- * Copyright(c) 2015 Intel Corporation. All rights reserved.
+ * Copyright(c) 2015-2016 Intel Corporation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of version 2 of the GNU General Public License as
diff --git a/git-version-gen b/git-version-gen
index a12a62fd397f..9cd2ebf1407a 100755
--- a/git-version-gen
+++ b/git-version-gen
@@ -10,7 +10,7 @@ dirty() {
}
GVF=version.m4
-DEF_VER=v47
+DEF_VER=v50
LF='
'
diff --git a/lib/libndctl-ars.c b/lib/libndctl-ars.c
index fd988996501d..ea3af82ca647 100644
--- a/lib/libndctl-ars.c
+++ b/lib/libndctl-ars.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014-2015, Intel Corporation.
+ * Copyright (c) 2014-2016, Intel Corporation.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms and conditions of the GNU Lesser General Public License,
diff --git a/lib/libndctl-private.h b/lib/libndctl-private.h
index d3cca9401b45..8111a555b957 100644
--- a/lib/libndctl-private.h
+++ b/lib/libndctl-private.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014-2015, Intel Corporation.
+ * Copyright (c) 2014-2016, Intel Corporation.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms and conditions of the GNU Lesser General Public License,
diff --git a/lib/libndctl.c b/lib/libndctl.c
index f6d8c51cd037..b85ae259827b 100644
--- a/lib/libndctl.c
+++ b/lib/libndctl.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014-2015, Intel Corporation.
+ * Copyright (c) 2014-2016, Intel Corporation.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms and conditions of the GNU Lesser General Public License,
diff --git a/lib/ndctl/libndctl.h b/lib/ndctl/libndctl.h
index 81f7e96b3f3d..088bb3c3d8b9 100644
--- a/lib/ndctl/libndctl.h
+++ b/lib/ndctl/libndctl.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014-2015, Intel Corporation.
+ * Copyright (c) 2014-2016, Intel Corporation.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms and conditions of the GNU Lesser General Public License,
diff --git a/ndctl.h b/ndctl.h
index 076cc92646aa..50df797f1974 100644
--- a/ndctl.h
+++ b/ndctl.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014-2015, Intel Corporation.
+ * Copyright (c) 2014-2016, Intel Corporation.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms and conditions of the GNU Lesser General Public License,
diff --git a/nfit.h b/nfit.h
index 190b906e06e9..9815d2143a9e 100644
--- a/nfit.h
+++ b/nfit.h
@@ -1,7 +1,7 @@
/*
* NVDIMM Firmware Interface Table - NFIT
*
- * Copyright(c) 2013-2015 Intel Corporation. All rights reserved.
+ * Copyright(c) 2013-2016 Intel Corporation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of version 2 of the GNU General Public License as
diff --git a/test/dax-dev.c b/test/dax-dev.c
index afc9e5211eb3..074fc9616743 100755
--- a/test/dax-dev.c
+++ b/test/dax-dev.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014-2015, Intel Corporation.
+ * Copyright (c) 2014-2016, Intel Corporation.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms and conditions of the GNU Lesser General Public License,
diff --git a/test/dpa-alloc.c b/test/dpa-alloc.c
index 2916d587ee35..87f374fe0540 100644
--- a/test/dpa-alloc.c
+++ b/test/dpa-alloc.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014-2015, Intel Corporation.
+ * Copyright (c) 2014-2016, Intel Corporation.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms and conditions of the GNU Lesser General Public License,
diff --git a/test/libndctl.c b/test/libndctl.c
index b6720ed59d95..5c26b5fdffc3 100644
--- a/test/libndctl.c
+++ b/test/libndctl.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014-2015, Intel Corporation.
+ * Copyright (c) 2014-2016, Intel Corporation.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms and conditions of the GNU Lesser General Public License,
4 years, 11 months
[ndctl PATCH] ndctl: fix 'make check' for common build environments
by Dan Williams
Given some versions of rpmbuild run 'make check' by default, be sure to
'skip' rather than 'fail' tests that are dependent on root priveleges,
kernel dependencies, or a specific hardware/firmware platform.
Reported-by: Ross Zwisler <ross.zwisler(a)linux.intel.com>
Tested-by: Ross Zwisler <ross.zwisler(a)linux.intel.com>
Signed-off-by: Dan Williams <dan.j.williams(a)intel.com>
---
test/create.sh | 11 +++++++++++
test/pcommit.c | 2 +-
2 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/test/create.sh b/test/create.sh
index 61ffe5fcc424..b190eccfc243 100755
--- a/test/create.sh
+++ b/test/create.sh
@@ -4,15 +4,26 @@ NDCTL="./ndctl"
BUS="-b nfit_test.0"
json2var="s/[{}\",]//g; s/:/=/g"
SECTOR_SIZE="4096"
+rc=77
set -e
+err() {
+ echo "test/create: failed at line $1"
+ exit $rc
+}
+
+set -e
+trap 'err $LINENO' ERR
+
# setup (reset nfit_test dimms)
modprobe nfit_test
$NDCTL disable-region $BUS all
$NDCTL zero-labels $BUS all
$NDCTL enable-region $BUS all
+rc=1
+
# create pmem
dev="x"
json=$($NDCTL create-namespace $BUS -t pmem -m raw)
diff --git a/test/pcommit.c b/test/pcommit.c
index afe4fde44d22..3ef09a5074a4 100644
--- a/test/pcommit.c
+++ b/test/pcommit.c
@@ -54,7 +54,7 @@ int test_pcommit(void)
}
fclose(cpuinfo);
- return ENOTSUP;
+ return 77;
}
int __attribute__((weak)) main(int argc, char *argv[])
4 years, 11 months
[PATCH v8 0/3] Machine check recovery when kernel accesses poison
by Tony Luck
This series is initially targeted at the folks doing filesystems
on top of NVDIMMs. They really want to be able to return -EIO
when there is a h/w error (just like spinning rust, and SSD does).
I plan to use the same infrastructure to write a machine check aware
"copy_from_user()" that will SIGBUS the calling application when a
syscall touches poison in user space (just like we do when the application
touches the poison itself).
Changes V7-V8
Boris: Would be so much cleaner if we added a new field to the exception table
instead of squeezing bits into the fixup field. New field added
Tony: Documentation needs to be updated. Done
Changes V6-V7:
Boris: Why add/subtract 0x20000000? Added better comment provided by Andy
Boris: Churn. Part2 changes things only introduced in part1.
Merged parts 1&2 into one patch.
Ingo: Missing my sign off on part1. Added.
Changes V5-V6
Andy: Provoked massive re-write by providing what is now part1 of this
patch series. This frees up two bits in the exception table
fixup field that can be used to tag exception table entries
as different "classes". This means we don't need my separate
exception table fro machine checks. Also avoids duplicating
fixup actions for #PF and #MC cases that were in version 5.
Andy: Use C99 array initializers to tie the various class fixup
functions back to the defintions of each class. Also give the
functions meanningful names (not fixup_class0() etc.).
Boris: Cleaned up my lousy assembly code removing many spurious 'l'
modifiers on instructions.
Boris: Provided some helper functions for the machine check severity
calculation that make the code more readable.
Boris: Have __mcsafe_copy() return a structure with the 'remaining bytes'
in a separate field from the fault indicator. Boris had suggested
Linux -EFAULT/-EINVAL ... but I thought it made more sense to return
the exception number (X86_TRAP_MC, etc.) This finally kills off
BIT(63) which has been controversial throughout all the early versions
of this patch series.
Changes V4-V5
Tony: Extended __mcsafe_copy() to have fixup entries for both machine
check and page fault.
Changes V3-V4:
Andy: Simplify fixup_mcexception() by dropping used-once local variable
Andy: "Reviewed-by" tag added to part1
Boris: Moved new functions to memcpy_64.S and declaration to asm/string_64.h
Boris: Changed name s/mcsafe_memcpy/__mcsafe_copy/ to make it clear that this
is an internal function and that return value doesn't follow memcpy() semantics.
Boris: "Reviewed-by" tag added to parts 1&2
Changes V2-V3:
Andy: Don't hack "regs->ax = BIT(63) | addr;" in the machine check
handler. Now have better fixup code that computes the number
of remaining bytes (just like page-fault fixup).
Andy: #define for BIT(63). Done, plus couple of extra macros using it.
Boris: Don't clutter up generic code (like mm/extable.c) with this.
I moved everything under arch/x86 (the asm-generic change is
a more generic #define).
Boris: Dependencies for CONFIG_MCE_KERNEL_RECOVERY are too generic.
I made it a real menu item with default "n". Dan Williams
will use "select MCE_KERNEL_RECOVERY" from his persistent
filesystem code.
Boris: Simplify conditionals in mce.c by moving tolerant/kill_it
checks earlier, with a skip to end if they aren't set.
Boris: Miscellaneous grammar/punctuation. Fixed.
Boris: Don't leak spurious __start_mcextable symbols into kernels
that didn't configure MCE_KERNEL_RECOVERY. Done.
Tony: New code doesn't belong in user_copy_64.S/uaccess*.h. Moved
to new .S/.h files
Elliott:Cacheing behavior non-optimal. Could use movntdqa, vmovntdqa
or vmovntdqa on source addresses. I didn't fix this yet. Think
of the current mcsafe_memcpy() as the first of several functions.
This one is useful for small copies (meta-data) where the overhead
of saving SSE/AVX state isn't justified.
Changes V1->V2:
0-day: Reported build errors and warnings on 32-bit systems. Fixed
0-day: Reported bloat to tinyconfig. Fixed
Boris: Suggestions to use extra macros to reduce code duplication in _ASM_*EXTABLE. Done
Boris: Re-write "tolerant==3" check to reduce indentation level. See below.
Andy: Check IP is valid before searching kernel exception tables. Done.
Andy: Explain use of BIT(63) on return value from mcsafe_memcpy(). Done (added decode macros).
Andy: Untangle mess of code in tail of do_machine_check() to make it
clear what is going on (e.g. that we only enter the ist_begin_non_atomic()
if we were called from user code, not from kernel!). Done.
Tony Luck (3):
x86: Expand exception table to allow new handling options
x86, mce: Check for faults tagged in EXTABLE_CLASS_FAULT exception
table entries
x86, mce: Add __mcsafe_copy()
Documentation/x86/exception-tables.txt | 34 ++++++++
arch/x86/include/asm/asm.h | 44 ++++++----
arch/x86/include/asm/string_64.h | 8 ++
arch/x86/include/asm/uaccess.h | 13 +--
arch/x86/kernel/cpu/mcheck/mce-severity.c | 32 ++++++-
arch/x86/kernel/cpu/mcheck/mce.c | 71 ++++++++--------
arch/x86/kernel/kprobes/core.c | 2 +-
arch/x86/kernel/traps.c | 6 +-
arch/x86/kernel/x8664_ksyms_64.c | 2 +
arch/x86/lib/memcpy_64.S | 133 ++++++++++++++++++++++++++++++
arch/x86/mm/extable.c | 84 ++++++++++++-------
arch/x86/mm/fault.c | 2 +-
scripts/sortextable.c | 30 +++++++
13 files changed, 370 insertions(+), 91 deletions(-)
--
2.1.4
4 years, 11 months
[PATCH 0/2] Fix BTT data corruptions after crash
by Toshi Kani
Data corruption issues were observed in tests which initiated a system
crash/reset while accessing BTT devices. This problem is reproducible.
The BTT driver calls pmem_rw_bytes() to update data in pmem devices.
This interface calls __copy_user_nocache(), which uses non-temporal
stores so that the stores to pmem are persistent.
__copy_user_nocache() uses non-temporal stores when a request size is
8 bytes or larger (and is aligned by 8 bytes). The BTT driver updates
the BTT map table, which entry size is 4 bytes. Therefore, updates to
the map table entries remain cached, and are not written to pmem after
a crash. Since the BTT driver makes previous blocks free and uses them
for subsequent writes, the map table ends up pointing to blocks allocated
for other LBAs after a crash.
Patch 1 extends __copy_user_nocache() to use non-temporal store for
4 byte copy. This patch fixes the BTT data corruption issue.
Patch 2 changes arch_memcpy_to_pmem() to flush processor caches when
a request is not naturally aligned or is less than 4 bytes. This is
defensive change.
---
Toshi Kani (2):
1/2 x86/lib/copy_user_64.S: Handle 4-byte uncached copy
2/2 pmem: Flush cache on unaligned request
---
arch/x86/include/asm/pmem.h | 11 +++++++++++
arch/x86/lib/copy_user_64.S | 44 +++++++++++++++++++++++++++++++++-----------
2 files changed, 44 insertions(+), 11 deletions(-)
4 years, 11 months
You have received a new fax, document 000122637
by Interfax Service
New incoming fax document.
You can find your fax document in the attachment.
File size: 235 Kb
Resolution: 100 DPI
Author: Marion Marsh
Date: Sun, 31 Jan 2016 16:41:01 +0300
Processed in: 21 seconds
File name: scanned-000122637.doc
Pages: 10
Thanks for using Interfax service!
4 years, 11 months