dm-devel.redhat.com archive mirror
 help / color / mirror / Atom feed
* [dm-devel] [PATCH 0/6] sched: Cleanup task_struct::state
@ 2021-06-02 13:12 Peter Zijlstra
  2021-06-02 13:12 ` [dm-devel] [PATCH 1/6] sched: Unbreak wakeups Peter Zijlstra
                   ` (5 more replies)
  0 siblings, 6 replies; 30+ messages in thread
From: Peter Zijlstra @ 2021-06-02 13:12 UTC (permalink / raw)
  To: Thomas Gleixner, Ingo Molnar, Peter Zijlstra, Juri Lelli,
	Vincent Guittot, Dietmar Eggemann, Steven Rostedt, Ben Segall,
	Mel Gorman, Daniel Bristot de Oliveira
  Cc: Mark Rutland, Pavel Machek, Mike Snitzer, Alexander Shishkin,
	kgdb-bugreport, Lai Jiangshan, Oleg Nesterov, linux-mm, dm-devel,
	Paolo Bonzini, Zefan Li, H. Peter Anvin, Joel Fernandes, netdev,
	Jiri Olsa, Alasdair Kergon, Daniel Thompson, Davidlohr Bueso,
	kvm, Will Deacon, cgroups, x86, Jakub Kicinski, John Stultz,
	Paul E. McKenney, linux-pm, Boqun Feng, Johannes Weiner,
	Josh Triplett, Arnaldo Carvalho de Melo, linux-block,
	linux-fsdevel, Borislav Petkov, Alexander Viro, Waiman Long,
	Namhyung Kim, Jens Axboe, Felipe Balbi, Stephen Boyd,
	Greg Kroah-Hartman, linux-usb, Rafael J. Wysocki,
	Douglas Anderson, linux-kernel, linux-perf-users, Jason Wessel,
	Tejun Heo, Mathieu Desnoyers, Andrew Morton, rcu,
	David S. Miller

Hi!

The task_struct::state variable is a bit odd in a number of ways:

 - it's declared 'volatile' (against current practises);
 - it's 'unsigned long' which is a weird size;
 - it's type is inconsistent when used for function arguments.

These patches clean that up by making it consistently 'unsigned int', and
replace (almost) all accesses with READ_ONCE()/WRITE_ONCE(). In order to not
miss any, the variable is renamed, ensuring a missed conversion results in a
compile error.

The first few patches fix a number of pre-existing errors and introduce a few
helpers to make the final conversion less painful.


--
dm-devel mailing list
dm-devel@redhat.com
https://listman.redhat.com/mailman/listinfo/dm-devel


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

end of thread, other threads:[~2021-06-28  9:52 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-02 13:12 [dm-devel] [PATCH 0/6] sched: Cleanup task_struct::state Peter Zijlstra
2021-06-02 13:12 ` [dm-devel] [PATCH 1/6] sched: Unbreak wakeups Peter Zijlstra
2021-06-02 13:58   ` Greg Kroah-Hartman
2021-06-02 14:47   ` Will Deacon
2021-06-02 19:43   ` Davidlohr Bueso
2021-06-02 13:12 ` [dm-devel] [PATCH 2/6] sched: Introduce task_is_running() Peter Zijlstra
2021-06-02 14:59   ` Will Deacon
2021-06-02 16:46     ` Peter Zijlstra
2021-06-02 23:15   ` Davidlohr Bueso
2021-06-02 13:12 ` [dm-devel] [PATCH 3/6] sched,perf,kvm: Fix preemption condition Peter Zijlstra
2021-06-02 13:59   ` [dm-devel] [PATCH 3/6] sched, perf, kvm: " Mathieu Desnoyers
2021-06-02 14:10     ` Peter Zijlstra
2021-06-02 14:30       ` Mark Rutland
2021-06-02 14:15   ` Mathieu Desnoyers
2021-06-02 14:23     ` Peter Zijlstra
2021-06-02 13:12 ` [dm-devel] [PATCH 4/6] sched: Add get_current_state() Peter Zijlstra
2021-06-02 14:01   ` Mathieu Desnoyers
2021-06-02 14:12     ` Peter Zijlstra
2021-06-02 15:02   ` Will Deacon
2021-06-02 13:12 ` [dm-devel] [PATCH 5/6] sched,timer: Use __set_current_state() Peter Zijlstra
2021-06-02 15:06   ` Will Deacon
2021-06-02 19:54   ` Davidlohr Bueso
2021-06-03  6:39     ` Peter Zijlstra
2021-06-18 20:42   ` Thomas Gleixner
2021-06-02 13:12 ` [dm-devel] [PATCH 6/6] sched: Change task_struct::state Peter Zijlstra
2021-06-02 14:06   ` Mathieu Desnoyers
2021-06-02 14:20     ` Peter Zijlstra
2021-06-02 15:10   ` Will Deacon
2021-06-07 10:45   ` Daniel Thompson
2021-06-07 11:10     ` Peter Zijlstra

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).