Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1253147 > unrolled thread

Re: [PATCH 9/9] treewide: Remove newlines inside DEFINE_PER_CPU() macros

Started byPrarit Bhargava <prarit@redhat.com>
First post2015-10-21 21:30 +0200
Last post2015-10-22 14:30 +0200
Articles 6 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: [PATCH 9/9] treewide: Remove newlines inside DEFINE_PER_CPU()  macros Prarit Bhargava <prarit@redhat.com> - 2015-10-21 21:30 +0200
    Re: [PATCH 9/9] treewide: Remove newlines inside DEFINE_PER_CPU()  macros Michal Marek <mmarek@suse.com> - 2015-10-21 22:00 +0200
      Re: [PATCH 9/9] treewide: Remove newlines inside DEFINE_PER_CPU()  macros Prarit Bhargava <prarit@redhat.com> - 2015-10-22 13:40 +0200
        Re: [PATCH 9/9] treewide: Remove newlines inside DEFINE_PER_CPU()  macros Michal Marek <mmarek@suse.com> - 2015-10-22 14:10 +0200
          Re: [PATCH 9/9] treewide: Remove newlines inside DEFINE_PER_CPU()  macros Prarit Bhargava <prarit@redhat.com> - 2015-10-22 14:20 +0200
            Re: [PATCH 9/9] treewide: Remove newlines inside DEFINE_PER_CPU()  macros Michal Marek <mmarek@suse.com> - 2015-10-22 14:30 +0200

#1253147 — Re: [PATCH 9/9] treewide: Remove newlines inside DEFINE_PER_CPU() macros

FromPrarit Bhargava <prarit@redhat.com>
Date2015-10-21 21:30 +0200
SubjectRe: [PATCH 9/9] treewide: Remove newlines inside DEFINE_PER_CPU() macros
Message-ID<qm7fd-44l-29@gated-at.bofh.it>
On 10/15/2015 04:16 PM, Michal Marek wrote:
> Otherwise make tags can't parse them:
> 
> ctags: Warning: arch/ia64/kernel/smp.c:60: null expansion of name pattern "\1"
> ctags: Warning: drivers/xen/events/events_2l.c:41: null expansion of name pattern "\1"
> ctags: Warning: drivers/acpi/processor_idle.c:64: null expansion of name pattern "\1"
> ctags: Warning: kernel/locking/lockdep.c:153: null expansion of name pattern "\1"
> ctags: Warning: kernel/workqueue.c:305: null expansion of name pattern "\1"
> ctags: Warning: kernel/rcu/rcutorture.c:133: null expansion of name pattern "\1"
> ctags: Warning: kernel/rcu/rcutorture.c:135: null expansion of name pattern "\1"
> ctags: Warning: net/rds/page.c:45: null expansion of name pattern "\1"
> ctags: Warning: net/ipv4/syncookies.c:53: null expansion of name pattern "\1"
> ctags: Warning: net/ipv6/syncookies.c:44: null expansion of name pattern "\1"
> 
> Cc: linux-ia64@vger.kernel.org
> Cc: xen-devel@lists.xenproject.org
> Cc: linux-acpi@vger.kernel.org
> Cc: rds-devel@oss.oracle.com
> Cc: netdev@vger.kernel.org
> Signed-off-by: Michal Marek <mmarek@suse.com>
> ---
>  arch/ia64/kernel/smp.c         | 3 +--
>  drivers/acpi/processor_idle.c  | 3 +--
>  drivers/xen/events/events_2l.c | 3 +--
>  kernel/locking/lockdep.c       | 3 +--
>  kernel/rcu/rcutorture.c        | 6 ++----
>  kernel/workqueue.c             | 3 +--
>  net/ipv4/syncookies.c          | 3 +--
>  net/ipv6/syncookies.c          | 3 +--
>  net/rds/page.c                 | 3 +--
>  9 files changed, 10 insertions(+), 20 deletions(-)
> 
> diff --git a/arch/ia64/kernel/smp.c b/arch/ia64/kernel/smp.c
> index 7f706d4f84f7..1dcfe29d8a42 100644
> --- a/arch/ia64/kernel/smp.c
> +++ b/arch/ia64/kernel/smp.c
> @@ -57,8 +57,7 @@ static struct local_tlb_flush_counts {
>  	unsigned int count;
>  } __attribute__((__aligned__(32))) local_tlb_flush_counts[NR_CPUS];
>  
> -static DEFINE_PER_CPU_SHARED_ALIGNED(unsigned short [NR_CPUS],
> -				     shadow_flush_counts);
> +static DEFINE_PER_CPU_SHARED_ALIGNED(unsigned short [NR_CPUS], shadow_flush_counts);
>  

I guarantee you're going to end up fixing this issue over and over again as more
code is added in.

OOC, why not fix ctags to recognize newlines?

P.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [next] | [standalone]


#1253165

FromMichal Marek <mmarek@suse.com>
Date2015-10-21 22:00 +0200
Message-ID<qm7Id-4DS-9@gated-at.bofh.it>
In reply to#1253147
Dne 21.10.2015 v 21:27 Prarit Bhargava napsal(a):
> On 10/15/2015 04:16 PM, Michal Marek wrote:
>> Otherwise make tags can't parse them:
>>
>> ctags: Warning: arch/ia64/kernel/smp.c:60: null expansion of name pattern "\1"
>> ctags: Warning: drivers/xen/events/events_2l.c:41: null expansion of name pattern "\1"
>> ctags: Warning: drivers/acpi/processor_idle.c:64: null expansion of name pattern "\1"
>> ctags: Warning: kernel/locking/lockdep.c:153: null expansion of name pattern "\1"
>> ctags: Warning: kernel/workqueue.c:305: null expansion of name pattern "\1"
>> ctags: Warning: kernel/rcu/rcutorture.c:133: null expansion of name pattern "\1"
>> ctags: Warning: kernel/rcu/rcutorture.c:135: null expansion of name pattern "\1"
>> ctags: Warning: net/rds/page.c:45: null expansion of name pattern "\1"
>> ctags: Warning: net/ipv4/syncookies.c:53: null expansion of name pattern "\1"
>> ctags: Warning: net/ipv6/syncookies.c:44: null expansion of name pattern "\1"
> 
> I guarantee you're going to end up fixing this issue over and over again as more
> code is added in.

This is certainly going to happen, but it should be quickly spotted by
anybody running make tags on linux-next. And 10 instances since the
beginning of git is not too many.


> OOC, why not fix ctags to recognize newlines?

It's not ctags itself parsing the DEFINE_PER_CPU() macro, but a
user-supplied regex specified on commandline. Which can only operate on
single lines.

Michal
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1253726

FromPrarit Bhargava <prarit@redhat.com>
Date2015-10-22 13:40 +0200
Message-ID<qmmnT-18n-7@gated-at.bofh.it>
In reply to#1253165

On 10/21/2015 03:52 PM, Michal Marek wrote:
> Dne 21.10.2015 v 21:27 Prarit Bhargava napsal(a):
>> On 10/15/2015 04:16 PM, Michal Marek wrote:
>>> Otherwise make tags can't parse them:
>>>
>>> ctags: Warning: arch/ia64/kernel/smp.c:60: null expansion of name pattern "\1"
>>> ctags: Warning: drivers/xen/events/events_2l.c:41: null expansion of name pattern "\1"
>>> ctags: Warning: drivers/acpi/processor_idle.c:64: null expansion of name pattern "\1"
>>> ctags: Warning: kernel/locking/lockdep.c:153: null expansion of name pattern "\1"
>>> ctags: Warning: kernel/workqueue.c:305: null expansion of name pattern "\1"
>>> ctags: Warning: kernel/rcu/rcutorture.c:133: null expansion of name pattern "\1"
>>> ctags: Warning: kernel/rcu/rcutorture.c:135: null expansion of name pattern "\1"
>>> ctags: Warning: net/rds/page.c:45: null expansion of name pattern "\1"
>>> ctags: Warning: net/ipv4/syncookies.c:53: null expansion of name pattern "\1"
>>> ctags: Warning: net/ipv6/syncookies.c:44: null expansion of name pattern "\1"
>>
>> I guarantee you're going to end up fixing this issue over and over again as more
>> code is added in.
> 
> This is certainly going to happen, but it should be quickly spotted by
> anybody running make tags on linux-next. And 10 instances since the
> beginning of git is not too many.

Not everyone uses 'make tags'.  'make cscope' exists and functions correctly ;)

> 
> 
>> OOC, why not fix ctags to recognize newlines?
> 
> It's not ctags itself parsing the DEFINE_PER_CPU() macro, but a
> user-supplied regex specified on commandline. Which can only operate on
> single lines.
> 

What's the regex?

P.

> Michal
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1253734

FromMichal Marek <mmarek@suse.com>
Date2015-10-22 14:10 +0200
Message-ID<qmmQV-1Wt-1@gated-at.bofh.it>
In reply to#1253726
On 2015-10-22 13:31, Prarit Bhargava wrote:
> 
> 
> On 10/21/2015 03:52 PM, Michal Marek wrote:
>> Dne 21.10.2015 v 21:27 Prarit Bhargava napsal(a):
>>> On 10/15/2015 04:16 PM, Michal Marek wrote:
>>>> Otherwise make tags can't parse them:
>>>>
>>>> ctags: Warning: arch/ia64/kernel/smp.c:60: null expansion of name pattern "\1"
>>>> ctags: Warning: drivers/xen/events/events_2l.c:41: null expansion of name pattern "\1"
>>>> ctags: Warning: drivers/acpi/processor_idle.c:64: null expansion of name pattern "\1"
>>>> ctags: Warning: kernel/locking/lockdep.c:153: null expansion of name pattern "\1"
>>>> ctags: Warning: kernel/workqueue.c:305: null expansion of name pattern "\1"
>>>> ctags: Warning: kernel/rcu/rcutorture.c:133: null expansion of name pattern "\1"
>>>> ctags: Warning: kernel/rcu/rcutorture.c:135: null expansion of name pattern "\1"
>>>> ctags: Warning: net/rds/page.c:45: null expansion of name pattern "\1"
>>>> ctags: Warning: net/ipv4/syncookies.c:53: null expansion of name pattern "\1"
>>>> ctags: Warning: net/ipv6/syncookies.c:44: null expansion of name pattern "\1"
>>>
>>> I guarantee you're going to end up fixing this issue over and over again as more
>>> code is added in.
>>
>> This is certainly going to happen, but it should be quickly spotted by
>> anybody running make tags on linux-next. And 10 instances since the
>> beginning of git is not too many.
> 
> Not everyone uses 'make tags'.  'make cscope' exists and functions correctly ;)

cscope works, but unfortunately it cannot be extended to understand the
preprocessor constructs. But it does not suffer from the problem at
hand, obviously.


>> It's not ctags itself parsing the DEFINE_PER_CPU() macro, but a
>> user-supplied regex specified on commandline. Which can only operate on
>> single lines.
>>
> 
> What's the regex?

See
https://lkml.kernel.org/r/1444940195-28272-9-git-send-email-mmarek@suse.com

It used to require a closing parenthesis, so it would not match the
multiline macro invocations at all. Now it matches them, but ctags
correctly warns that the empty string is probably not what we intended
to match.

Michal
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1253751

FromPrarit Bhargava <prarit@redhat.com>
Date2015-10-22 14:20 +0200
Message-ID<qmn0C-28d-13@gated-at.bofh.it>
In reply to#1253734

On 10/22/2015 08:06 AM, Michal Marek wrote:
> On 2015-10-22 13:31, Prarit Bhargava wrote:
>>
>>
>> On 10/21/2015 03:52 PM, Michal Marek wrote:
>>> Dne 21.10.2015 v 21:27 Prarit Bhargava napsal(a):
>>>> On 10/15/2015 04:16 PM, Michal Marek wrote:
>>>>> Otherwise make tags can't parse them:
>>>>>
>>>>> ctags: Warning: arch/ia64/kernel/smp.c:60: null expansion of name pattern "\1"
>>>>> ctags: Warning: drivers/xen/events/events_2l.c:41: null expansion of name pattern "\1"
>>>>> ctags: Warning: drivers/acpi/processor_idle.c:64: null expansion of name pattern "\1"
>>>>> ctags: Warning: kernel/locking/lockdep.c:153: null expansion of name pattern "\1"
>>>>> ctags: Warning: kernel/workqueue.c:305: null expansion of name pattern "\1"
>>>>> ctags: Warning: kernel/rcu/rcutorture.c:133: null expansion of name pattern "\1"
>>>>> ctags: Warning: kernel/rcu/rcutorture.c:135: null expansion of name pattern "\1"
>>>>> ctags: Warning: net/rds/page.c:45: null expansion of name pattern "\1"
>>>>> ctags: Warning: net/ipv4/syncookies.c:53: null expansion of name pattern "\1"
>>>>> ctags: Warning: net/ipv6/syncookies.c:44: null expansion of name pattern "\1"
>>>>
>>>> I guarantee you're going to end up fixing this issue over and over again as more
>>>> code is added in.
>>>
>>> This is certainly going to happen, but it should be quickly spotted by
>>> anybody running make tags on linux-next. And 10 instances since the
>>> beginning of git is not too many.
>>
>> Not everyone uses 'make tags'.  'make cscope' exists and functions correctly ;)
> 
> cscope works, but unfortunately it cannot be extended to understand the
> preprocessor constructs. But it does not suffer from the problem at
> hand, obviously.
> 
> 
>>> It's not ctags itself parsing the DEFINE_PER_CPU() macro, but a
>>> user-supplied regex specified on commandline. Which can only operate on
>>> single lines.
>>>
>>
>> What's the regex?
> 
> See
> https://lkml.kernel.org/r/1444940195-28272-9-git-send-email-mmarek@suse.com
> 
> It used to require a closing parenthesis, so it would not match the
> multiline macro invocations at all. Now it matches them, but ctags
> correctly warns that the empty string is probably not what we intended
> to match.

It seems wrong to change kernel code, not for a bug, but for a userspace search.

P.

> 
> Michal
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1253756

FromMichal Marek <mmarek@suse.com>
Date2015-10-22 14:30 +0200
Message-ID<qmnah-2ka-3@gated-at.bofh.it>
In reply to#1253751
On 2015-10-22 14:14, Prarit Bhargava wrote:
> On 10/22/2015 08:06 AM, Michal Marek wrote:
>> It used to require a closing parenthesis, so it would not match the
>> multiline macro invocations at all. Now it matches them, but ctags
>> correctly warns that the empty string is probably not what we intended
>> to match.
> 
> It seems wrong to change kernel code, not for a bug, but for a userspace search.

The bug is that the code cannot be indexed using ctags or etags.

Michal

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web