semaphore.c (0871d5a66da5c41151e0896a90298b163e42f2e0) semaphore.c (b17b01533b719e9949e437abf66436a875739b40)
1/*
2 * Copyright (c) 2008 Intel Corporation
3 * Author: Matthew Wilcox <willy@linux.intel.com>
4 *
5 * Distributed under the terms of the GNU GPL, version 2
6 *
7 * This file implements counting semaphores.
8 * A counting semaphore may be acquired 'n' times before sleeping.

--- 15 unchanged lines hidden (view full) ---

24 * The ->count variable represents how many more tasks can acquire this
25 * semaphore. If it's zero, there may be tasks waiting on the wait_list.
26 */
27
28#include <linux/compiler.h>
29#include <linux/kernel.h>
30#include <linux/export.h>
31#include <linux/sched.h>
1/*
2 * Copyright (c) 2008 Intel Corporation
3 * Author: Matthew Wilcox <willy@linux.intel.com>
4 *
5 * Distributed under the terms of the GNU GPL, version 2
6 *
7 * This file implements counting semaphores.
8 * A counting semaphore may be acquired 'n' times before sleeping.

--- 15 unchanged lines hidden (view full) ---

24 * The ->count variable represents how many more tasks can acquire this
25 * semaphore. If it's zero, there may be tasks waiting on the wait_list.
26 */
27
28#include <linux/compiler.h>
29#include <linux/kernel.h>
30#include <linux/export.h>
31#include <linux/sched.h>
32#include <linux/sched/debug.h>
32#include <linux/semaphore.h>
33#include <linux/spinlock.h>
34#include <linux/ftrace.h>
35
36static noinline void __down(struct semaphore *sem);
37static noinline int __down_interruptible(struct semaphore *sem);
38static noinline int __down_killable(struct semaphore *sem);
39static noinline int __down_timeout(struct semaphore *sem, long timeout);

--- 223 unchanged lines hidden ---
33#include <linux/semaphore.h>
34#include <linux/spinlock.h>
35#include <linux/ftrace.h>
36
37static noinline void __down(struct semaphore *sem);
38static noinline int __down_interruptible(struct semaphore *sem);
39static noinline int __down_killable(struct semaphore *sem);
40static noinline int __down_timeout(struct semaphore *sem, long timeout);

--- 223 unchanged lines hidden ---