kthread_create_on_node
Prev | Internal Functions | Next

## Name

kthread_create_on_node — create a kthread.

## Synopsis

`struct task_struct * kthread_create_on_node (` | int (*threadfn) `(`void *data`)`,
| void * data,
| int node,
| const char namefmt[],
| ...`)`;

## Arguments

`threadfn`

  the function to run until signal_pending(current).

`data`

  data ptr for `threadfn`.

`node`

  memory node number.

`namefmt[]`

  printf-style name for the thread.

`...`

  variable arguments

## Description

This helper function creates and names a kernel thread. The thread will be stopped: use `wake_up_process` to start it. See also `kthread_run`.

If thread is going to be bound on a particular cpu, give its node in `node`, to get NUMA affinity for kthread stack, or else give -1. When woken, the thread will run @`threadfn` with `data` as its argument. @`threadfn` can either call `do_exit` directly if it is a standalone thread for which no one will call `kthread_stop`, or return when '`kthread_should_stop`' is true (which means `kthread_stop` has been called). The return value should be zero or a negative error number; it will be passed to `kthread_stop`.

Returns a task_struct or ERR_PTR(-ENOMEM) or ERR_PTR(-EINTR).

Prev | Up | Next
kthread_freezable_should_stop | Home | kthread_bind