[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <200903121943.02799.rusty@rustcorp.com.au>
Date: Thu, 12 Mar 2009 19:43:02 +1030
From: Rusty Russell <rusty@...tcorp.com.au>
To: Andrew Morton <akpm@...ux-foundation.org>
Cc: Nick Piggin <nickpiggin@...oo.com.au>,
Linus Torvalds <torvalds@...ux-foundation.org>,
linux-kernel@...r.kernel.org, Ingo Molnar <mingo@...e.hu>
Subject: Re: [PULL] Wrapper macros for struct task_struct and struct mm_struct cpumask transition
On Thursday 12 March 2009 18:07:09 Andrew Morton wrote:
> On Thu, 12 Mar 2009 17:45:22 +1030 Rusty Russell <rusty@...tcorp.com.au> wrote:
...
> Please prefer to put the patches in the email if practical? More
> eyeballs and all that.
Hmm, yes. Is there a preferred way of doing that with git request-pull?
Or just append the diff?
> : +/* Future-safe accessor for struct mm_struct's cpu_vm_mask. */
> : +#define mm_cpumask(mm) (&(mm)->cpu_vm_mask)
> : +
...
> It would be pretty perverse to run tsk_cpumask() against a `struct
> cpuset*', but your proposed implementation would merrily permit that
> mistake.
>
> Can we write the kernel in C please??
You mean use an inline? No, it's a bad idea for two reasons. The minor
reason is that this macro is a temporary so it makes more sense to fix the
final version.
But the major one is const correctness. Macros give a const value for
const input. We can enhance the macro to check, but that's even uglier:
static inline int check_is_task_struct(const struct task_struct *t) { }
#define tsk_cpumask(t) (sizeof(check_is_task_struct(t)), &(t)->cpu_vm_mask)
> yup, the patches are quite safe and mergeable. And if they'd been in the
> email body, Linus might have seen that and pulled them ;)
Probably not, as that's not what he complained about last time. He might have
been enlightened by the commit messages tho.
Cheers,
Rusty.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists