File tree 2 files changed +6
-3
lines changed 2 files changed +6
-3
lines changed Original file line number Diff line number Diff line change @@ -694,7 +694,7 @@ typedef struct pglist_data {
694
694
range, including holes */
695
695
int node_id ;
696
696
wait_queue_head_t kswapd_wait ;
697
- struct task_struct * kswapd ;
697
+ struct task_struct * kswapd ; /* Protected by lock_memory_hotplug() */
698
698
int kswapd_max_order ;
699
699
enum zone_type classzone_idx ;
700
700
} pg_data_t ;
Original file line number Diff line number Diff line change @@ -2955,14 +2955,17 @@ int kswapd_run(int nid)
2955
2955
}
2956
2956
2957
2957
/*
2958
- * Called by memory hotplug when all memory in a node is offlined.
2958
+ * Called by memory hotplug when all memory in a node is offlined. Caller must
2959
+ * hold lock_memory_hotplug().
2959
2960
*/
2960
2961
void kswapd_stop (int nid )
2961
2962
{
2962
2963
struct task_struct * kswapd = NODE_DATA (nid )-> kswapd ;
2963
2964
2964
- if (kswapd )
2965
+ if (kswapd ) {
2965
2966
kthread_stop (kswapd );
2967
+ NODE_DATA (nid )-> kswapd = NULL ;
2968
+ }
2966
2969
}
2967
2970
2968
2971
static int __init kswapd_init (void )
You can’t perform that action at this time.
0 commit comments