mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 2/4] time: posix: Use dedicated helper to access rlimit values
       [not found] <CGME20170705172556epcas1p2ee555e8bfc7ac8b3d37efc2728456ad6@epcas1p2.samsung.com>
@ 2017-07-05 17:25 ` Krzysztof Opasiak
  2017-08-18 10:46   ` Thomas Gleixner
  2017-08-20  9:57   ` [tip:timers/core] posix-cpu-timers: " tip-bot for Krzysztof Opasiak
  0 siblings, 2 replies; 3+ messages in thread
From: Krzysztof Opasiak @ 2017-07-05 17:25 UTC (permalink / raw)
  To: tglx; +Cc: linux-kernel, Krzysztof Opasiak

Use rlimit() and rlimit_max() helper instead of manually writing
whole chain from task to rlimit value

Signed-off-by: Krzysztof Opasiak <k.opasiak@samsung.com>
---
 kernel/time/posix-cpu-timers.c | 14 ++++++--------
 1 file changed, 6 insertions(+), 8 deletions(-)

diff --git a/kernel/time/posix-cpu-timers.c b/kernel/time/posix-cpu-timers.c
index d2a1e6dd0291..51b548c10959 100644
--- a/kernel/time/posix-cpu-timers.c
+++ b/kernel/time/posix-cpu-timers.c
@@ -790,7 +790,6 @@ static void check_thread_timers(struct task_struct *tsk,
 				struct list_head *firing)
 {
 	struct list_head *timers = tsk->cpu_timers;
-	struct signal_struct *const sig = tsk->signal;
 	struct task_cputime *tsk_expires = &tsk->cputime_expires;
 	u64 expires;
 	unsigned long soft;
@@ -814,10 +813,9 @@ static void check_thread_timers(struct task_struct *tsk,
 	/*
 	 * Check for the special case thread timers.
 	 */
-	soft = READ_ONCE(sig->rlim[RLIMIT_RTTIME].rlim_cur);
+	soft = task_rlimit(tsk, RLIMIT_RTTIME);
 	if (soft != RLIM_INFINITY) {
-		unsigned long hard =
-			READ_ONCE(sig->rlim[RLIMIT_RTTIME].rlim_max);
+		unsigned long hard = task_rlimit_max(tsk, RLIMIT_RTTIME);
 
 		if (hard != RLIM_INFINITY &&
 		    tsk->rt.timeout > DIV_ROUND_UP(hard, USEC_PER_SEC/HZ)) {
@@ -838,7 +836,8 @@ static void check_thread_timers(struct task_struct *tsk,
 			 */
 			if (soft < hard) {
 				soft += USEC_PER_SEC;
-				sig->rlim[RLIMIT_RTTIME].rlim_cur = soft;
+				tsk->signal->rlim[RLIMIT_RTTIME].rlim_cur =
+					soft;
 			}
 			if (print_fatal_signals) {
 				pr_info("RT Watchdog Timeout (soft): %s[%d]\n",
@@ -929,11 +928,10 @@ static void check_process_timers(struct task_struct *tsk,
 			 SIGPROF);
 	check_cpu_itimer(tsk, &sig->it[CPUCLOCK_VIRT], &virt_expires, utime,
 			 SIGVTALRM);
-	soft = READ_ONCE(sig->rlim[RLIMIT_CPU].rlim_cur);
+	soft = task_rlimit(tsk, RLIMIT_CPU);
 	if (soft != RLIM_INFINITY) {
 		unsigned long psecs = div_u64(ptime, NSEC_PER_SEC);
-		unsigned long hard =
-			READ_ONCE(sig->rlim[RLIMIT_CPU].rlim_max);
+		unsigned long hard = task_rlimit_max(tsk, RLIMIT_CPU);
 		u64 x;
 		if (psecs >= hard) {
 			/*
-- 
2.9.3

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH 2/4] time: posix: Use dedicated helper to access rlimit values
  2017-07-05 17:25 ` [PATCH 2/4] time: posix: Use dedicated helper to access rlimit values Krzysztof Opasiak
@ 2017-08-18 10:46   ` Thomas Gleixner
  2017-08-20  9:57   ` [tip:timers/core] posix-cpu-timers: " tip-bot for Krzysztof Opasiak
  1 sibling, 0 replies; 3+ messages in thread
From: Thomas Gleixner @ 2017-08-18 10:46 UTC (permalink / raw)
  To: Krzysztof Opasiak; +Cc: linux-kernel

On Wed, 5 Jul 2017, Krzysztof Opasiak wrote:

> Use rlimit() and rlimit_max() helper instead of manually writing
> whole chain from task to rlimit value
> 
> Signed-off-by: Krzysztof Opasiak <k.opasiak@samsung.com>
> ---
>  kernel/time/posix-cpu-timers.c | 14 ++++++--------
>  1 file changed, 6 insertions(+), 8 deletions(-)
> 
> diff --git a/kernel/time/posix-cpu-timers.c b/kernel/time/posix-cpu-timers.c
> index d2a1e6dd0291..51b548c10959 100644
> --- a/kernel/time/posix-cpu-timers.c
> +++ b/kernel/time/posix-cpu-timers.c
> @@ -790,7 +790,6 @@ static void check_thread_timers(struct task_struct *tsk,
>  				struct list_head *firing)
>  {
>  	struct list_head *timers = tsk->cpu_timers;
> -	struct signal_struct *const sig = tsk->signal;
>  	struct task_cputime *tsk_expires = &tsk->cputime_expires;
>  	u64 expires;
>  	unsigned long soft;
> @@ -814,10 +813,9 @@ static void check_thread_timers(struct task_struct *tsk,
>  	/*
>  	 * Check for the special case thread timers.
>  	 */
> -	soft = READ_ONCE(sig->rlim[RLIMIT_RTTIME].rlim_cur);
> +	soft = task_rlimit(tsk, RLIMIT_RTTIME);
>  	if (soft != RLIM_INFINITY) {
> -		unsigned long hard =
> -			READ_ONCE(sig->rlim[RLIMIT_RTTIME].rlim_max);
> +		unsigned long hard = task_rlimit_max(tsk, RLIMIT_RTTIME);
>  
>  		if (hard != RLIM_INFINITY &&
>  		    tsk->rt.timeout > DIV_ROUND_UP(hard, USEC_PER_SEC/HZ)) {
> @@ -838,7 +836,8 @@ static void check_thread_timers(struct task_struct *tsk,
>  			 */
>  			if (soft < hard) {
>  				soft += USEC_PER_SEC;
> -				sig->rlim[RLIMIT_RTTIME].rlim_cur = soft;
> +				tsk->signal->rlim[RLIMIT_RTTIME].rlim_cur =
> +					soft;

Can you please create a helper for that as well?

Thanks,

	tglx

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [tip:timers/core] posix-cpu-timers: Use dedicated helper to access rlimit values
  2017-07-05 17:25 ` [PATCH 2/4] time: posix: Use dedicated helper to access rlimit values Krzysztof Opasiak
  2017-08-18 10:46   ` Thomas Gleixner
@ 2017-08-20  9:57   ` tip-bot for Krzysztof Opasiak
  1 sibling, 0 replies; 3+ messages in thread
From: tip-bot for Krzysztof Opasiak @ 2017-08-20  9:57 UTC (permalink / raw)
  To: linux-tip-commits; +Cc: hpa, tglx, mingo, linux-kernel, k.opasiak

Commit-ID:  3cf294962df8fcde710eb5e762e0929e2ba49947
Gitweb:     http://git.kernel.org/tip/3cf294962df8fcde710eb5e762e0929e2ba49947
Author:     Krzysztof Opasiak <k.opasiak@samsung.com>
AuthorDate: Wed, 5 Jul 2017 19:25:48 +0200
Committer:  Thomas Gleixner <tglx@linutronix.de>
CommitDate: Fri, 18 Aug 2017 12:44:42 +0200

posix-cpu-timers: Use dedicated helper to access rlimit values

Use rlimit() and rlimit_max() helper instead of manually writing
whole chain from task to rlimit value

Signed-off-by: Krzysztof Opasiak <k.opasiak@samsung.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/20170705172548.7911-1-k.opasiak@samsung.com

---
 kernel/time/posix-cpu-timers.c | 14 ++++++--------
 1 file changed, 6 insertions(+), 8 deletions(-)

diff --git a/kernel/time/posix-cpu-timers.c b/kernel/time/posix-cpu-timers.c
index a3bd5db..8585ad6 100644
--- a/kernel/time/posix-cpu-timers.c
+++ b/kernel/time/posix-cpu-timers.c
@@ -799,7 +799,6 @@ static void check_thread_timers(struct task_struct *tsk,
 				struct list_head *firing)
 {
 	struct list_head *timers = tsk->cpu_timers;
-	struct signal_struct *const sig = tsk->signal;
 	struct task_cputime *tsk_expires = &tsk->cputime_expires;
 	u64 expires;
 	unsigned long soft;
@@ -823,10 +822,9 @@ static void check_thread_timers(struct task_struct *tsk,
 	/*
 	 * Check for the special case thread timers.
 	 */
-	soft = READ_ONCE(sig->rlim[RLIMIT_RTTIME].rlim_cur);
+	soft = task_rlimit(tsk, RLIMIT_RTTIME);
 	if (soft != RLIM_INFINITY) {
-		unsigned long hard =
-			READ_ONCE(sig->rlim[RLIMIT_RTTIME].rlim_max);
+		unsigned long hard = task_rlimit_max(tsk, RLIMIT_RTTIME);
 
 		if (hard != RLIM_INFINITY &&
 		    tsk->rt.timeout > DIV_ROUND_UP(hard, USEC_PER_SEC/HZ)) {
@@ -847,7 +845,8 @@ static void check_thread_timers(struct task_struct *tsk,
 			 */
 			if (soft < hard) {
 				soft += USEC_PER_SEC;
-				sig->rlim[RLIMIT_RTTIME].rlim_cur = soft;
+				tsk->signal->rlim[RLIMIT_RTTIME].rlim_cur =
+					soft;
 			}
 			if (print_fatal_signals) {
 				pr_info("RT Watchdog Timeout (soft): %s[%d]\n",
@@ -938,11 +937,10 @@ static void check_process_timers(struct task_struct *tsk,
 			 SIGPROF);
 	check_cpu_itimer(tsk, &sig->it[CPUCLOCK_VIRT], &virt_expires, utime,
 			 SIGVTALRM);
-	soft = READ_ONCE(sig->rlim[RLIMIT_CPU].rlim_cur);
+	soft = task_rlimit(tsk, RLIMIT_CPU);
 	if (soft != RLIM_INFINITY) {
 		unsigned long psecs = div_u64(ptime, NSEC_PER_SEC);
-		unsigned long hard =
-			READ_ONCE(sig->rlim[RLIMIT_CPU].rlim_max);
+		unsigned long hard = task_rlimit_max(tsk, RLIMIT_CPU);
 		u64 x;
 		if (psecs >= hard) {
 			/*

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2017-08-20  9:58 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <CGME20170705172556epcas1p2ee555e8bfc7ac8b3d37efc2728456ad6@epcas1p2.samsung.com>
2017-07-05 17:25 ` [PATCH 2/4] time: posix: Use dedicated helper to access rlimit values Krzysztof Opasiak
2017-08-18 10:46   ` Thomas Gleixner
2017-08-20  9:57   ` [tip:timers/core] posix-cpu-timers: " tip-bot for Krzysztof Opasiak

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome