[PATCH 1/1] nvdimm: use the right length of "pmem"
by Nicolas Iooss
In order to test that the name of a resource begins with "pmem", call
strncmp() with 4 as length instead of 3 to match the whole prefix.
Fixes: 16660eaea0cc ("libnvdimm, namespace: update label implementation
for multi-pmem")
Signed-off-by: Nicolas Iooss <nicolas.iooss_linux(a)m4x.org>
---
drivers/nvdimm/label.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/nvdimm/label.c b/drivers/nvdimm/label.c
index fac7cabe8f56..dd615345699f 100644
--- a/drivers/nvdimm/label.c
+++ b/drivers/nvdimm/label.c
@@ -938,7 +938,7 @@ int nd_pmem_namespace_label_update(struct nd_region *nd_region,
}
for_each_dpa_resource(ndd, res)
- if (strncmp(res->name, "pmem", 3) == 0)
+ if (strncmp(res->name, "pmem", 4) == 0)
count++;
WARN_ON_ONCE(!count);
--
2.10.1
5 years, 6 months
[PATCH] device-dax: check devm_nsio_enable() return value
by Dan Williams
If the dax_pmem driver is passed a resource that is already busy the
driver probe attempt should fail with a message like the following:
dax_pmem dax0.1: could not reserve region [mem 0x100000000-0x11fffffff]
However, if we do not catch the error we crash for the obvious reason of
accessing memory that is not mapped.
BUG: unable to handle kernel paging request at ffffc90020001000
IP: [<ffffffff81496712>] __memcpy+0x12/0x20
[..]
Call Trace:
[<ffffffff815c4960>] ? nsio_rw_bytes+0x60/0x180
[<ffffffff815c6045>] nd_pfn_validate+0x75/0x320
[<ffffffff815c63a9>] nvdimm_setup_pfn+0xb9/0x5d0
[<ffffffff815c48ef>] ? devm_nsio_enable+0xff/0x110
[<ffffffff815cb699>] dax_pmem_probe+0x59/0x260
Cc: <stable(a)vger.kernel.org>
Fixes: ab68f2622136 ("/dev/dax, pmem: direct access to persistent memory")
Reported-by: Dave Hansen <dave.hansen(a)linux.intel.com>
Signed-off-by: Dan Williams <dan.j.williams(a)intel.com>
---
drivers/dax/pmem.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/dax/pmem.c b/drivers/dax/pmem.c
index 4a15fa5df98b..73c6ce93a0d9 100644
--- a/drivers/dax/pmem.c
+++ b/drivers/dax/pmem.c
@@ -78,7 +78,9 @@ static int dax_pmem_probe(struct device *dev)
nsio = to_nd_namespace_io(&ndns->dev);
/* parse the 'pfn' info block via ->rw_bytes */
- devm_nsio_enable(dev, nsio);
+ rc = devm_nsio_enable(dev, nsio);
+ if (rc)
+ return rc;
altmap = nvdimm_setup_pfn(nd_pfn, &res, &__altmap);
if (IS_ERR(altmap))
return PTR_ERR(altmap);
5 years, 6 months
[GIT PULL] libnvdimm fixes for 4.9-rc3
by Williams, Dan J
Hi Linus, please pull from:
git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm libnvdimm-fixes
...to receive:
A compilation fix, a NULL de-reference found by static analysis, a
misuse of the percpu_ref_exit() (tagged for -stable), and notification
of failed attempts to clear media errors.
These patches have received a build success notification from the 0day-
kbuild-robot and appeared in next-20161028.
---
The following changes since commit 1001354ca34179f3db924eb66672442a173147dc:
Linux 4.9-rc1 (2016-10-15 12:17:50 -0700)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm libnvdimm-fixes
for you to fetch changes up to 52e73eb2872c9af6f382b2b22954ca8214397a4e:
device-dax: fix percpu_ref_exit ordering (2016-10-27 17:04:05 -0700)
----------------------------------------------------------------
Arnd Bergmann (1):
nvdimm: make CONFIG_NVDIMM_DAX 'bool'
Dan Carpenter (1):
libnvdimm, namespace: potential NULL deref on allocation error
Dan Williams (1):
device-dax: fix percpu_ref_exit ordering
Toshi Kani (1):
pmem: report error on clear poison failure
drivers/dax/Kconfig | 2 +-
drivers/dax/pmem.c | 2 +-
drivers/nvdimm/Kconfig | 2 +-
drivers/nvdimm/namespace_devs.c | 14 ++++++++------
drivers/nvdimm/pmem.c | 8 ++++++--
5 files changed, 17 insertions(+), 11 deletions(-)
---
commit 75d29713b792da4782cadfaa87e802183440694e
Author: Dan Carpenter <dan.carpenter(a)oracle.com>
Date: Wed Oct 12 09:34:29 2016 +0300
libnvdimm, namespace: potential NULL deref on allocation error
If the kcalloc() fails then "devs" can be NULL and we dereference it
checking "devs[i]".
Fixes: 1b40e09a1232 ('libnvdimm: blk labels and namespace instantiation')
Signed-off-by: Dan Carpenter <dan.carpenter(a)oracle.com>
Signed-off-by: Dan Williams <dan.j.williams(a)intel.com>
commit 3115bb02b5c23d960df5f1bf551ec394a9bb10ec
Author: Toshi Kani <toshi.kani(a)hpe.com>
Date: Thu Oct 13 09:54:21 2016 -0600
pmem: report error on clear poison failure
ACPI Clear Uncorrectable Error DSM function may fail or may be
unsupported on a platform. pmem_clear_poison() returns without clearing
badblocks in such cases. This failure is detected at the next read
(-EIO).
This behavior can lead to an issue when user keeps writing but does not
read immediately. For instance, flight recorder file may be only read
when it is necessary for troubleshooting.
Change pmem_do_bvec() and pmem_clear_poison() to return -EIO so that
filesystem can log an error message on a write error.
Cc: Vishal Verma <vishal.l.verma(a)intel.com>
Signed-off-by: Toshi Kani <toshi.kani(a)hpe.com>
Signed-off-by: Dan Williams <dan.j.williams(a)intel.com>
commit 867dfe342118b1ea0256a85f7c0d9ceb0ead032a
Author: Arnd Bergmann <arnd(a)arndb.de>
Date: Tue Oct 25 17:52:04 2016 +0200
nvdimm: make CONFIG_NVDIMM_DAX 'bool'
A bugfix just tried to address a randconfig build problem and introduced
a variant of the same problem: with CONFIG_LIBNVDIMM=y and
CONFIG_NVDIMM_DAX=m, the nvdimm module now fails to link:
drivers/nvdimm/built-in.o: In function `to_nd_device_type':
bus.c:(.text+0x1b5d): undefined reference to `is_nd_dax'
drivers/nvdimm/built-in.o: In function `nd_region_notify_driver_action.constprop.2':
region_devs.c:(.text+0x6b6c): undefined reference to `is_nd_dax'
region_devs.c:(.text+0x6b8c): undefined reference to `to_nd_dax'
drivers/nvdimm/built-in.o: In function `nd_region_probe':
region.c:(.text+0x70f3): undefined reference to `nd_dax_create'
drivers/nvdimm/built-in.o: In function `mode_show':
namespace_devs.c:(.text+0xa196): undefined reference to `is_nd_dax'
drivers/nvdimm/built-in.o: In function `nvdimm_namespace_common_probe':
(.text+0xa55f): undefined reference to `is_nd_dax'
drivers/nvdimm/built-in.o: In function `nvdimm_namespace_common_probe':
(.text+0xa56e): undefined reference to `to_nd_dax'
This reverts the earlier fix, making NVDIMM_DAX a 'bool' option again
as it should be (it gets linked into the libnvdimm module). To fix
the original problem, I'm adding a dependency on LIBNVDIMM to
DEV_DAX_PMEM, which ensures we can't have that one built-in if the
rest is a module.
Fixes: 4e65e9381c7a ("/dev/dax: fix Kconfig dependency build breakage")
Signed-off-by: Arnd Bergmann <arnd(a)arndb.de>
Reviewed-by: Ross Zwisler <ross.zwisler(a)linux.intel.com>
Signed-off-by: Dan Williams <dan.j.williams(a)intel.com>
commit 52e73eb2872c9af6f382b2b22954ca8214397a4e
Author: Dan Williams <dan.j.williams(a)intel.com>
Date: Thu Oct 27 17:04:05 2016 -0700
device-dax: fix percpu_ref_exit ordering
We need to wait until the percpu_ref is released before exit. Otherwise,
we sometimes lose the race and trigger this new warning that was added
in v4.9 (commit a67823c1ed10 "percpu-refcount: init ->confirm_switch
member properly"):
WARNING: CPU: 0 PID: 3629 at lib/percpu-refcount.c:107 percpu_ref_exit+0x51/0x60
[..]
Call Trace:
[<ffffffff814bf093>] dump_stack+0x85/0xc2
[<ffffffff810b15db>] __warn+0xcb/0xf0
[<ffffffff810b170d>] warn_slowpath_null+0x1d/0x20
[<ffffffff814d70c1>] percpu_ref_exit+0x51/0x60
[<ffffffffa005706a>] dax_pmem_percpu_exit+0x1a/0x50 [dax_pmem]
[<ffffffff81615f1f>] devm_action_release+0xf/0x20
Cc: <stable(a)vger.kernel.org>
Fixes: ab68f2622136 ("/dev/dax, pmem: direct access to persistent memory")
Signed-off-by: Dan Williams <dan.j.williams(a)intel.com>
5 years, 6 months
Infinite loop with DAX PMD faults
by Jan Kara
Hello,
When testing my DAX patches rebased on top of Ross' DAX PMD series, I've
come across the following issue with generic/344 test from xfstests. The
test ends in an infinite fault loop when we fault index 0 over and over
again never finishing the fault. The problem is that we do a write fault
for index 0 when there is PMD for that index. So we enter wp_huge_pmd().
For whatever reason that returns VM_FAULT_FALLBACK so we continue to
handle_pte_fault(). There we do
if (pmd_trans_unstable(vmf->pmd) || pmd_devmap(*vmf->pmd))
check which is true - the PMD we have is pmd_trans_huge() - so we 'return
0' and that results in retrying the fault and all happens from the
beginning again.
It isn't quite obvious how to break that cycle to me. The comment before
pmd_none_or_trans_huge_or_clear_bad() goes to great lengths explaining
possible races when PMD is pmd_trans_huge() so it needs careful evaluation
what needs to be done for DAX. Ross, any idea?
Honza
--
Jan Kara <jack(a)suse.com>
SUSE Labs, CR
5 years, 6 months
[PATCH] device-dax: fix percpu_ref_exit ordering
by Dan Williams
We need to wait until the percpu_ref is released before exit. Otherwise,
we sometimes lose the race and trigger this new warning that was added
in v4.9 (commit a67823c1ed10 "percpu-refcount: init ->confirm_switch
member properly"):
WARNING: CPU: 0 PID: 3629 at lib/percpu-refcount.c:107 percpu_ref_exit+0x51/0x60
[..]
Call Trace:
[<ffffffff814bf093>] dump_stack+0x85/0xc2
[<ffffffff810b15db>] __warn+0xcb/0xf0
[<ffffffff810b170d>] warn_slowpath_null+0x1d/0x20
[<ffffffff814d70c1>] percpu_ref_exit+0x51/0x60
[<ffffffffa005706a>] dax_pmem_percpu_exit+0x1a/0x50 [dax_pmem]
[<ffffffff81615f1f>] devm_action_release+0xf/0x20
Cc: <stable(a)vger.kernel.org>
Fixes: ab68f2622136 ("/dev/dax, pmem: direct access to persistent memory")
Signed-off-by: Dan Williams <dan.j.williams(a)intel.com>
---
drivers/dax/pmem.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/dax/pmem.c b/drivers/dax/pmem.c
index 9630d8837ba9..4a15fa5df98b 100644
--- a/drivers/dax/pmem.c
+++ b/drivers/dax/pmem.c
@@ -44,7 +44,6 @@ static void dax_pmem_percpu_exit(void *data)
dev_dbg(dax_pmem->dev, "%s\n", __func__);
percpu_ref_exit(ref);
- wait_for_completion(&dax_pmem->cmp);
}
static void dax_pmem_percpu_kill(void *data)
@@ -54,6 +53,7 @@ static void dax_pmem_percpu_kill(void *data)
dev_dbg(dax_pmem->dev, "%s\n", __func__);
percpu_ref_kill(ref);
+ wait_for_completion(&dax_pmem->cmp);
}
static int dax_pmem_probe(struct device *dev)
5 years, 6 months
[PATCH] nvdimm: make CONFIG_NVDIMM_DAX 'bool'
by Arnd Bergmann
A bugfix just tried to address a randconfig build problem and introduced
a variant of the same problem: with CONFIG_LIBNVDIMM=y and
CONFIG_NVDIMM_DAX=m, the nvdimm module now fails to link:
drivers/nvdimm/built-in.o: In function `to_nd_device_type':
bus.c:(.text+0x1b5d): undefined reference to `is_nd_dax'
drivers/nvdimm/built-in.o: In function `nd_region_notify_driver_action.constprop.2':
region_devs.c:(.text+0x6b6c): undefined reference to `is_nd_dax'
region_devs.c:(.text+0x6b8c): undefined reference to `to_nd_dax'
drivers/nvdimm/built-in.o: In function `nd_region_probe':
region.c:(.text+0x70f3): undefined reference to `nd_dax_create'
drivers/nvdimm/built-in.o: In function `mode_show':
namespace_devs.c:(.text+0xa196): undefined reference to `is_nd_dax'
drivers/nvdimm/built-in.o: In function `nvdimm_namespace_common_probe':
(.text+0xa55f): undefined reference to `is_nd_dax'
drivers/nvdimm/built-in.o: In function `nvdimm_namespace_common_probe':
(.text+0xa56e): undefined reference to `to_nd_dax'
This reverts the earlier fix, making NVDIMM_DAX a 'bool' option again
as it should be (it gets linked into the libnvdimm module). To fix
the original problem, I'm adding a dependency on LIBNVDIMM to
DEV_DAX_PMEM, which ensures we can't have that one built-in if the
rest is a module.
Fixes: 4e65e9381c7a ("/dev/dax: fix Kconfig dependency build breakage")
Signed-off-by: Arnd Bergmann <arnd(a)arndb.de>
---
drivers/dax/Kconfig | 2 +-
drivers/nvdimm/Kconfig | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/dax/Kconfig b/drivers/dax/Kconfig
index daadd20aa936..3e2ab3b14eea 100644
--- a/drivers/dax/Kconfig
+++ b/drivers/dax/Kconfig
@@ -14,7 +14,7 @@ if DEV_DAX
config DEV_DAX_PMEM
tristate "PMEM DAX: direct access to persistent memory"
- depends on NVDIMM_DAX
+ depends on LIBNVDIMM && NVDIMM_DAX
default DEV_DAX
help
Support raw access to persistent memory. Note that this
diff --git a/drivers/nvdimm/Kconfig b/drivers/nvdimm/Kconfig
index 8b2b740d6679..124c2432ac9c 100644
--- a/drivers/nvdimm/Kconfig
+++ b/drivers/nvdimm/Kconfig
@@ -89,7 +89,7 @@ config NVDIMM_PFN
Select Y if unsure
config NVDIMM_DAX
- tristate "NVDIMM DAX: Raw access to persistent memory"
+ bool "NVDIMM DAX: Raw access to persistent memory"
default LIBNVDIMM
depends on NVDIMM_PFN
help
--
2.9.0
5 years, 6 months
[PATCH v8 00/16] re-enable DAX PMD support
by Ross Zwisler
DAX PMDs have been disabled since Jan Kara introduced DAX radix tree based
locking. This series allows DAX PMDs to participate in the DAX radix tree
based locking scheme so that they can be re-enabled.
Changes since v7:
- Rebased on v4.9-rc1, dropping one ext4 patch that had already been merged.
- Added Reviewed-by tags from Jan Kara.
Here is a tree containing my changes:
https://git.kernel.org/cgit/linux/kernel/git/zwisler/linux.git/log/?h=dax...
Ross Zwisler (16):
ext4: tell DAX the size of allocation holes
dax: remove buffer_size_valid()
ext2: remove support for DAX PMD faults
dax: make 'wait_table' global variable static
dax: remove the last BUG_ON() from fs/dax.c
dax: consistent variable naming for DAX entries
dax: coordinate locking for offsets in PMD range
dax: remove dax_pmd_fault()
dax: correct dax iomap code namespace
dax: add dax_iomap_sector() helper function
dax: dax_iomap_fault() needs to call iomap_end()
dax: move RADIX_DAX_* defines to dax.h
dax: move put_(un)locked_mapping_entry() in dax.c
dax: add struct iomap based DAX PMD support
xfs: use struct iomap based DAX PMD fault path
dax: remove "depends on BROKEN" from FS_DAX_PMD
fs/Kconfig | 1 -
fs/dax.c | 826 +++++++++++++++++++++++++++++-----------------------
fs/ext2/file.c | 35 +--
fs/ext4/inode.c | 3 +
fs/xfs/xfs_aops.c | 26 +-
fs/xfs/xfs_aops.h | 3 -
fs/xfs/xfs_file.c | 10 +-
include/linux/dax.h | 58 +++-
mm/filemap.c | 5 +-
9 files changed, 537 insertions(+), 430 deletions(-)
--
2.7.4
5 years, 6 months
1. 案例分析:这个主管该如何做?
by 1. 案例分析:这个主管该如何做?先生
销.售.主.管.2天.强.化.训练营
【参课.时间】 2016年10月29-30上海 11月19-20北京 11月26-27深圳 12月10-11上海
【适合.对象】 将被提升的销售精英、销售主任、销售经理、区域经理、业务经理、销售总监、总经理
【讲课.模式】 讲师讲授 + 视频演绎 + 案例研讨 +角色扮演 + 讲师点评
【参会.价格】 3800圆/1人 (11月特价3200圆一位)
课程前言:
大部分销售主管都是从销售第一线被提拔上来,个人的销售能力都很强。但成为一个销售团队的主管后
,经常出现的一个问题是管理能力与经验不足。销售管理工作千头万绪,销售主管每天都在忙碌、焦虑中度
过,很少有时间去提升自己的管理技能。《销.售.主.管2天.强.化.训.练.营》,让销售主管在2天内进行强化训练,
学习必备的管理知识,理清基本的管理思路,解决管理中常见的问题。
1. 作为销售主管,以前没学习过管理知识,不知道如何管人,怎么办?
2. 销售主管当然应该有自己的销售任务吗?
3. 如何与下属相处?该严厉还是宽容?慈不掌兵还是爱兵如子?
4. 什么样的人才适合?应该如何挑选销售人员?
5. 试用期短,难以看到新人的业绩,试用期内如何评估考察?
6. 有人说“教会徒弟,饿死师傅”,怎么办?还要去辅导业务员吗?
7. 销售业绩该如何抓? 销售主管做些什么工作才能真正提升业绩?
8. 销售人员每天出去后,是去拜访客户,还是逛街、去网吧玩游戏?不好管理,怎么办?
9. 有没有一种方法,不需增加投入,而又能马上帮助业务员提升业绩?
10. 业绩竞赛对销售人员似乎没什么效果,怎么办?如何去激励销售人员?
以上疑虑,在《销.售.主.管2天.强.化.训..练.营》将得到解答!
培训收获:
1. 明确销售主管的工作定位,知道如何把握工作重点;
2. 帮助销售主管理清思路,正确处理销售中的常见问题;
3. 了解如何组建销售团队,如何选人、育人、留人;
4. 明白销售过程管理的原理与方法;
5. 学会销售团队业绩考核指标设定的方法;
6.了解销售业务人员奖惩的基本原理;
7.学完《销.售.主.管.2天.强化训练营》并掌握所学技巧方法,能有效提升销售团队业绩。
课程特点:
1. 得到市场验证的课程才是好课程!
◇何炜东老师的销售主管强化训练营已经连续4年每月在北京、上海、深圳轮流主办公开课。
2. 得到学员认可的课程才是好课程!
◇本课程已经得到数千名来自全国各行各业的销售主管好评见证。
3. 自主研发的课程才是好课程!
◇本课程由何炜东老师自主研发,结合了何老师多年销售管理实战经验。
4. 原版的课程才是好课程!
◇市面上已经出现抄袭课程,这样的课程你敢上吗?请认准何炜东老师的原创经典课程。
5. 能解答学员实际问题的老师才是好老师!
◇何老师具有丰富的实际经验与理论基础,可在课程现场即时解答学员提出的实际工作中遇到的问题。
讲师介绍:
何老师
实战型销售管理培训专家
实战经验:
◇可口可乐公司销售经理,曾主管三个营业所及两个销售部门,带领团队从无到有创立直销系统;
◇通用电气(GE)华南大区销售经理,建立产品销售新渠道模式;
◇和记黄埔集团之屈臣氏蒸馏水(Watsons Water)销售经理-南中国,建立健全产品分销体系;
◇亦曾服务于民营企业,担任过培训中心、制造企业、科技公司培训总监、人力资源总监、销售总监等职;
◇曾带领数百人的销售团队及主管华南四省销售业务,创造销量比上一年增长3倍的佳绩;
◇从基层销售做起,经历从业务员到销售总监的过程,对各级销售主管所遇管理问题都有所了解;
◇多年的销售管理经验积累,帮助学员了解知名外企在销售管理中的先进方法;
◇经过正规的营销理论体系训练,海外知名商学院QUT工商管理硕士(MBA);
◇北京大学、北京交通大学、上海交通大学、北京理工大学、西北工业大学深圳研究院特聘讲师;
◇已出版书籍:《十项全能销售管理者》 。
◇培训以互动、启发、情景式培训见长;将先进的管理理念结合讲师多年实战管理经验;注重受训人员的
感悟及参与;培训风格深入浅出、条理清晰;课堂气氛轻松、活跃、实战性强;通过各种实际案例及游戏等
方式充分调动参训人员的培训热情。为上千家企业提供销售培训与咨询,并被多家知名企业聘为销售团队辅
导顾问。
课程大纲:
第一部分、销售主管的工作与角色定位
一、销售主管该做什么?
1. 案例分析:这个主管该如何做?
2. 销售主管为什么这么忙?如何能不这么忙?
3. 销售主管的工作重点在哪里?
二、销售管理的几个注意点
1. 管理要注意度。案例分析:这个主管为什么会失败? (管理方法不是一成不变的)
2. 管理无大事,一切在细节(抓销量,也得从细节抓起)
3. 防火重于救火(预防更重要)
三、销售主管角色定位
1. 与公司、上司、同事的关系定位
2. 与下属的关系定位
——主管与下属能否成为真正的朋友?
——对下属该严厉还是宽容?
第二部分、销售团队的组建
一、销售人员的挑选
1. 选人比用人更重要,哪种销售人员适合你?什么性格好?
2. 面试销售人员要注意的问题
3. 试用期如何判断? 试用期要考察销售人员的2大点
二、销售人员的培育
1. 销售主管的主要职责:教师还是教练?
2. 培训成本太高?
3. 为什么培训效果不理想?
4. 指导下属时要注意的几个问题
——你说了他一定懂吗?
——他懂了一定做吗?
5. 辅导销售人员的5种主要方法
三、如何留住优秀销售人员?
1. 为什么优秀销售人员要走?
2. 如何留住优秀人才?
第三部分、销售人员管理与销售业绩管理
一、我们的工作重点应放在哪些人身上?
1. 销售经理的时间与精力不能平均分配,如何避免会哭的孩子有奶吃现象?
2. 销售人员的3大分类
3. 销售人员分类管理原则
二、销售业绩如何抓?
1. 为什么抓业绩,总是不见效果?
2. 抓业绩,要从三点入手
三、销售人员日常工作管理
1. 销售人员出去干嘛了,你知道吗?如何管理?
2. 销售人员日常工作管理三招。
——不用增加投入,让团队销售业绩提升的方法
四、销售目标设定与分解
1. 销售目标的设定原则
2. 销售人员的业绩指标分解方法
五、销售业绩考核
1、销售中的关键指标
——如何考核下属?先进的销售管理,必须做到量化
2. 关键业绩指标—KPI介绍
——考核销售人员的几个关键业绩指标
3. 运用关键业绩指标的几个注意点
第四部分,销售人员的激励与惩罚
一、必须了解的几个激励原理
1. 马斯洛需求层次理论
2. 公平理论 -- 案例分析
二、激励方法
1. 我两手空空,拿什么激励下属?
——几个低成本的激励方法
2. 提拔下属与激励
——业绩好就应该提拔?哪类人能提拔?扶上马,还得送一程
三、业绩竞赛与激励
1. 业绩竞赛一定合适吗? 业绩竞赛的利与弊
2. 如何避免业绩竞赛的弊端?
四、销售人员的惩罚
1. 有了胡萝卜,还需要大棒吗?单靠激励行吗?
2. 如何批评下属?批评下属的标准动作
第五部分、销售主管的自我提升
1. 我们为什么会被提升?我们的能力是否能胜任现在的工作?
2. 如何提升自己的管理技能?
——提高管理技能的3个途径
——管理者的学习,我们是否真的意识到学习的重要性?
——管理者如何学习?没有时间学习怎么办?
3. 销售主管要当心的陷阱
——案例分析:身经百战的她为什么失败?
——如何破解陷阱?
-------------------------------------------------------------------------
企·業·學·習·網 (中國知名企業培訓服務供應商)
【手....机】 o755-6662o355 l3544ol33l5颜小姐
【邮....箱】 971700732(a)qq.com 微.信: 971700732
-------------------------------------------------------------------------
■■■温馨提示:退订邮件请回复至 peixun3301(a)163.com
-------------------------------------------------------------------------
5 years, 6 months
1.工资总额包括哪些工资明细?
by 1.工资总额包括哪些工资明细?先生
新《劳.动.合.同.法》、《社会.保险法》、《工伤保险条例》实.操应对.策略与有效.调岗调薪、裁员解雇及违纪.问题员工.处理技巧——课.程.简介
【时间地点】
10月28-29日上海(B单元) 11月04-05日北京(B单元)11月11-12日深圳(B单元)
11月18-19日广州(A单元) 11月25-26日上海(A单元)12月02-03日北京(A单元)
【参.加.对.象】 董事长、总经理、副总经理、人力资源总监/经理/专员及人事行政管理人员、工会干部、法务人员及相关管理人员、相关律师等。
【授.课.方.式】 讲师讲授 + 视频演绎 + 案例研讨 +角色扮演 + 讲师点评
【学.习.费.用】 参加A单元:2800元/1人,5000元/2人;参加B单元:2800元/1人,5000元/2人,参加AB单元:5000元/人(含学习费、资料费、午餐、茶点、发票)
【手....机】 o755-6662o355 l3544ol33l5颜小姐
【邮....箱】 971700732(a)qq.com 微.信: 971700732
课程背景
2008年,国家出台了《劳动合同法》、《劳动合同法实施条例》、《劳动争议调解仲裁法》、《职工带薪年休假条例》、《企业职工带薪年休假实施办法》;2009年,国家出台了《劳动人事争议仲裁办案规则》;2010年,国家出台了《劳动争议司法解释(三)》及修改了《工伤保险条例》;2011年,国家出台了《社会保险法》及《实施<社会保险法>若干规定》;2012年,国家出台了《企业民主管理规定》、《女职工劳动保护特别规定》及修改了《职业病防治法》;2013年,国家出台了《劳动争议司法解释(四)》、《劳务派遣若干规定》;2014年……
上述法律法规政策的持续实施,客观上要求企业精打细算,否则无法承受与日俱增的用工成本;客观上要求用人单位做到“精细化”管理,否则难以证明劳动者“不合格、不胜任、严重失职、严重违纪违规”,也难以进行合法有效的“调岗调薪、裁员解雇”。如果用人单位依然实施“传统式、粗放式、随便式”的管理,那么用人单位必将面临巨大的用工风险和赔偿责任,其管理权威也将受到严峻的挑战!
为帮助广大企事业单位了解相关政策法律法规,掌握防范用工风险和化解劳动争议的技能技巧,以实现低风险、低成本、高绩效的人力资源管理目标,特邀请我国知名的劳动法与员工关系管理实战专家钟永棣老师主讲此课程。欢迎企事业单位积极组织相关人员参加此培训课程!
课程特色
稀缺性:此课程将劳动法体系和薪酬绩效管理体系紧密相结合,国内极少出现此类课程。
针对性:课程内容精选了过去5年来主讲老师亲自处理过的且在不少用人单位内部也曾发生过的代表性案例,这些案例完全符合中国现阶段的大环境大气候,极具参考性和启发性。
实战性:实战沙盘演练,学员深入思考与充分互动,老师毫不保留倾囊相授;学员把错误留在课堂,把正确的观点、方法、工具、技能带回去。
课程收益
1、全面了解劳动用工过程的法律风险;
2、理解与劳动用工有关的政策法律法规;
3、培养预测、分析劳动用工法律风险的思维;
4、掌握预防和应对风险的实战技能及方法工具……
新《劳动合同法》、《社会保险法》、《工伤保险条例》实操应对策略与有效调岗调薪、裁员解雇及违纪问题员工处理技巧——课程大纲
A单元内容(共2天,15个以上经典案例)
专题一:招聘入职
1.如何预防劳动者的“应聘欺诈”,如何证明劳动者的“欺诈”?
2.招收应届毕业生,应注意哪些细节问题?
3.招用达到法定退休年龄的人员,应注意哪些细节问题?
4.招用待岗、内退、停薪留职的人员,应注意哪些细节问题?
5.入职体检需注意哪些细节问题?
6.入职前后用人单位应告知劳动者哪些情况,如何保留证据?
7.《入职登记表》如何设计,才能起到预防法律风险的作用?
8.劳动者无法提交《离职证明》,该怎么办?
9.企业如何书写《录用通知书》,其法律风险有哪些?
专题二:劳动合同订立
1.用人单位自行拟定的劳动合同文本是否有效,是否需要进行备案?
2.劳动者借故拖延或拒绝签订劳动合同,用人单位如何应对?
3.未签订劳动合同,需支付多长期限的双倍工资?是否受到仲裁时效的限制?
4.劳动合同期满,继续留用劳动者,但未续签合同,是否也需支付双倍工资?
5.什么时候为最佳时间,签署劳动合同、用工协议?
6.法律禁止2次约定试用期,劳动合同期限和试用期限该如何约定?
7.用人单位收购其他组织时,如何与被接收的员工签订、变更劳动合同?
8.应否与属于职业经理人的法人代表签订劳动合同?
专题三:试用期
1.可否先试用后签合同,可否单独签订试用期协议?
2.员工主动申请延长试用期,该怎样操作,才规避赔偿风险?
3.试用期满后辞退员工,最少赔2个月工资,该如何化解?
4.试用期最后一天辞退员工,赔偿概率为70%,如何化解?
5.试用期满前几天辞退员工,赔偿概率为50%,如何化解?
6.不符合录用条件的范围包括哪些,如何取证证明?
7.《试用期辞退通知书》如何书写,以避免违法解除的赔偿金?
8.出现“经济性裁员”情况,优先裁掉试用期的新员工,合法吗?
专题四:无固定期限劳动合同
1.无固定期限劳动合同到底是不是铁饭碗,会不会增加企业成本?
2.无固定期限劳动合同解除的条件、理由有哪些?
3.用人单位拒绝签订无固定期限劳动合同,有何风险?
4.签订了固定期限劳动合同的员工,期间工作累计满10年,能否要求将固定期限合同变更为无固定期限合同?
5.连续订立二次固定期限劳动合同到期,用人单位能否终止合同;员工提出签订无固定期限合同,用人单位能否拒绝?
6.合同期满劳动者由于医疗期、三期等原因续延劳动合同导致劳动者连续工作满十年,劳动者提出订立无固定期限劳动合同的,用人单位能否拒绝?
专题五:特殊用工协议
1.培训服务期与劳动合同期限有何不同,劳动合同期限与服务期限发生冲突时如何适用?
2.培训服务期未到期,而劳动合同到期,用人单位终止劳动合同的,是否属于提前解除劳动合同,如何规避?
3.劳动者严重过错被解雇,用人单位能否依据服务期约定要求劳动者支付违约金?
4.在什么情况下,可签署竞业限制协议?
5.在什么时候,企业更有主动权签署竞业限制协议?
6.无约定经济补偿的支付,竞业限制是否有效?
7.竞业限制的经济补偿的标准如何界定?
8.要求员工保密,企业需要支付保密工资吗?
专题六:劳动关系解除终止
1.双方协商解除劳动合同并约定支付适当的经济补偿,事后劳动者追讨经济补偿的差额部分,仲裁机构有可能支持劳动者的诉求,企业如何避免案件败诉?
2.能否与“三期妇女、特殊保护期间的员工”协商解除,如何规避风险?
3.员工未提前30日通知企业即自行离职,企业能否扣减其工资?
4.员工提交辞职信后的30天内,企业批准其离职,可能有风险,如何化解?
5.员工提交辞职信后的30天后,企业批准其离职,也可能有风险,如何化解?
6.对于患病员工,能否解除,如何操作才能降低法律风险?
7.实行末位淘汰制,以末位排名为由解雇员工,往往被认定非法解雇,企业该如何做,才避免案件败诉?
8.以“组织架构调整,无合适岗位安排”为由解雇员工,感觉非常符合常理,但往往被认定非法解雇,企业该如何做才避免风险?
9.以“经济性裁员”名义解雇员工,感觉非常符合常理,但往往被认定非法解雇,企业该如何操作?
10.《解除劳动合同通知书》如果表述不当,往往成为劳动者打赢官司的有力证据,企业该如何书写,才避免案件败诉而承担法律责任?
11.解除劳动合同前未通知及征求工会的意见,是否构成非法解除?
12.劳动合同到期后,经常出现该终止的忘记办理终止手续,该续签的忘记办理续签手续,其引发的风险非常大;那么企业该如何规避风险?
专题七:社会保险法
1.用人单位拖欠社保费,有什么法律责任?
2.用人单位不足额缴纳社会保险如何处理?
3.员工不愿意买社保,并与单位签有协议的情况下,该协议是否有效?
4.试用期间,是否必须缴纳社会保险?
5.如果无参保,劳动者因第三方责任产生的医疗费用,能否要求单位报销?
6.企业协助辞职员工骗取失业保险金,有什么法律风险?
7.女职工未婚先孕、未婚生育争议如何处理?
8.怀孕女职工提出长期休假保胎,直至修完产假,该如何协调此问题?
专题八:劳动争议处理
1.用人单位败诉的原因主要有哪些?
2.仲裁或法院在处理案件时,如何适用法律法规?
3.如何判定政策法律法规的效力等级?
4.公开审理的开庭形式,有何风险,如何避免风险?
5.申请仲裁的时效如何计算;如何理解“劳动争议发生之日”?
6.如何书写答辩书,有哪些注意事项?
7.开庭期间,质证与辩论需要注意哪些关键问题?
8.举证责任如何分配,无法举证的后果有哪些?
B单元内容(共2天,15个以上经典案例)
专题一:绩效管理与岗位调整
1.企业单方调整岗位,员工往往可被迫解除合同并索赔经济补偿,如何规避?
2.调岗时没有书面确认,员工到新岗位工作2个月后能否要求恢复到原岗位?
3.可否对“三期内”女职工进行调岗、调薪?
4.员工认同绩效结果,为什么在“不胜任工作”引发的争议中还是败诉?
5.为什么企业根据绩效结果支付员工绩效奖金,最终被认定非法克扣工资?
6.法律上如何证明劳动者“不能胜任工作”?
7.对绩效考核不合格的员工,如何合法辞退?
8.绩效正态分布往往强制划分5%的员工为不合格者,是否合法?
专题二:劳动报酬、薪酬福利
1.工资总额包括哪些工资明细?
2.新进员工薪资管理问题及处理技巧;
3.调整工作岗位后,可以调整薪资标准吗?
4.如何通过薪酬调整处理员工失职、违纪等问题?
5.值班算不算加班?
6.加班加点工资支付常见误区?
7.用人单位如何设计工资构成以降低加班费成本?
8.未经用人单位安排,劳动者自行加班的,是否需支付加班工资?
9.劳动者主张入职以来的加班费,如何应对?
10.劳动者在工作日\法定节假日加班,能否安排补休而不予支付加班费?
11.病假、年休假、婚假、产假、丧假等的享受条件及工资待遇标准?
12.离职员工往往回头追讨年终奖,有可能得到支持,如何规避该风险?
专题三:违纪违规问题员工处理
1.劳动者往往拒绝签收处分、解雇通知书,如何应对?
2.问题员工往往拒绝提交《检讨书》或否认违纪违规事实,企业该如何收集证据?
3.对于违纪员工,应该在什么时间内处理?
4.怎样理解“严重违反用人单位的规章制度”?
5.如何在《惩罚条例》中描述“一般违纪”、“较重违纪”及“严重违纪”?
6.怎样理解“严重失职,营私舞弊,给用人单位造成重大损害”?
7.如何界定“重大损害”,“重大损害”是否必须体现为造成直接的经济损失?
8.如何追究“严重失职、严重违纪违规”者的法律责任?
9.能否直接规定“禁止兼职,否则视为严重违纪违规”?
10.直线部门经理擅自口头辞退员工,仲裁机构往往认定企业非法解雇,企业该如何做,才避免案件败诉?
11.劳动者不辞而别、无故旷工,却主张被企业口头解雇,往往得到仲裁机构的支持,企业该如何做,才避免案件败诉?
12.“录音录象”证据,仲裁与法院是否采信;企业内部OA系统上的资料能否作为证据使用;电子邮件、手机短信能否作为证据使用?
专题四:经济补偿
1.用人单位需向劳动者支付经济补偿的情形有哪些?
2.什么情况下用人单位需支付两倍的经济补偿?
3.劳动者可否同时向用人单位主张经济补偿和赔偿金?
4.经济补偿计算的基数及标准如何确定?
5.经济补偿年限最高不超过十二年的适用范围?
6.如何计算《劳动合同法》生效前后的经济补偿年限?
7.如何理解“六个月以上不满一年的,按一年计算;不满六个月的,向劳动者支付半个月工资的经济补偿”?
8.劳动合同法环境下“50%额外经济补偿金”是否继续适用?
专题五:规章制度、员工手册
1.企业人力资源管理体系中哪些内容跟劳动法有必然联系?
2.人力资源、劳动用工管理制度应该包括哪些必备内容?
3.制定规章制度的程序要求给用人单位带来哪些风险,如何应对?
4.非国有用人单位如何组建“职工代表大会”?
5.无纸化、网络化办公下的公示,存在哪些风险?
6.如何公示或告知,更符合仲裁或诉讼的举证要求?
7.规章制度能否规定对员工进行经济处罚?
8.规章制度违反法律法规,劳动者可以被迫解除并索取经济补偿,如何防范?
专题六:工伤保险条例
1.属于工伤范围的情形有哪些?
2.不得认定为工伤的情形有哪些?
3.怎样理解“上下班途中”,怎样控制期间的风险?
4.发生工伤事故,用人单位需承担哪些费用?
5.工伤员工借故拒绝复工,借故不断休假,如何处理?
6.对于第三方造成的工伤事故,劳动者能否要求用人单位支付工伤待遇又同时要求第三方支付人身伤害赔偿?
7.用人单位能否以商业保险理赔款替代职工工伤赔偿待遇?
8.发生工伤事故,双方私下和解,补偿协议该如何签订才有效?
专题七:劳务派遣
1.劳务派遣用工模式,有何利弊,利大还是弊大?
2.劳务派遣合作协议必须注意的风险细节有哪些?
3.新法下劳务派遣面临的主要风险有哪些?
4.派遣工“第三签”时,能否要求签订无固定期限劳动合同?
5.哪些岗位可以使用派遣工,辅助性、临时性、替代性如何理解与操作?
6.新规定对于同工同酬提出哪些新要求,如何规避同工同酬风险?
7.采用劳务派遣用工方式,能否异地参保?
8.用工单位如何行使对派遣员工的退还或退换权?
9.如何处理违反用工单位规章制度的派遣员工?
10.怎样规定派遣员工的辞职程序和离职责任?
11.部分劳务公司很可能面临关闭停业,原来的派遣工的劳动关系如何处理?
12.业务外包与劳务派遣的本质区别有哪些?
13.如何筛选承包方,需考察哪些细节要点?
14.用工单位如何应对派遣合作争议和劳动争议?
新《劳动合同法》、《社会保险法》、《工伤保险条例》实操应对策略与有效调岗调薪、裁员解雇及违纪问题员工处理技巧——讲师简介
钟老师
资深劳动法专家
教育背景
国内著名劳动法与员工关系管理实战专家、劳动仲裁员、企业劳动争议预防应对专家、高级人力资源管理师、高级劳动关系协调师,国内第一批倡导、传播、实施“国家劳动法与企业薪酬绩效有机整合”的先行者;国内原创型、实战型、顾问型的培训师。
现任“劳律通(中国)顾问中心”、中华创世纪培训网首席顾问,上海成通律师事务所投资合伙人;兼任时代光华管理学院、深圳外商投资企业协会、广州市劳动保障学会、广州市人力资源市场服务中心、广东省人力资源管理协会、香港工业总会、中山大学、浙江大学等100多家培训公司、行业协会、有关机构的签约讲师、特聘顾问。
讲师擅长
钟老师精通劳动政策法律法规和劳动仲裁、诉讼程序,擅长劳动用工风险的有效预防与劳动争议案件的精准应对,善于把劳动法律法规与企业人力资源管理有机整合,通晓企业劳动争议防范机制的构建和劳动用工管理体系的修正完善。钟老师经常在客户办公现场、培训现场为客户、学员即时起草、审查、修改相关制度、合同、文书,或分析具体案件的应对思路;钟老师独到的现场的专业功底,每次都赢得广大客户、学员发自内心的好评与100%的信服!
讲师经历
钟老师曾任专职劳动仲裁员,曾获“广州市优秀劳动仲裁员”称号,期间审裁劳动争议案件400多宗;多年来累积代理劳动争议500多宗,参与或主持薪酬绩效咨询项目20多个,审查完善400多家企业的人力资源管理规章制度。个人长期担任30多家(累计200多家)企业的人力资源管理法律顾问;以钟老师领衔的专家队伍,长期为企事业单位提供劳动法常年顾问及各种劳资专项咨询服务,客户满意度高达95%。
2004年开始钟老师全国各地巡讲劳动法、劳动关系课程,受益企业达30000家,直接受益学员70000多人,培训地点涉及20多个省会城市及沿海地区大城市。钟老师将枯燥的劳动政策法规溶入实际管理案例当中,将人力资源管理与劳动法有机地整合在一起;课程内容80%为真实案例、20%为必备的重点法条;学员参与讨论、互动,课程生动有趣,深入浅出,实战型超强,让学员即时学以致用!课程满意度高达95%,众多学员均表示:“第一次听到如此实战、实用、实效的劳动法课程!钟老师非常务实、不说教、没有商业味道,终于听到了让我不再后悔的精彩课程!”
钟老师先后在《广州日报》、《南方都市报》、《中国社会科学报》、《人力资源》、《香港工业总会月刊》等报刊、杂志、媒体发表专业文章或采访稿50多篇。
培训客户
曾为以下客户提供咨询、顾问、内训(非公开课)服务:中国人寿、太平人寿、华康保险、广发银行、光大银行、建设银行、农业银行、工商银行、中国邮政、国家电网、中国邮政速递、中国邮政储蓄银行、携程旅行网、华鼎担保、中铁集团、深圳机场、黄河水电开发、中烟集团、南粤物流、新南方集团、深圳爱施德股份、深圳酷动数码、合生创展、中海地产、方圆地产、珠江监理、珠江投资、蒙牛奶粉、三新地产、养生堂药业、一品红药业、晶苑集团、广州电信、国讯通信、益海集团、旺大集团、中远物流、欧时力服装、广州岭南集团、广州蔬果集团、广东交通集团、广州无线电集团、珠海口岸广场、比亚迪汽车、纵横天地旅行网、蛇口船务运输股份、北京得信佳和医疗、风神集团、中咨工程监理、广药集团、高士线业、利海集团、化建集团、深圳水务监理、深圳运发集团、深圳东部公交、新广国际集团、美的集团、江苏大全集团、沿海地产控股、深圳华侨城、信源集团、京城控股、广东华农温氏畜牧股份、国药物流集团广东公司、云南煤化工集团、浙江新大集团、云南驰宏锌锗股份、广州电力系统、信昌机器、云南鸿翔药业集团、广东广电网络股份公司、广汽部件、中国十七冶集团、中国通信服务、欧普照明、中广核集团、成都置信集团、中国移动、周大福、山东常林集团、益海嘉里集团……千余家企业。
曾参加过钟老师培训公开课的部分企业客户:中国移动、中国南方电网、中国农业大学、中山大学、中广核能源、珠江电影制片、万科地产、蒙牛乳业、珠江啤酒、中国银行、广发证卷、兴业银行、中信银行、中兴通讯、中石化、中海油、百年糊涂酒业、保利房地产、富力地产、雅居乐地产、安踏、金蝶软件、晨光乳业、广州地铁、立白集团、蓝月亮、路虎汽车、志高空调、广州电视台、白云山制药、加多宝、华为、江苏银行、广东省电影公司、北京航空院、中国旅行社、广东新华发行集团、百事(中国)、华润建筑、狮王、内蒙古西拉沐沦集团、中国海洋石油总公司、挪威国家石油公司、金宸地产、安粮控股、南京质监检验院、天正集团、深圳巴士集团、NETSFIM(北京)农业科技、内蒙古金哈达煤炭化工、中国科学院、广州汽车集团、君华集团、康佳集团、北京航空所、深圳邮政局、可口可乐、通用电气、松下电器、中南大学、安霸半导体、酒钢集团、本田汽车、一嗨租车、米其林轮胎、索尼、世纪龙信息网络、艾默生、TCL、创维电器、国药集团、吉林烟草、马士基集装箱、用友软件、建滔化工集团、富士通、三一重工……几万家企业。
【手....机】 o755-6662o355 l3544ol33l5颜小姐
【邮....箱】 971700732(a)qq.com 微.信: 971700732
-------------------------------------------------------------------------
■■■温馨提示:退订邮件请回复至 peixun3301(a)163.com
-------------------------------------------------------------------------
5 years, 6 months