summaryrefslogtreecommitdiff
path: root/tstamping.h
blob: ccc642e32c20c75b8e722222003081aa11c5a9cd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#ifndef TSTAMPING_H
#define TSTAMPING_H

#include "config.h"

#ifdef HAVE_HARDWARE_TIMESTAMPING
extern int set_sockopt_hwtimestamp(int sock, const char *dev);
#else
static inline int set_sockopt_hwtimestamp(int sock, const char *dev)
{
	return -1;
}
#endif

#endif /* TSTAMPING_H */
>2016-08-11 16:58:13 -0700 commit1f47b61fb4077936465dcde872a4e5cc4fe708da (patch) treecc16f86163ea1f672d4264ad9168a01359315437 parent2f95ff90b99600f53df4a0aa652322d349d67957 (diff)
mm: memcontrol: fix swap counter leak on swapout from offline cgroup
An offline memory cgroup might have anonymous memory or shmem left charged to it and no swap. Since only swap entries pin the id of an offline cgroup, such a cgroup will have no id and so an attempt to swapout its anon/shmem will not store memory cgroup info in the swap cgroup map. As a result, memcg->swap or memcg->memsw will never get uncharged from it and any of its ascendants. Fix this by always charging swapout to the first ancestor cgroup that hasn't released its id yet. [hannes@cmpxchg.org: add comment to mem_cgroup_swapout] [vdavydov@virtuozzo.com: use WARN_ON_ONCE() in mem_cgroup_id_get_online()] Link: http://lkml.kernel.org/r/20160803123445.GJ13263@esperanza Fixes: 73f576c04b941 ("mm: memcontrol: fix cgroup creation failure after many small jobs") Link: http://lkml.kernel.org/r/5336daa5c9a32e776067773d9da655d2dc126491.1470219853.git.vdavydov@virtuozzo.com Signed-off-by: Vladimir Davydov <vdavydov@virtuozzo.com> Acked-by: Johannes Weiner <hannes@cmpxchg.org> Acked-by: Michal Hocko <mhocko@suse.com> Cc: <stable@vger.kernel.org> [3.19+] Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat