linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* get_maintainers.pl subsystem output
@ 2019-07-19  7:35 Duda, Sebastian
  2019-07-19  8:50 ` Joe Perches
  0 siblings, 1 reply; 10+ messages in thread
From: Duda, Sebastian @ 2019-07-19  7:35 UTC (permalink / raw)
  To: joe; +Cc: linux-kernel, lukas.bulwahn, ralf.ramsauer, wolfgang.mauerer

Hi Joe,

I'm conducting a large-scale patch analysis of the LKML with 1.8 million 
patch emails. I'm using the `get_maintainer.pl` script to know which 
patch is related to which subsystem.

I ran into two issues while using the script:

1. When I use the script the trivial way

     $ scripts/get_maintainer.pl --subsystem --status --separator , 
drivers/media/i2c/adv748x/
     Kieran Bingham <kieran.bingham@ideasonboard.com> (maintainer:ANALOG 
DEVICES INC ADV748X DRIVER),Mauro Carvalho Chehab <mchehab@kernel.org> 
(maintainer:MEDIA INPUT INFRASTRUCTURE 
(V4L/DVB)),linux-media@vger.kernel.org (open list:ANALOG DEVICES INC 
ADV748X DRIVER),linux-kernel@vger.kernel.org (open list)
     Maintained,Buried alive in reporters
     ANALOG DEVICES INC ADV748X DRIVER,MEDIA INPUT INFRASTRUCTURE 
(V4L/DVB),THE REST

the output is hard to parse because the status `Maintained` is displayed 
only once but related to two subsystems.

I'd prefer a more table like representation, like this:

     Kieran Bingham <kieran.bingham@ideasonboard.com> (maintainer:ANALOG 
DEVICES INC ADV748X DRIVER),linux-media@vger.kernel.org (open 
list:ANALOG DEVICES INC ADV748X DRIVER),ANALOG DEVICES INC ADV748X 
DRIVER,Maintained
     Mauro Carvalho Chehab <mchehab@kernel.org> (maintainer:MEDIA INPUT 
INFRASTRUCTURE (V4L/DVB)),MEDIA INPUT INFRASTRUCTURE 
(V4L/DVB),Maintained
     linux-kernel@vger.kernel.org (open list),THE REST,Buried alive in 
reporters


2. I want to analyze multiple patches, currently I am calling the script 
once per patch. When calling the script with multiple files the files 
output is merged

     $ scripts/get_maintainer.pl --subsystem --status --separator ',' 
drivers/media/i2c/adv748x/ include/uapi/linux/wmi.h
     Kieran Bingham <kieran.bingham@ideasonboard.com> (maintainer:ANALOG 
DEVICES INC ADV748X DRIVER),Mauro Carvalho Chehab <mchehab@kernel.org> 
(maintainer:MEDIA INPUT INFRASTRUCTURE 
(V4L/DVB)),linux-media@vger.kernel.org (open list:ANALOG DEVICES INC 
ADV748X DRIVER),linux-kernel@vger.kernel.org (open 
list),platform-driver-x86@vger.kernel.org (open list:ACPI WMI DRIVER)
     Maintained,Buried alive in reporters,Orphan
     ANALOG DEVICES INC ADV748X DRIVER,MEDIA INPUT INFRASTRUCTURE 
(V4L/DVB),THE REST,ACPI WMI DRIVER

I'd like to run the script with all files but separated output, like 
this:

     $ scripts/get_maintainer.pl --subsystem --status --separator ',' 
--separate-files drivers/media/i2c/adv748x/ include/uapi/linux/wmi.h
     Kieran Bingham <kieran.bingham@ideasonboard.com> (maintainer:ANALOG 
DEVICES INC ADV748X DRIVER),Mauro Carvalho Chehab <mchehab@kernel.org> 
(maintainer:MEDIA INPUT INFRASTRUCTURE 
(V4L/DVB)),linux-media@vger.kernel.org (open list:ANALOG DEVICES INC 
ADV748X DRIVER),linux-kernel@vger.kernel.org (open list)
     Maintained,Buried alive in reporters
     ANALOG DEVICES INC ADV748X DRIVER,MEDIA INPUT INFRASTRUCTURE 
(V4L/DVB),THE REST

     platform-driver-x86@vger.kernel.org (open list:ACPI WMI 
DRIVER),linux-kernel@vger.kernel.org (open list)
     Orphan,Buried alive in reporters
     ACPI WMI DRIVER,THE REST


My Questions are:
1. How can I make get_maintainer's output to be more table-like?
2. How can I make get_maintainer.pl to separate each file's output?

Kind Regards
Sebastian

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: get_maintainers.pl subsystem output
  2019-07-19  7:35 get_maintainers.pl subsystem output Duda, Sebastian
@ 2019-07-19  8:50 ` Joe Perches
  2019-07-19  9:54   ` Duda, Sebastian
  2019-07-23  7:29   ` Duda, Sebastian
  0 siblings, 2 replies; 10+ messages in thread
From: Joe Perches @ 2019-07-19  8:50 UTC (permalink / raw)
  To: Duda, Sebastian
  Cc: linux-kernel, lukas.bulwahn, ralf.ramsauer, wolfgang.mauerer

On Fri, 2019-07-19 at 07:35 +0000, Duda, Sebastian wrote:
> Hi Joe,
> 
> I'm conducting a large-scale patch analysis of the LKML with 1.8 million 
> patch emails. I'm using the `get_maintainer.pl` script to know which 
> patch is related to which subsystem.

The MAINTAINERS file is updated frequently.

Are you also using the MAINTAINERS file used
at the time each patch was submitted?

> I ran into two issues while using the script:
> 
> 1. When I use the script the trivial way
> 
>      $ scripts/get_maintainer.pl --subsystem --status --separator , 
> drivers/media/i2c/adv748x/
>      Kieran Bingham <kieran.bingham@ideasonboard.com> (maintainer:ANALOG 
> DEVICES INC ADV748X DRIVER),Mauro Carvalho Chehab <mchehab@kernel.org> 
> (maintainer:MEDIA INPUT INFRASTRUCTURE 
> (V4L/DVB)),linux-media@vger.kernel.org (open list:ANALOG DEVICES INC 
> ADV748X DRIVER),linux-kernel@vger.kernel.org (open list)
>      Maintained,Buried alive in reporters
>      ANALOG DEVICES INC ADV748X DRIVER,MEDIA INPUT INFRASTRUCTURE 
> (V4L/DVB),THE REST
> 
> the output is hard to parse because the status `Maintained` is displayed 
> only once but related to two subsystems.
> 
> I'd prefer a more table like representation, like this:
> 
>      Kieran Bingham <kieran.bingham@ideasonboard.com> (maintainer:ANALOG 
> DEVICES INC ADV748X DRIVER),linux-media@vger.kernel.org (open 
> list:ANALOG DEVICES INC ADV748X DRIVER),ANALOG DEVICES INC ADV748X 
> DRIVER,Maintained
>      Mauro Carvalho Chehab <mchehab@kernel.org> (maintainer:MEDIA INPUT 
> INFRASTRUCTURE (V4L/DVB)),MEDIA INPUT INFRASTRUCTURE 
> (V4L/DVB),Maintained
>      linux-kernel@vger.kernel.org (open list),THE REST,Buried alive in 
> reporters
> 
> 
> 2. I want to analyze multiple patches, currently I am calling the script 
> once per patch. When calling the script with multiple files the files 
> output is merged
> 
>      $ scripts/get_maintainer.pl --subsystem --status --separator ',' 
> drivers/media/i2c/adv748x/ include/uapi/linux/wmi.h
>      Kieran Bingham <kieran.bingham@ideasonboard.com> (maintainer:ANALOG 
> DEVICES INC ADV748X DRIVER),Mauro Carvalho Chehab <mchehab@kernel.org> 
> (maintainer:MEDIA INPUT INFRASTRUCTURE 
> (V4L/DVB)),linux-media@vger.kernel.org (open list:ANALOG DEVICES INC 
> ADV748X DRIVER),linux-kernel@vger.kernel.org (open 
> list),platform-driver-x86@vger.kernel.org (open list:ACPI WMI DRIVER)
>      Maintained,Buried alive in reporters,Orphan
>      ANALOG DEVICES INC ADV748X DRIVER,MEDIA INPUT INFRASTRUCTURE 
> (V4L/DVB),THE REST,ACPI WMI DRIVER
> 
> I'd like to run the script with all files but separated output, like 
> this:
> 
>      $ scripts/get_maintainer.pl --subsystem --status --separator ',' 
> --separate-files drivers/media/i2c/adv748x/ include/uapi/linux/wmi.h
>      Kieran Bingham <kieran.bingham@ideasonboard.com> (maintainer:ANALOG 
> DEVICES INC ADV748X DRIVER),Mauro Carvalho Chehab <mchehab@kernel.org> 
> (maintainer:MEDIA INPUT INFRASTRUCTURE 
> (V4L/DVB)),linux-media@vger.kernel.org (open list:ANALOG DEVICES INC 
> ADV748X DRIVER),linux-kernel@vger.kernel.org (open list)
>      Maintained,Buried alive in reporters
>      ANALOG DEVICES INC ADV748X DRIVER,MEDIA INPUT INFRASTRUCTURE 
> (V4L/DVB),THE REST
> 
>      platform-driver-x86@vger.kernel.org (open list:ACPI WMI 
> DRIVER),linux-kernel@vger.kernel.org (open list)
>      Orphan,Buried alive in reporters
>      ACPI WMI DRIVER,THE REST
> 
> 
> My Questions are:
> 1. How can I make get_maintainer's output to be more table-like?

I suggest adding --nogit --nogit-fallback --roles --norolestats

> 2. How can I make get_maintainer.pl to separate each file's output?

Run the script with multiple invocations. once for each file
modified by the patch.



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: get_maintainers.pl subsystem output
  2019-07-19  8:50 ` Joe Perches
@ 2019-07-19  9:54   ` Duda, Sebastian
  2019-07-19 14:31     ` Joe Perches
  2019-07-23  7:29   ` Duda, Sebastian
  1 sibling, 1 reply; 10+ messages in thread
From: Duda, Sebastian @ 2019-07-19  9:54 UTC (permalink / raw)
  To: Joe Perches; +Cc: linux-kernel, lukas.bulwahn, ralf.ramsauer, wolfgang.mauerer

On 2019-07-19 08:50, Joe Perches wrote:
> On Fri, 2019-07-19 at 07:35 +0000, Duda, Sebastian wrote:
>> Hi Joe,
>> 
>> I'm conducting a large-scale patch analysis of the LKML with 1.8 
>> million
>> patch emails. I'm using the `get_maintainer.pl` script to know which
>> patch is related to which subsystem.
> 
> The MAINTAINERS file is updated frequently.
> 
> Are you also using the MAINTAINERS file used
> at the time each patch was submitted?

Yes, for each patch we use the MAINTAINERS file from the current (by the 
time the patch was submitted) release (candidate).

>> I ran into two issues while using the script:
>> 
>> 1. When I use the script the trivial way
>> 
>>      $ scripts/get_maintainer.pl --subsystem --status --separator ,
>> drivers/media/i2c/adv748x/
>>      Kieran Bingham <kieran.bingham@ideasonboard.com> 
>> (maintainer:ANALOG
>> DEVICES INC ADV748X DRIVER),Mauro Carvalho Chehab <mchehab@kernel.org>
>> (maintainer:MEDIA INPUT INFRASTRUCTURE
>> (V4L/DVB)),linux-media@vger.kernel.org (open list:ANALOG DEVICES INC
>> ADV748X DRIVER),linux-kernel@vger.kernel.org (open list)
>>      Maintained,Buried alive in reporters
>>      ANALOG DEVICES INC ADV748X DRIVER,MEDIA INPUT INFRASTRUCTURE
>> (V4L/DVB),THE REST
>> 
>> the output is hard to parse because the status `Maintained` is 
>> displayed
>> only once but related to two subsystems.
>> 
>> I'd prefer a more table like representation, like this:
>> 
>>      Kieran Bingham <kieran.bingham@ideasonboard.com> 
>> (maintainer:ANALOG
>> DEVICES INC ADV748X DRIVER),linux-media@vger.kernel.org (open
>> list:ANALOG DEVICES INC ADV748X DRIVER),ANALOG DEVICES INC ADV748X
>> DRIVER,Maintained
>>      Mauro Carvalho Chehab <mchehab@kernel.org> (maintainer:MEDIA 
>> INPUT
>> INFRASTRUCTURE (V4L/DVB)),MEDIA INPUT INFRASTRUCTURE
>> (V4L/DVB),Maintained
>>      linux-kernel@vger.kernel.org (open list),THE REST,Buried alive in
>> reporters
>> 
>> 
>> 2. I want to analyze multiple patches, currently I am calling the 
>> script
>> once per patch. When calling the script with multiple files the files
>> output is merged
>> 
>>      $ scripts/get_maintainer.pl --subsystem --status --separator ','
>> drivers/media/i2c/adv748x/ include/uapi/linux/wmi.h
>>      Kieran Bingham <kieran.bingham@ideasonboard.com> 
>> (maintainer:ANALOG
>> DEVICES INC ADV748X DRIVER),Mauro Carvalho Chehab <mchehab@kernel.org>
>> (maintainer:MEDIA INPUT INFRASTRUCTURE
>> (V4L/DVB)),linux-media@vger.kernel.org (open list:ANALOG DEVICES INC
>> ADV748X DRIVER),linux-kernel@vger.kernel.org (open
>> list),platform-driver-x86@vger.kernel.org (open list:ACPI WMI DRIVER)
>>      Maintained,Buried alive in reporters,Orphan
>>      ANALOG DEVICES INC ADV748X DRIVER,MEDIA INPUT INFRASTRUCTURE
>> (V4L/DVB),THE REST,ACPI WMI DRIVER
>> 
>> I'd like to run the script with all files but separated output, like
>> this:
>> 
>>      $ scripts/get_maintainer.pl --subsystem --status --separator ','
>> --separate-files drivers/media/i2c/adv748x/ include/uapi/linux/wmi.h
>>      Kieran Bingham <kieran.bingham@ideasonboard.com> 
>> (maintainer:ANALOG
>> DEVICES INC ADV748X DRIVER),Mauro Carvalho Chehab <mchehab@kernel.org>
>> (maintainer:MEDIA INPUT INFRASTRUCTURE
>> (V4L/DVB)),linux-media@vger.kernel.org (open list:ANALOG DEVICES INC
>> ADV748X DRIVER),linux-kernel@vger.kernel.org (open list)
>>      Maintained,Buried alive in reporters
>>      ANALOG DEVICES INC ADV748X DRIVER,MEDIA INPUT INFRASTRUCTURE
>> (V4L/DVB),THE REST
>> 
>>      platform-driver-x86@vger.kernel.org (open list:ACPI WMI
>> DRIVER),linux-kernel@vger.kernel.org (open list)
>>      Orphan,Buried alive in reporters
>>      ACPI WMI DRIVER,THE REST
>> 
>> 
>> My Questions are:
>> 1. How can I make get_maintainer's output to be more table-like?
> 
> I suggest adding --nogit --nogit-fallback --roles --norolestats

Unfortunately, this doesn't change the output:
     $ scripts/get_maintainer.pl --subsystem --status --separator , 
drivers/media/i2c/adv748x/
     Kieran Bingham <kieran.bingham@ideasonboard.com> (maintainer:ANALOG 
DEVICES INC ADV748X DRIVER),Mauro Carvalho Chehab <mchehab@kernel.org> 
(maintainer:MEDIA INPUT INFRASTRUCTURE 
(V4L/DVB)),linux-media@vger.kernel.org (open list:ANALOG DEVICES INC 
ADV748X DRIVER),linux-kernel@vger.kernel.org (open list)
     Maintained,Buried alive in reporters
     ANALOG DEVICES INC ADV748X DRIVER,MEDIA INPUT INFRASTRUCTURE 
(V4L/DVB),THE REST

     $ scripts/get_maintainer.pl --subsystem --status --separator , 
--nogit --nogit-fallback --roles --norolestats 
drivers/media/i2c/adv748x/
     Kieran Bingham <kieran.bingham@ideasonboard.com> (maintainer:ANALOG 
DEVICES INC ADV748X DRIVER),Mauro Carvalho Chehab <mchehab@kernel.org> 
(maintainer:MEDIA INPUT INFRASTRUCTURE 
(V4L/DVB)),linux-media@vger.kernel.org (open list:ANALOG DEVICES INC 
ADV748X DRIVER),linux-kernel@vger.kernel.org (open list)
     Maintained,Buried alive in reporters
     ANALOG DEVICES INC ADV748X DRIVER,MEDIA INPUT INFRASTRUCTURE 
(V4L/DVB),THE REST

>> 2. How can I make get_maintainer.pl to separate each file's output?
> 
> Run the script with multiple invocations. once for each file
> modified by the patch.

This is the way I'm doing it right now but this is very slow. I thought 
calling the script only once for many files could speed up the analysis.

Thank you
Sebastian

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: get_maintainers.pl subsystem output
  2019-07-19  9:54   ` Duda, Sebastian
@ 2019-07-19 14:31     ` Joe Perches
  0 siblings, 0 replies; 10+ messages in thread
From: Joe Perches @ 2019-07-19 14:31 UTC (permalink / raw)
  To: Duda, Sebastian
  Cc: linux-kernel, lukas.bulwahn, ralf.ramsauer, wolfgang.mauerer

On Fri, 2019-07-19 at 09:54 +0000, Duda, Sebastian wrote:
> On 2019-07-19 08:50, Joe Perches wrote:

> > > My Questions are:
> > > 1. How can I make get_maintainer's output to be more table-like?
> > 
> > I suggest adding --nogit --nogit-fallback --roles --norolestats
> 
> Unfortunately, this doesn't change the output:
>      $ scripts/get_maintainer.pl --subsystem --status --separator , 
> drivers/media/i2c/adv748x/
>      Kieran Bingham <kieran.bingham@ideasonboard.com> (maintainer:ANALOG 
> DEVICES INC ADV748X DRIVER),Mauro Carvalho Chehab <mchehab@kernel.org> 
> (maintainer:MEDIA INPUT INFRASTRUCTURE 
> (V4L/DVB)),linux-media@vger.kernel.org (open list:ANALOG DEVICES INC 
> ADV748X DRIVER),linux-kernel@vger.kernel.org (open list)
>      Maintained,Buried alive in reporters
>      ANALOG DEVICES INC ADV748X DRIVER,MEDIA INPUT INFRASTRUCTURE 
> (V4L/DVB),THE REST

It does change the output for files that do not
have a specific maintainer.

> > > 2. How can I make get_maintainer.pl to separate each file's output?
> > 
> > Run the script with multiple invocations. once for each file
> > modified by the patch.
> 
> This is the way I'm doing it right now but this is very slow. I thought 
> calling the script only once for many files could speed up the analysis.

get_maintainer is effectively single threaded.

Averaging 10 runs:

A single file run time is ~0.135 seconds on my system.
An invocation with two files on the command line has
a run time of ~0.195 seconds.

Using something like gnu parallel would allow multiple
instances to run simulateously and would significantly
reduce overall wall-clock runtime on most systems.

https://www.gnu.org/software/parallel/



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: get_maintainers.pl subsystem output
  2019-07-19  8:50 ` Joe Perches
  2019-07-19  9:54   ` Duda, Sebastian
@ 2019-07-23  7:29   ` Duda, Sebastian
  2019-07-23  8:42     ` Lukas Bulwahn
  2019-07-23 11:54     ` Joe Perches
  1 sibling, 2 replies; 10+ messages in thread
From: Duda, Sebastian @ 2019-07-23  7:29 UTC (permalink / raw)
  To: Joe Perches; +Cc: linux-kernel, lukas.bulwahn, ralf.ramsauer, wolfgang.mauerer

Hi Joe,

when analyzing the patch 
`<20150128012747.824898918@linuxfoundation.org>` [1] with 
`get_maintainers.pl --subsystem --status --separator , /tmp/patch`, 
there is the following output:

     Chris Mason <clm@fb.com> (maintainer:BTRFS FILE SYSTEM),Josef Bacik 
<jbacik@fb.com> (maintainer:BTRFS FILE SYSTEM),David Sterba 
<dsterba@suse.cz> (maintainer:BTRFS FILE SYSTEM),Alexander Viro 
<viro@zeniv.linux.org.uk> (maintainer:FILESYSTEMS (VFS and 
infrastructure)),"Theodore Ts'o" <tytso@mit.edu> (maintainer:EXT4 FILE 
SYSTEM),Andreas Dilger <adilger.kernel@dilger.ca> (maintainer:EXT4 FILE 
SYSTEM),Jaegeuk Kim <jaegeuk@kernel.org> (maintainer:F2FS FILE 
SYSTEM),Changman Lee <cm224.lee@samsung.com> (maintainer:F2FS FILE 
SYSTEM),Miklos Szeredi <miklos@szeredi.hu> (maintainer:FUSE: FILESYSTEM 
IN USERSPACE),Steven Whitehouse <swhiteho@redhat.com> (supporter:GFS2 
FILE SYSTEM),Anton Altaparmakov <anton@tuxera.com> (supporter:NTFS 
FILESYSTEM),Hugh Dickins <hughd@google.com> (maintainer:TMPFS (SHMEM 
FILESYSTEM)),linux-btrfs@vger.kernel.org (open list:BTRFS FILE 
SYSTEM),linux-kernel@vger.kernel.org (open 
list),linux-fsdevel@vger.kernel.org (open list:FILESYSTEMS (VFS and 
infrastructure)),linux-ext4@vger.kernel.org (open list:EXT4 FILE 
SYSTEM),linux-f2fs-devel@lists.sourceforge.net (open list:F2FS FILE 
SYSTEM),fuse-devel@lists.sourceforge.net (open list:FUSE: FILESYSTEM IN 
USERSPACE),cluster-devel@redhat.com (open list:GFS2 FILE 
SYSTEM),linux-ntfs-dev@lists.sourceforge.net (open list:NTFS 
FILESYSTEM),linux-mm@kvack.org (open list:MEMORY MANAGEMENT)
     Maintained,Buried alive in reporters,Supported
     BTRFS FILE SYSTEM,THE REST,FILESYSTEMS (VFS and infrastructure),EXT4 
FILE SYSTEM,F2FS FILE SYSTEM,FUSE: FILESYSTEM IN USERSPACE,GFS2 FILE 
SYSTEM,NTFS FILESYSTEM,MEMORY MANAGEMENT,TMPFS (SHMEM FILESYSTEM)

How can I parse this output automatically? or how can I generate a 
parsable output?

I need the tuples of subsystems and status:
(THE REST, Buried alive in reporters)
(TMPFS, Maintained)
(BTRFS FILE SYSTEM, Maintained)
…
(GFS2 FILE SYSTEM, Supported)

I'm not aware how to reliably assign the statuses to the subsystems.

Thank you in advance
Kind regards

Sebastian Duda

[1] https://lore.kernel.org/patchwork/patch/537252/

On 2019-07-19 10:50, Joe Perches wrote:
> On Fri, 2019-07-19 at 07:35 +0000, Duda, Sebastian wrote:
>> Hi Joe,
>> 
>> I'm conducting a large-scale patch analysis of the LKML with 1.8 
>> million
>> patch emails. I'm using the `get_maintainer.pl` script to know which
>> patch is related to which subsystem.
> 
> The MAINTAINERS file is updated frequently.
> 
> Are you also using the MAINTAINERS file used
> at the time each patch was submitted?
> 
>> I ran into two issues while using the script:
>> 
>> 1. When I use the script the trivial way
>> 
>>      $ scripts/get_maintainer.pl --subsystem --status --separator ,
>> drivers/media/i2c/adv748x/
>>      Kieran Bingham <kieran.bingham@ideasonboard.com> 
>> (maintainer:ANALOG
>> DEVICES INC ADV748X DRIVER),Mauro Carvalho Chehab <mchehab@kernel.org>
>> (maintainer:MEDIA INPUT INFRASTRUCTURE
>> (V4L/DVB)),linux-media@vger.kernel.org (open list:ANALOG DEVICES INC
>> ADV748X DRIVER),linux-kernel@vger.kernel.org (open list)
>>      Maintained,Buried alive in reporters
>>      ANALOG DEVICES INC ADV748X DRIVER,MEDIA INPUT INFRASTRUCTURE
>> (V4L/DVB),THE REST
>> 
>> the output is hard to parse because the status `Maintained` is 
>> displayed
>> only once but related to two subsystems.
>> 
>> I'd prefer a more table like representation, like this:
>> 
>>      Kieran Bingham <kieran.bingham@ideasonboard.com> 
>> (maintainer:ANALOG
>> DEVICES INC ADV748X DRIVER),linux-media@vger.kernel.org (open
>> list:ANALOG DEVICES INC ADV748X DRIVER),ANALOG DEVICES INC ADV748X
>> DRIVER,Maintained
>>      Mauro Carvalho Chehab <mchehab@kernel.org> (maintainer:MEDIA 
>> INPUT
>> INFRASTRUCTURE (V4L/DVB)),MEDIA INPUT INFRASTRUCTURE
>> (V4L/DVB),Maintained
>>      linux-kernel@vger.kernel.org (open list),THE REST,Buried alive in
>> reporters
>> 
>> 
>> 2. I want to analyze multiple patches, currently I am calling the 
>> script
>> once per patch. When calling the script with multiple files the files
>> output is merged
>> 
>>      $ scripts/get_maintainer.pl --subsystem --status --separator ','
>> drivers/media/i2c/adv748x/ include/uapi/linux/wmi.h
>>      Kieran Bingham <kieran.bingham@ideasonboard.com> 
>> (maintainer:ANALOG
>> DEVICES INC ADV748X DRIVER),Mauro Carvalho Chehab <mchehab@kernel.org>
>> (maintainer:MEDIA INPUT INFRASTRUCTURE
>> (V4L/DVB)),linux-media@vger.kernel.org (open list:ANALOG DEVICES INC
>> ADV748X DRIVER),linux-kernel@vger.kernel.org (open
>> list),platform-driver-x86@vger.kernel.org (open list:ACPI WMI DRIVER)
>>      Maintained,Buried alive in reporters,Orphan
>>      ANALOG DEVICES INC ADV748X DRIVER,MEDIA INPUT INFRASTRUCTURE
>> (V4L/DVB),THE REST,ACPI WMI DRIVER
>> 
>> I'd like to run the script with all files but separated output, like
>> this:
>> 
>>      $ scripts/get_maintainer.pl --subsystem --status --separator ','
>> --separate-files drivers/media/i2c/adv748x/ include/uapi/linux/wmi.h
>>      Kieran Bingham <kieran.bingham@ideasonboard.com> 
>> (maintainer:ANALOG
>> DEVICES INC ADV748X DRIVER),Mauro Carvalho Chehab <mchehab@kernel.org>
>> (maintainer:MEDIA INPUT INFRASTRUCTURE
>> (V4L/DVB)),linux-media@vger.kernel.org (open list:ANALOG DEVICES INC
>> ADV748X DRIVER),linux-kernel@vger.kernel.org (open list)
>>      Maintained,Buried alive in reporters
>>      ANALOG DEVICES INC ADV748X DRIVER,MEDIA INPUT INFRASTRUCTURE
>> (V4L/DVB),THE REST
>> 
>>      platform-driver-x86@vger.kernel.org (open list:ACPI WMI
>> DRIVER),linux-kernel@vger.kernel.org (open list)
>>      Orphan,Buried alive in reporters
>>      ACPI WMI DRIVER,THE REST
>> 
>> 
>> My Questions are:
>> 1. How can I make get_maintainer's output to be more table-like?
> 
> I suggest adding --nogit --nogit-fallback --roles --norolestats
> 
>> 2. How can I make get_maintainer.pl to separate each file's output?
> 
> Run the script with multiple invocations. once for each file
> modified by the patch.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: get_maintainers.pl subsystem output
  2019-07-23  7:29   ` Duda, Sebastian
@ 2019-07-23  8:42     ` Lukas Bulwahn
  2019-07-23 11:18       ` Joe Perches
  2019-07-23 11:54     ` Joe Perches
  1 sibling, 1 reply; 10+ messages in thread
From: Lukas Bulwahn @ 2019-07-23  8:42 UTC (permalink / raw)
  To: Duda, Sebastian
  Cc: Joe Perches, Linux Kernel Mailing List, Ralf Ramsauer, Wolfgang Mauerer

Hi Sebastian, Hi Joe,

On Tue, Jul 23, 2019 at 9:30 AM Duda, Sebastian <sebastian.duda@fau.de> wrote:
>
> Hi Joe,
>
> when analyzing the patch
> `<20150128012747.824898918@linuxfoundation.org>` [1] with
> `get_maintainers.pl --subsystem --status --separator , /tmp/patch`,
> there is the following output:
>
>      Chris Mason <clm@fb.com> (maintainer:BTRFS FILE SYSTEM),Josef Bacik
> <jbacik@fb.com> (maintainer:BTRFS FILE SYSTEM),David Sterba
> <dsterba@suse.cz> (maintainer:BTRFS FILE SYSTEM),Alexander Viro
> <viro@zeniv.linux.org.uk> (maintainer:FILESYSTEMS (VFS and
> infrastructure)),"Theodore Ts'o" <tytso@mit.edu> (maintainer:EXT4 FILE
> SYSTEM),Andreas Dilger <adilger.kernel@dilger.ca> (maintainer:EXT4 FILE
> SYSTEM),Jaegeuk Kim <jaegeuk@kernel.org> (maintainer:F2FS FILE
> SYSTEM),Changman Lee <cm224.lee@samsung.com> (maintainer:F2FS FILE
> SYSTEM),Miklos Szeredi <miklos@szeredi.hu> (maintainer:FUSE: FILESYSTEM
> IN USERSPACE),Steven Whitehouse <swhiteho@redhat.com> (supporter:GFS2
> FILE SYSTEM),Anton Altaparmakov <anton@tuxera.com> (supporter:NTFS
> FILESYSTEM),Hugh Dickins <hughd@google.com> (maintainer:TMPFS (SHMEM
> FILESYSTEM)),linux-btrfs@vger.kernel.org (open list:BTRFS FILE
> SYSTEM),linux-kernel@vger.kernel.org (open
> list),linux-fsdevel@vger.kernel.org (open list:FILESYSTEMS (VFS and
> infrastructure)),linux-ext4@vger.kernel.org (open list:EXT4 FILE
> SYSTEM),linux-f2fs-devel@lists.sourceforge.net (open list:F2FS FILE
> SYSTEM),fuse-devel@lists.sourceforge.net (open list:FUSE: FILESYSTEM IN
> USERSPACE),cluster-devel@redhat.com (open list:GFS2 FILE
> SYSTEM),linux-ntfs-dev@lists.sourceforge.net (open list:NTFS
> FILESYSTEM),linux-mm@kvack.org (open list:MEMORY MANAGEMENT)
>      Maintained,Buried alive in reporters,Supported
>      BTRFS FILE SYSTEM,THE REST,FILESYSTEMS (VFS and infrastructure),EXT4
> FILE SYSTEM,F2FS FILE SYSTEM,FUSE: FILESYSTEM IN USERSPACE,GFS2 FILE
> SYSTEM,NTFS FILESYSTEM,MEMORY MANAGEMENT,TMPFS (SHMEM FILESYSTEM)
>
> How can I parse this output automatically? or how can I generate a
> parsable output?
>
> I need the tuples of subsystems and status:
> (THE REST, Buried alive in reporters)
> (TMPFS, Maintained)
> (BTRFS FILE SYSTEM, Maintained)
> …
> (GFS2 FILE SYSTEM, Supported)
>
> I'm not aware how to reliably assign the statuses to the subsystems.
>

Joe, I hope this example makes more clear what and how Sebastian would
actually like to have the information from the MAINTAINERS file
presented for our use case. Currently, we would consider
get_maintainer.pl to be the proper place for such a feature in the
upstream development.

Joe, would you support and would you accept if we extend
get_maintainer.pl to provide output of the status in such a way that
the status output can be clearly mapped to the subsystem?
If so, we would try our best to extend the current script and sent
those patches back to lkml for review and inclusion.
If you do not support to extend get_maintainer.pl as we suggest, we
would probably simply write our own specific script (probably then in
python) to parse MAINTAINERS and extract and present the information
as we need for our use case.

Sebastian, Considering style of mail interaction, please do not use top posting:
If you want to answer to a specific point of the previous mail
discussion, keep only the relevant part for your answer (delete the
rest!) and answer inline.
If you start a new discussion and do not refer to any points of the
previous discussion very specifically, just delete the whole previous
discussion and do not resend the content of previous mails.


Best regards,

Lukas

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: get_maintainers.pl subsystem output
  2019-07-23  8:42     ` Lukas Bulwahn
@ 2019-07-23 11:18       ` Joe Perches
  2019-07-23 13:25         ` Lukas Bulwahn
  0 siblings, 1 reply; 10+ messages in thread
From: Joe Perches @ 2019-07-23 11:18 UTC (permalink / raw)
  To: Lukas Bulwahn, Duda, Sebastian
  Cc: Linux Kernel Mailing List, Ralf Ramsauer, Wolfgang Mauerer

On Tue, 2019-07-23 at 10:42 +0200, Lukas Bulwahn wrote:
> On Tue, Jul 23, 2019 at 9:30 AM Duda, Sebastian <sebastian.duda@fau.de> wrote:
> > when analyzing the patch
> > `<20150128012747.824898918@linuxfoundation.org>` [1] with
> > `get_maintainers.pl --subsystem --status --separator , /tmp/patch`,
> > there is the following output:
> > 
> >      Chris Mason <clm@fb.com> (maintainer:BTRFS FILE SYSTEM),Josef Bacik
> > <jbacik@fb.com> (maintainer:BTRFS FILE SYSTEM),David Sterba
> > <dsterba@suse.cz> (maintainer:BTRFS FILE SYSTEM),Alexander Viro
> > <viro@zeniv.linux.org.uk> (maintainer:FILESYSTEMS (VFS and
> > infrastructure)),"Theodore Ts'o" <tytso@mit.edu> (maintainer:EXT4 FILE
> > SYSTEM),Andreas Dilger <adilger.kernel@dilger.ca> (maintainer:EXT4 FILE
> > SYSTEM),Jaegeuk Kim <jaegeuk@kernel.org> (maintainer:F2FS FILE
> > SYSTEM),Changman Lee <cm224.lee@samsung.com> (maintainer:F2FS FILE
> > SYSTEM),Miklos Szeredi <miklos@szeredi.hu> (maintainer:FUSE: FILESYSTEM
> > IN USERSPACE),Steven Whitehouse <swhiteho@redhat.com> (supporter:GFS2
> > FILE SYSTEM),Anton Altaparmakov <anton@tuxera.com> (supporter:NTFS
> > FILESYSTEM),Hugh Dickins <hughd@google.com> (maintainer:TMPFS (SHMEM
> > FILESYSTEM)),linux-btrfs@vger.kernel.org (open list:BTRFS FILE
> > SYSTEM),linux-kernel@vger.kernel.org (open
> > list),linux-fsdevel@vger.kernel.org (open list:FILESYSTEMS (VFS and
> > infrastructure)),linux-ext4@vger.kernel.org (open list:EXT4 FILE
> > SYSTEM),linux-f2fs-devel@lists.sourceforge.net (open list:F2FS FILE
> > SYSTEM),fuse-devel@lists.sourceforge.net (open list:FUSE: FILESYSTEM IN
> > USERSPACE),cluster-devel@redhat.com (open list:GFS2 FILE
> > SYSTEM),linux-ntfs-dev@lists.sourceforge.net (open list:NTFS
> > FILESYSTEM),linux-mm@kvack.org (open list:MEMORY MANAGEMENT)
> >      Maintained,Buried alive in reporters,Supported
> >      BTRFS FILE SYSTEM,THE REST,FILESYSTEMS (VFS and infrastructure),EXT4
> > FILE SYSTEM,F2FS FILE SYSTEM,FUSE: FILESYSTEM IN USERSPACE,GFS2 FILE
> > SYSTEM,NTFS FILESYSTEM,MEMORY MANAGEMENT,TMPFS (SHMEM FILESYSTEM)
> > 
> > How can I parse this output automatically? or how can I generate a
> > parsable output?
[]
> > I need the tuples of subsystems and status:
> > (THE REST, Buried alive in reporters)
> > (TMPFS, Maintained)
> > (BTRFS FILE SYSTEM, Maintained)
> > …
> > (GFS2 FILE SYSTEM, Supported)
> > 
> > I'm not aware how to reliably assign the statuses to the subsystems.

Again, run the script using the individual files
contained in a patch
instead of the entire patch.

I again suggest using gnu parallel.

> Joe, I hope this example makes more clear what and how Sebastian would
> actually like to have the information from the MAINTAINERS file
> presented for our use case. Currently, we would consider
> get_maintainer.pl to be the proper place for such a feature in the
> upstream development.

I believe I understand how you want to use
the get_maintainer script output.

> Joe, would you support and would you accept if we extend
> get_maintainer.pl to provide output of the status in such a way that
> the status output can be clearly mapped to the subsystem?

Not really, no.  I don't see much value in your
request to others.  It seems you are doing some
academic work rather than actually using it for
sending patches.

You are of course welcome to extexd the script
in whatever manner you need for your own use,
but even here, I don't believe you need to do
anything to the script but change how you use it.




^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: get_maintainers.pl subsystem output
  2019-07-23  7:29   ` Duda, Sebastian
  2019-07-23  8:42     ` Lukas Bulwahn
@ 2019-07-23 11:54     ` Joe Perches
  1 sibling, 0 replies; 10+ messages in thread
From: Joe Perches @ 2019-07-23 11:54 UTC (permalink / raw)
  To: Duda, Sebastian
  Cc: linux-kernel, lukas.bulwahn, ralf.ramsauer, wolfgang.mauerer

On Tue, 2019-07-23 at 09:29 +0200, Duda, Sebastian wrote:
> Hi Joe,
> 
> when analyzing the patch 
> `<20150128012747.824898918@linuxfoundation.org>` [1] with 

https://lore.kernel.org/lkml/220150128012747.824898918@linuxfoundation.org

> `get_maintainers.pl --subsystem --status --separator , /tmp/patch`, 
> there is the following output:

[]

> > Run the script with multiple invocations. once for each file
> > modified by the patch.

For example: perhaps use something like:

$ grep -h '^\+\+\+ b/' <patch> | \
  sed 's@^\+\+\+ b/@@' | sort | uniq | \
  while read file ; do \
    ./scripts/get_maintainer.pl --nogit --nogit-fallback --subsystem --status --separator , $file ; \
  done

or use parallel like:

$ grep -h '^\+\+\+ b/' <patch> | \
  sed 's@^\+\+\+ b/@@' | sort | uniq | \
  parallel -k ./scripts/get_maintainer.pl --nogit --nogit-fallback --subsystem --status --separator ,

runtime on my system for this is

Using while read loop:

real	0m2.509s
user	0m2.236s
sys	0m0.296s

Using parallel:

real	0m1.340s
user	0m4.159s
sys	0m0.429s



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: get_maintainers.pl subsystem output
  2019-07-23 11:18       ` Joe Perches
@ 2019-07-23 13:25         ` Lukas Bulwahn
  2019-07-23 13:33           ` Joe Perches
  0 siblings, 1 reply; 10+ messages in thread
From: Lukas Bulwahn @ 2019-07-23 13:25 UTC (permalink / raw)
  To: Joe Perches
  Cc: Duda, Sebastian, Linux Kernel Mailing List, Ralf Ramsauer,
	Wolfgang Mauerer

Hi Joe,

On Tue, Jul 23, 2019 at 1:18 PM Joe Perches <joe@perches.com> wrote:
>
> On Tue, 2019-07-23 at 10:42 +0200, Lukas Bulwahn wrote:
[...]
> > Joe, would you support and would you accept if we extend
> > get_maintainer.pl to provide output of the status in such a way that
> > the status output can be clearly mapped to the subsystem?
>
> Not really, no.  I don't see much value in your
> request to others.  It seems you are doing some
> academic work rather than actually using it for
> sending patches.
>

Thank you for that indication. It is good to know that our use case is
too special to be covered in the existing tool and serves no one else
besides our research work.

> You are of course welcome to extexd the script
> in whatever manner you need for your own use,
> but even here, I don't believe you need to do
> anything to the script but change how you use it.
>

Okay, I now understood your suggestion how to use it. Sebastian and I
will investigate and discuss this further off-list.

Lukas

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: get_maintainers.pl subsystem output
  2019-07-23 13:25         ` Lukas Bulwahn
@ 2019-07-23 13:33           ` Joe Perches
  0 siblings, 0 replies; 10+ messages in thread
From: Joe Perches @ 2019-07-23 13:33 UTC (permalink / raw)
  To: Lukas Bulwahn
  Cc: Duda, Sebastian, Linux Kernel Mailing List, Ralf Ramsauer,
	Wolfgang Mauerer

On Tue, 2019-07-23 at 15:25 +0200, Lukas Bulwahn wrote:
> Hi Joe,

Hi again.

> On Tue, Jul 23, 2019 at 1:18 PM Joe Perches <joe@perches.com> wrote:
> > On Tue, 2019-07-23 at 10:42 +0200, Lukas Bulwahn wrote:
> [...]
> > > Joe, would you support and would you accept if we extend
> > > get_maintainer.pl to provide output of the status in such a way that
> > > the status output can be clearly mapped to the subsystem?
> > 
> > Not really, no.  I don't see much value in your
> > request to others.  It seems you are doing some
> > academic work rather than actually using it for
> > sending patches.
> > 
> 
> Thank you for that indication. It is good to know that our use case is
> too special to be covered in the existing tool and serves no one else
> besides our research work.

Seems a bit harsh a description, and yes, I've
not ever seen a single request similar to yours
to use get_maintainer in such a manner.



^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2019-07-23 13:33 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-07-19  7:35 get_maintainers.pl subsystem output Duda, Sebastian
2019-07-19  8:50 ` Joe Perches
2019-07-19  9:54   ` Duda, Sebastian
2019-07-19 14:31     ` Joe Perches
2019-07-23  7:29   ` Duda, Sebastian
2019-07-23  8:42     ` Lukas Bulwahn
2019-07-23 11:18       ` Joe Perches
2019-07-23 13:25         ` Lukas Bulwahn
2019-07-23 13:33           ` Joe Perches
2019-07-23 11:54     ` Joe Perches

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).