All of lore.kernel.org
 help / color / mirror / Atom feed
From: Johannes Weiner <hannes@saeurebad.de>
To: "Bert Wesarg" <bert.wesarg@googlemail.com>
Cc: "Jan Engelhardt" <jengelh@computergmbh.de>,
	"Rusty Russell" <rusty@rustcorp.com.au>,
	"Linus Torvalds" <torvalds@linux-foundation.org>,
	"Andrew Morton" <akpm@linux-foundation.org>,
	linux-kernel@vger.kernel.org, "Jeff Garzik" <jeff@garzik.org>,
	"Tejun Heo" <htejun@gmail.com>
Subject: Re: [PATCH 2/6] typesafe: kthread_create and kthread_run
Date: Sun, 20 Jan 2008 17:24:42 +0100	[thread overview]
Message-ID: <87ve5otqgl.fsf@saeurebad.de> (raw)
In-Reply-To: <36ca99e90801200407h384106f7pc1ce37e8b34ad7ec@mail.gmail.com> (Bert Wesarg's message of "Sun, 20 Jan 2008 13:07:17 +0100")

Hi,

"Bert Wesarg" <bert.wesarg@googlemail.com> writes:

> On Jan 20, 2008 12:25 PM, Jan Engelhardt <jengelh@computergmbh.de> wrote:
>>
>> On Jan 20 2008 20:48, Rusty Russell wrote:
>> >+ */
>> >+#define kthread_create(threadfn, data, namefmt...) ({         \
>> >+      int (*_threadfn)(typeof(data)) = (threadfn);            \
>> >+      __kthread_create((void *)_threadfn, (data), namefmt);   \
>> >+})
>>
>> If you have namefmt... you need that varagrs cpp trick. IIRC:
>>
>>         __kthread_create((void *)_threadfn, (data), namefmt, __VA_ARGS__);
> almost
>
> either:
>
> #define kthread_create(threadfn, data, ...) ({         \
>         __kthread_create((void *)_threadfn, (data), __VA_ARGS__);
>

No.  This is bad because it gives the impression that it takes only two
essential arguments which is not the case.

> or:
>
> #define kthread_create(threadfn, data, namefmt, ...) ({         \
>         __kthread_create((void *)_threadfn, (data), namefmt, ##__VA_ARGS__);
>

This is better.  I prefer naming the rest args instead of using __VA_ARGS__:

#define kthread_create(threadfn, data, namefmt, fmtargs...) ({ \
	... \
	__kthread_create((void *)_threadfn, (data), namefmt, ##	fmtargs) \
})

but I think that is just a matter of taste.

	Hannes

  reply	other threads:[~2008-01-20 16:24 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-01-20  9:46 [PATCH 0/6] RFC: Typesafe callbacks Rusty Russell
2008-01-20  9:47 ` [PATCH 1/6] typesafe: Convert stop_machine and callers Rusty Russell
2008-01-20  9:48   ` [PATCH 2/6] typesafe: kthread_create and kthread_run Rusty Russell
2008-01-20  9:50     ` [PATCH 3/6] typesafe: convert kthread users Rusty Russell
2008-01-20  9:51       ` [PATCH 4/6] typesafe: cast_if_type to allow macros functions which take more than one type Rusty Russell
2008-01-20  9:54         ` [PATCH 5/6] typesafe: request_irq and devm_request_irq Rusty Russell
2008-01-20  9:57           ` [PATCH 6/6] typesafe: timers Rusty Russell
2008-01-20 11:25     ` [PATCH 2/6] typesafe: kthread_create and kthread_run Jan Engelhardt
2008-01-20 12:07       ` Bert Wesarg
2008-01-20 16:24         ` Johannes Weiner [this message]
2008-01-20 16:43           ` Bert Wesarg
2008-01-20 22:04             ` Rusty Russell
2008-01-21  7:56               ` Bert Wesarg
2008-01-20 12:56 ` [PATCH 0/6] RFC: Typesafe callbacks Tejun Heo
2008-01-20 13:00   ` Tejun Heo
2008-01-20 22:17     ` Rusty Russell
2008-01-21 11:33       ` Rusty Russell
2008-01-21 12:38         ` Tejun Heo
2008-01-21 23:27           ` Rusty Russell
2008-01-21 23:57             ` Linus Torvalds
2008-01-22  7:16               ` Rusty Russell
2008-01-22 15:53                 ` Linus Torvalds
2008-01-22  4:20             ` Andi Kleen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87ve5otqgl.fsf@saeurebad.de \
    --to=hannes@saeurebad.de \
    --cc=akpm@linux-foundation.org \
    --cc=bert.wesarg@googlemail.com \
    --cc=htejun@gmail.com \
    --cc=jeff@garzik.org \
    --cc=jengelh@computergmbh.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rusty@rustcorp.com.au \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.