On Thu, 9 Jun 2016 11:07:10 -0400 Steven Rostedt <rostedt@xxxxxxxxxxx> wrote: > On Thu, 9 Jun 2016 15:51:56 +0200 > Petr Mladek <pmladek@xxxxxxxx> wrote: > > > A good practice is to prefix the names of functions and macros > > by the name of the subsystem. > > > > The kthread worker API is a mix of classic kthreads and workqueues. > > Each worker has a dedicated kthread. It runs a generic function > > that process queued works. It is implemented as part of > > the kthread subsystem. > > > > This patch renames the existing kthread worker API to use > > the corresponding name from the workqueues API prefixed by > > kthread_/KTHREAD_: > > > > DEFINE_KTHREAD_WORKER() -> KTHREAD_DECLARE_WORKER() > > DEFINE_KTHREAD_WORK() -> KTHREAD_DECLARE_WORK() > > DEFINE_KTHREAD_WORKER_ONSTACK() -> KTHREAD_DECLARE_WORKER_ONSTACK() > > DEFINE_KTHREAD_WORKER_ONSTACK() -> KTHREAD_DECLARE_WORKER_ONSTACK() > > __init_kthread_worker() -> __kthread_init_worker() > > init_kthread_worker() -> kthread_init_worker() > > init_kthread_work() -> kthread_init_work() > > insert_kthread_work() -> kthread_insert_work() > > queue_kthread_work() -> kthread_queue_work() > > flush_kthread_work() -> kthread_flush_work() > > flush_kthread_worker() -> kthread_flush_worker() > > > > I know that Andrew suggested this, but I didn't get a chance to respond > to his email due to traveling. > > Does this mean we are going to change all APIs like this? Because we > pretty much use this type of naming everywhere. That is, we start with > "DEFINE_*" and "DECLARE_*" commonly. As well as "init_*". > > For example DEFINE_PER_CPU(), DEFINE_SPINLOCK(), DEFINE_LGLOCK(), > DEFINE_MUTEX(), DEFINE_RES_MEME(), DEFINE_TIMER(), DEFINE_IDA(), > DEFINE_NFS4_*(), and the list goes on. Just do a grep in > include/linux/*.h for DEFINE_ and DECLARE_. Yes, there's so much precedence that DEFINE_KTHREAD_WORKER() and friends can/should be left as-is. But I do think that init_kthread_worker() is a sore thumb and should become kthread_worker_init() (not kthread_worker_init()) > Also, are you sure that we should change the DEFINE to a DECLARE, > because DEFINE is used to create the object in question, DECLARE is for > header files: Yes2, these macros expand to definitions, not to declarations. -- To unsubscribe from this list: send the line "unsubscribe linux-api" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html