In [51]:
import pandas as pd
blame_raw = pd.DataFrame([
    r"76d034edcf658 Documentation/scheduler/sched-pelt.c (Yuyang Du 2017-02-13 05:44:22 +0800   1) /*",
    r"76d034edcf658 Documentation/scheduler/sched-pelt.c (Yuyang Du (Corp) 2017-02-13 05:44:22 +0800   1) /*",
    r"76d034edcf658 Documentation/scheduler/sched-pelt.c (Yuyang Du 2017-02-13 05:44:22 +0800   1) /*"],
    columns=['raw'])
blame_raw


Out[51]:
raw
0 76d034edcf658 Documentation/scheduler/sched-pe...
1 76d034edcf658 Documentation/scheduler/sched-pe...
2 76d034edcf658 Documentation/scheduler/sched-pe...

In [52]:
PATH = r"C:/Temp/linux_blame.log"
PATH = r"C:\Users\Markus\Downloads\linux_blame_temp.tar.gz"
blame_raw = pd.read_csv(PATH, sep="\u0012", names=["raw"], encoding="latin-1")
blame_raw.head()


Out[52]:
raw
0 linux_blame_temp.log
1 NaN
2 889d0d42667c9 drivers/scsi/bfa/bfad_drv.h (Ani...
3 889d0d42667c9 drivers/scsi/bfa/bfad_drv.h (Ani...
4 7725ccfda5971 drivers/scsi/bfa/bfad_drv.h (Jin...

In [53]:
blame = \
  blame_raw.raw.str.extract(
      "(?P<sha>.*?) (?P<path>.*?) \((?P<author>.* ?) (?P<timestamp>[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2} .[0-9]{4}) *(?P<line>[0-9]*)\) .*",
      expand=True)
blame.head()


Out[53]:
sha path author timestamp line
0 NaN NaN NaN NaN NaN
1 NaN NaN NaN NaN NaN
2 889d0d42667c9 drivers/scsi/bfa/bfad_drv.h Anil Gurumurthy 2015-11-26 03:54:45 -0500 2
3 889d0d42667c9 drivers/scsi/bfa/bfad_drv.h Anil Gurumurthy 2015-11-26 03:54:45 -0500 3
4 7725ccfda5971 drivers/scsi/bfa/bfad_drv.h Jing Huang 2009-09-23 17:46:15 -0700 4

In [54]:
print(len(blame))
blame = blame.dropna()
print(len(blame))
blame.head()


5665949
5665946
Out[54]:
sha path author timestamp line
2 889d0d42667c9 drivers/scsi/bfa/bfad_drv.h Anil Gurumurthy 2015-11-26 03:54:45 -0500 2
3 889d0d42667c9 drivers/scsi/bfa/bfad_drv.h Anil Gurumurthy 2015-11-26 03:54:45 -0500 3
4 7725ccfda5971 drivers/scsi/bfa/bfad_drv.h Jing Huang 2009-09-23 17:46:15 -0700 4
5 889d0d42667c9 drivers/scsi/bfa/bfad_drv.h Anil Gurumurthy 2015-11-26 03:54:45 -0500 5
6 7725ccfda5971 drivers/scsi/bfa/bfad_drv.h Jing Huang 2009-09-23 17:46:15 -0700 6

In [55]:
blame['author'] = blame.author.str.strip()
blame['line'] = pd.to_numeric(blame.line)
blame.head()


Out[55]:
sha path author timestamp line
2 889d0d42667c9 drivers/scsi/bfa/bfad_drv.h Anil Gurumurthy 2015-11-26 03:54:45 -0500 2
3 889d0d42667c9 drivers/scsi/bfa/bfad_drv.h Anil Gurumurthy 2015-11-26 03:54:45 -0500 3
4 7725ccfda5971 drivers/scsi/bfa/bfad_drv.h Jing Huang 2009-09-23 17:46:15 -0700 4
5 889d0d42667c9 drivers/scsi/bfa/bfad_drv.h Anil Gurumurthy 2015-11-26 03:54:45 -0500 5
6 7725ccfda5971 drivers/scsi/bfa/bfad_drv.h Jing Huang 2009-09-23 17:46:15 -0700 6

In [56]:
blame.info(memory_usage="deep")


<class 'pandas.core.frame.DataFrame'>
Int64Index: 5665946 entries, 2 to 5665947
Data columns (total 5 columns):
sha          object
path         object
author       object
timestamp    object
line         int64
dtypes: int64(1), object(4)
memory usage: 1.8 GB

In [57]:
blame.sha = pd.Categorical(blame.sha)
blame.path = pd.Categorical(blame.path)
blame.author = pd.Categorical(blame.author)
blame.timestamp = pd.Categorical(blame.timestamp)
blame.info(memory_usage="deep")


<class 'pandas.core.frame.DataFrame'>
Int64Index: 5665946 entries, 2 to 5665947
Data columns (total 5 columns):
sha          category
path         category
author       category
timestamp    category
line         int64
dtypes: category(4), int64(1)
memory usage: 171.7 MB

In [58]:
blame.info()


<class 'pandas.core.frame.DataFrame'>
Int64Index: 5665946 entries, 2 to 5665947
Data columns (total 5 columns):
sha          category
path         category
author       category
timestamp    category
line         int64
dtypes: category(4), int64(1)
memory usage: 158.3 MB

In [59]:
%matplotlib inline
blame.line.value_counts().plot()


Out[59]:
<matplotlib.axes._subplots.AxesSubplot at 0x152f4102fd0>

In [60]:
blame.sha.nunique()


Out[60]:
94957

In [61]:
blame.author.value_counts().head(10)


Out[61]:
Linus Torvalds           838200
Hans Verkuil             118432
Mauro Carvalho Chehab    102107
Michael Chan              53945
Mike Marciniszyn          44843
Ralph Campbell            42453
Nicholas Bellinger        41823
Laurent Pinchart          40438
Antti Palosaari           40390
Alexander Duyck           39307
Name: author, dtype: int64

In [62]:
blame.path.nunique()


Out[62]:
10235

In [63]:
blame.timestamp = pd.to_datetime(blame.timestamp.str.strip())

In [64]:
blame.timestamp.dt.hour.value_counts(sort=False).plot.bar()


Out[64]:
<matplotlib.axes._subplots.AxesSubplot at 0x152f29fc7f0>

In [65]:
blame.timestamp.dt.year.value_counts(sort=False).plot.bar()


Out[65]:
<matplotlib.axes._subplots.AxesSubplot at 0x1520a643278>

In [66]:
blame.timestamp.nsmallest()


Out[66]:
771872   2002-04-09 19:14:34
771879   2002-04-09 19:14:34
771880   2002-04-09 19:14:34
771881   2002-04-09 19:14:34
771882   2002-04-09 19:14:34
Name: timestamp, dtype: datetime64[ns]

In [68]:
blame.head()


Out[68]:
sha path author timestamp line
2 889d0d42667c9 drivers/scsi/bfa/bfad_drv.h Anil Gurumurthy 2015-11-26 08:54:45 2
3 889d0d42667c9 drivers/scsi/bfa/bfad_drv.h Anil Gurumurthy 2015-11-26 08:54:45 3
4 7725ccfda5971 drivers/scsi/bfa/bfad_drv.h Jing Huang 2009-09-24 00:46:15 4
5 889d0d42667c9 drivers/scsi/bfa/bfad_drv.h Anil Gurumurthy 2015-11-26 08:54:45 5
6 7725ccfda5971 drivers/scsi/bfa/bfad_drv.h Jing Huang 2009-09-24 00:46:15 6

In [143]:
t = knowledge_loss.iloc[:2].timestamp

unix = t.astype('int64')
pd.to_datetime(unix)
unix


Out[143]:
2    1448528085000000000
3    1448528085000000000
Name: timestamp, dtype: int64

In [152]:
knowledge_loss = blame[['path', 'author', 'timestamp', 'line']].copy()
knowledge_loss.author = knowledge_loss.author.str.split(",")[::-1].str.join("")
knowledge_loss.timestamp = knowledge_loss.timestamp.astype('int64')
knowledge_loss = knowledge_loss.reset_index(drop=True)
knowledge_loss.head()


Out[152]:
path author timestamp line
0 drivers/scsi/bfa/bfad_drv.h Anil Gurumurthy 1448528085000000000 2
1 drivers/scsi/bfa/bfad_drv.h Anil Gurumurthy 1448528085000000000 3
2 drivers/scsi/bfa/bfad_drv.h Jing Huang 1253753175000000000 4
3 drivers/scsi/bfa/bfad_drv.h Anil Gurumurthy 1448528085000000000 5
4 drivers/scsi/bfa/bfad_drv.h Jing Huang 1253753175000000000 6

In [153]:
#knowledge_loss.to_csv("linux_blame_log.csv", encoding='utf-8', index=None)

In [259]:
git_blame = pd.read_csv("linux_blame_log.csv")
git_blame.head()


Out[259]:
path author timestamp line
0 drivers/scsi/bfa/bfad_drv.h Anil Gurumurthy 1448528085000000000 1
1 drivers/scsi/bfa/bfad_drv.h Anil Gurumurthy 1448528085000000000 2
2 drivers/scsi/bfa/bfad_drv.h Anil Gurumurthy 1448528085000000000 3
3 drivers/scsi/bfa/bfad_drv.h Jing Huang 1253753175000000000 4
4 drivers/scsi/bfa/bfad_drv.h Anil Gurumurthy 1448528085000000000 5

In [264]:
git_blame.info(memory_usage='deep')


<class 'pandas.core.frame.DataFrame'>
RangeIndex: 5665947 entries, 0 to 5665946
Data columns (total 4 columns):
path         category
author       category
timestamp    datetime64[ns]
line         int64
dtypes: category(2), datetime64[ns](1), int64(1)
memory usage: 109.9 MB

In [265]:
git_blame.path = pd.Categorical(git_blame.path)
git_blame.author = pd.Categorical(git_blame.author)
git_blame.timestamp = pd.to_datetime(git_blame.timestamp)
git_blame.info(memory_usage='deep')


<class 'pandas.core.frame.DataFrame'>
RangeIndex: 5665947 entries, 0 to 5665946
Data columns (total 4 columns):
path         category
author       category
timestamp    datetime64[ns]
line         int64
dtypes: category(2), datetime64[ns](1), int64(1)
memory usage: 109.9 MB

In [266]:
df.head()


Out[266]:
path author timestamp line
0 drivers/scsi/bfa/bfad_drv.h Anil Gurumurthy 2015-11-26 08:54:45 1
1 drivers/scsi/bfa/bfad_drv.h Anil Gurumurthy 2015-11-26 08:54:45 2
2 drivers/scsi/bfa/bfad_drv.h Anil Gurumurthy 2015-11-26 08:54:45 3
3 drivers/scsi/bfa/bfad_drv.h Jing Huang 2009-09-24 00:46:15 4
4 drivers/scsi/bfa/bfad_drv.h Anil Gurumurthy 2015-11-26 08:54:45 5

In [171]:
a_year_ago = pd.Timestamp("now") - pd.DateOffset(years=1)
a_year_ago


Out[171]:
Timestamp('2017-04-19 08:17:56.637322')

In [172]:
df['knowledge'] = df.timestamp >= a_year_ago
df.knowledge.value_counts().plot.pie()


Out[172]:
<matplotlib.axes._subplots.AxesSubplot at 0x1530a0ac278>

In [268]:
df.kno


---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
C:\dev\apps\Anaconda3\lib\site-packages\pandas\core\indexes\base.py in get_loc(self, key, method, tolerance)
   2524             try:
-> 2525                 return self._engine.get_loc(key)
   2526             except KeyError:

pandas/_libs/index.pyx in pandas._libs.index.IndexEngine.get_loc()

pandas/_libs/index.pyx in pandas._libs.index.IndexEngine.get_loc()

pandas/_libs/hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item()

pandas/_libs/hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item()

KeyError: 'knowledge'

During handling of the above exception, another exception occurred:

KeyError                                  Traceback (most recent call last)
<ipython-input-268-f176cafc5de7> in <module>()
----> 1 df['knowledge'] == True / df['knowledge']

C:\dev\apps\Anaconda3\lib\site-packages\pandas\core\frame.py in __getitem__(self, key)
   2137             return self._getitem_multilevel(key)
   2138         else:
-> 2139             return self._getitem_column(key)
   2140 
   2141     def _getitem_column(self, key):

C:\dev\apps\Anaconda3\lib\site-packages\pandas\core\frame.py in _getitem_column(self, key)
   2144         # get column
   2145         if self.columns.is_unique:
-> 2146             return self._get_item_cache(key)
   2147 
   2148         # duplicate columns & possible reduce dimensionality

C:\dev\apps\Anaconda3\lib\site-packages\pandas\core\generic.py in _get_item_cache(self, item)
   1840         res = cache.get(item)
   1841         if res is None:
-> 1842             values = self._data.get(item)
   1843             res = self._box_item_values(item, values)
   1844             cache[item] = res

C:\dev\apps\Anaconda3\lib\site-packages\pandas\core\internals.py in get(self, item, fastpath)
   3841 
   3842             if not isna(item):
-> 3843                 loc = self.items.get_loc(item)
   3844             else:
   3845                 indexer = np.arange(len(self.items))[isna(self.items)]

C:\dev\apps\Anaconda3\lib\site-packages\pandas\core\indexes\base.py in get_loc(self, key, method, tolerance)
   2525                 return self._engine.get_loc(key)
   2526             except KeyError:
-> 2527                 return self._engine.get_loc(self._maybe_cast_indexer(key))
   2528 
   2529         indexer = self.get_indexer([key], method=method, tolerance=tolerance)

pandas/_libs/index.pyx in pandas._libs.index.IndexEngine.get_loc()

pandas/_libs/index.pyx in pandas._libs.index.IndexEngine.get_loc()

pandas/_libs/hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item()

pandas/_libs/hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item()

KeyError: 'knowledge'

In [212]:
knowledge = df[df.knowledge]
ratio = knowledge.groupby('author').line.count() / len(knowledge)
ratio.nlargest(10)


Out[212]:
author
Anirudh Venkataramanan    0.035255
Daniel Scheller           0.031052
Yasunari Takiguchi        0.024187
Aviad Krawczyk            0.023526
Stanimir Varbanov         0.020556
Salil                     0.019973
Mika Westerberg           0.016489
Todor Tomov               0.015828
Jakub Kicinski            0.015367
Tomer Tayar               0.012627
Name: line, dtype: float64

In [182]:
knowledge = df[df.knowledge]
ratio = knowledge.groupby('author').line.count() / len(knowledge)
ratio.nlargest(10)


Out[182]:
author
Anirudh Venkataramanan    0.035255
Daniel Scheller           0.031052
Yasunari Takiguchi        0.024187
Aviad Krawczyk            0.023526
Stanimir Varbanov         0.020556
Salil                     0.019973
Mika Westerberg           0.016489
Todor Tomov               0.015828
Jakub Kicinski            0.015367
Tomer Tayar               0.012627
Name: line, dtype: float64

In [205]:
ratio.sort_values(ascending=False).plot()


Out[205]:
<matplotlib.axes._subplots.AxesSubplot at 0x1535b60fa90>

In [211]:
ratio.describe()


Out[211]:
count    1336.000000
mean        0.000749
std         0.002354
min         0.000002
25%         0.000011
50%         0.000063
75%         0.000457
max         0.035255
Name: line, dtype: float64

In [225]:
df['component'] = df.path.str.rsplit("/", n=1).str[0]
df.head()


Out[225]:
path author timestamp line knowledge component
0 drivers/scsi/bfa/bfad_drv.h Anil Gurumurthy 2015-11-26 08:54:45 1 False drivers/scsi/bfa
1 drivers/scsi/bfa/bfad_drv.h Anil Gurumurthy 2015-11-26 08:54:45 2 False drivers/scsi/bfa
2 drivers/scsi/bfa/bfad_drv.h Anil Gurumurthy 2015-11-26 08:54:45 3 False drivers/scsi/bfa
3 drivers/scsi/bfa/bfad_drv.h Jing Huang 2009-09-24 00:46:15 4 False drivers/scsi/bfa
4 drivers/scsi/bfa/bfad_drv.h Anil Gurumurthy 2015-11-26 08:54:45 5 False drivers/scsi/bfa

In [267]:
knowledge_ratio = df.groupby('component')[['knowledge']].mean()
knowledge_ratio.knowledge


---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
<ipython-input-267-0a673baf9627> in <module>()
----> 1 knowledge_ratio = df.groupby('component')[['knowledge']].mean()
      2 knowledge_ratio.knowledge

C:\dev\apps\Anaconda3\lib\site-packages\pandas\core\generic.py in groupby(self, by, axis, level, as_index, sort, group_keys, squeeze, **kwargs)
   5160         return groupby(self, by=by, axis=axis, level=level, as_index=as_index,
   5161                        sort=sort, group_keys=group_keys, squeeze=squeeze,
-> 5162                        **kwargs)
   5163 
   5164     def asfreq(self, freq, method=None, how=None, normalize=False,

C:\dev\apps\Anaconda3\lib\site-packages\pandas\core\groupby.py in groupby(obj, by, **kwds)
   1846         raise TypeError('invalid type: %s' % type(obj))
   1847 
-> 1848     return klass(obj, by, **kwds)
   1849 
   1850 

C:\dev\apps\Anaconda3\lib\site-packages\pandas\core\groupby.py in __init__(self, obj, keys, axis, level, grouper, exclusions, selection, as_index, sort, group_keys, squeeze, **kwargs)
    514                                                     level=level,
    515                                                     sort=sort,
--> 516                                                     mutated=self.mutated)
    517 
    518         self.obj = obj

C:\dev\apps\Anaconda3\lib\site-packages\pandas\core\groupby.py in _get_grouper(obj, key, axis, level, sort, mutated, validate)
   2932                 in_axis, name, level, gpr = False, None, gpr, None
   2933             else:
-> 2934                 raise KeyError(gpr)
   2935         elif isinstance(gpr, Grouper) and gpr.key is not None:
   2936             # Add key to exclusions

KeyError: 'component'

In [246]:
df[df.path.str.startswith("drivers/media/common/videobuf")].sort_values(['path', 'line'])


Out[246]:
path author timestamp line knowledge component
1728295 drivers/media/common/videobuf/videobuf2-core.c Mauro Carvalho Chehab 2017-12-28 16:29:37 17 True drivers/media/common/videobuf
1728296 drivers/media/common/videobuf/videobuf2-core.c Mauro Carvalho Chehab 2017-12-28 16:29:37 18 True drivers/media/common/videobuf
1728318 drivers/media/common/videobuf/videobuf2-core.c Mauro Carvalho Chehab 2017-12-28 16:29:37 40 True drivers/media/common/videobuf
1728615 drivers/media/common/videobuf/videobuf2-core.c Mauro Carvalho Chehab 2017-12-28 14:16:47 337 True drivers/media/common/videobuf
1728616 drivers/media/common/videobuf/videobuf2-core.c Mauro Carvalho Chehab 2017-12-28 14:16:47 338 True drivers/media/common/videobuf
1728617 drivers/media/common/videobuf/videobuf2-core.c Mauro Carvalho Chehab 2017-12-28 14:16:47 339 True drivers/media/common/videobuf
1728618 drivers/media/common/videobuf/videobuf2-core.c Mauro Carvalho Chehab 2017-12-28 14:16:47 340 True drivers/media/common/videobuf
1728747 drivers/media/common/videobuf/videobuf2-core.c Mauro Carvalho Chehab 2017-12-28 16:29:37 469 True drivers/media/common/videobuf
1728749 drivers/media/common/videobuf/videobuf2-core.c Mauro Carvalho Chehab 2017-12-28 16:29:37 471 True drivers/media/common/videobuf
1728752 drivers/media/common/videobuf/videobuf2-core.c Mauro Carvalho Chehab 2017-12-28 16:29:37 474 True drivers/media/common/videobuf
1728773 drivers/media/common/videobuf/videobuf2-core.c Mauro Carvalho Chehab 2017-12-28 16:29:37 495 True drivers/media/common/videobuf
1728775 drivers/media/common/videobuf/videobuf2-core.c Mauro Carvalho Chehab 2017-12-28 16:29:37 497 True drivers/media/common/videobuf
1728778 drivers/media/common/videobuf/videobuf2-core.c Mauro Carvalho Chehab 2017-12-28 16:29:37 500 True drivers/media/common/videobuf
1728780 drivers/media/common/videobuf/videobuf2-core.c Mauro Carvalho Chehab 2017-12-28 16:29:37 502 True drivers/media/common/videobuf
1728784 drivers/media/common/videobuf/videobuf2-core.c Mauro Carvalho Chehab 2017-12-28 16:29:37 506 True drivers/media/common/videobuf
1728786 drivers/media/common/videobuf/videobuf2-core.c Mauro Carvalho Chehab 2017-12-28 16:29:37 508 True drivers/media/common/videobuf
1728789 drivers/media/common/videobuf/videobuf2-core.c Mauro Carvalho Chehab 2017-12-28 16:29:37 511 True drivers/media/common/videobuf
1728807 drivers/media/common/videobuf/videobuf2-core.c Satendra Singh Thakur 2017-12-28 16:29:35 529 True drivers/media/common/videobuf
1728949 drivers/media/common/videobuf/videobuf2-core.c Satendra Singh Thakur 2017-12-28 16:29:35 671 True drivers/media/common/videobuf
1728950 drivers/media/common/videobuf/videobuf2-core.c Satendra Singh Thakur 2017-12-28 16:29:35 672 True drivers/media/common/videobuf
1728984 drivers/media/common/videobuf/videobuf2-core.c Sakari Ailus 2017-12-28 14:18:20 706 True drivers/media/common/videobuf
1728985 drivers/media/common/videobuf/videobuf2-core.c Sakari Ailus 2017-12-28 14:18:20 707 True drivers/media/common/videobuf
1728986 drivers/media/common/videobuf/videobuf2-core.c Sakari Ailus 2017-12-28 14:18:20 708 True drivers/media/common/videobuf
1729939 drivers/media/common/videobuf/videobuf2-core.c Mauro Carvalho Chehab 2017-12-28 16:29:38 1661 True drivers/media/common/videobuf
1729940 drivers/media/common/videobuf/videobuf2-core.c Mauro Carvalho Chehab 2017-12-28 16:29:38 1662 True drivers/media/common/videobuf
1729941 drivers/media/common/videobuf/videobuf2-core.c Mauro Carvalho Chehab 2017-12-28 16:29:38 1663 True drivers/media/common/videobuf
1729943 drivers/media/common/videobuf/videobuf2-core.c Mauro Carvalho Chehab 2017-12-28 16:29:38 1665 True drivers/media/common/videobuf
1730295 drivers/media/common/videobuf/videobuf2-core.c Satendra Singh Thakur 2017-12-28 16:29:35 2017 True drivers/media/common/videobuf
1730296 drivers/media/common/videobuf/videobuf2-core.c Satendra Singh Thakur 2017-12-28 16:29:35 2018 True drivers/media/common/videobuf
1730825 drivers/media/common/videobuf/videobuf2-core.c Fengguang Wu 2017-12-28 17:26:20 2547 True drivers/media/common/videobuf
1729977 drivers/media/common/videobuf2/videobuf2-core.c Sakari Ailus 2018-02-02 10:08:59 1699 True drivers/media/common/videobuf2
1729978 drivers/media/common/videobuf2/videobuf2-core.c Sakari Ailus 2018-02-02 10:08:59 1700 True drivers/media/common/videobuf2
1729979 drivers/media/common/videobuf2/videobuf2-core.c Sakari Ailus 2018-02-02 10:08:59 1701 True drivers/media/common/videobuf2
1729980 drivers/media/common/videobuf2/videobuf2-core.c Sakari Ailus 2018-02-02 10:08:59 1702 True drivers/media/common/videobuf2
1729981 drivers/media/common/videobuf2/videobuf2-core.c Sakari Ailus 2018-02-02 10:08:59 1703 True drivers/media/common/videobuf2
1729982 drivers/media/common/videobuf2/videobuf2-core.c Sakari Ailus 2018-02-02 10:08:59 1704 True drivers/media/common/videobuf2
1729983 drivers/media/common/videobuf2/videobuf2-core.c Sakari Ailus 2018-02-02 10:08:59 1705 True drivers/media/common/videobuf2
1729984 drivers/media/common/videobuf2/videobuf2-core.c Sakari Ailus 2018-02-02 10:08:59 1706 True drivers/media/common/videobuf2
1729985 drivers/media/common/videobuf2/videobuf2-core.c Sakari Ailus 2018-02-02 10:08:59 1707 True drivers/media/common/videobuf2
1730328 drivers/media/common/videobuf2/videobuf2-core.c Linus Torvalds 2018-02-11 22:34:03 2050 True drivers/media/common/videobuf2
1730330 drivers/media/common/videobuf2/videobuf2-core.c Linus Torvalds 2018-02-11 22:34:03 2052 True drivers/media/common/videobuf2
1730338 drivers/media/common/videobuf2/videobuf2-core.c Linus Torvalds 2018-02-11 22:34:03 2060 True drivers/media/common/videobuf2
1730340 drivers/media/common/videobuf2/videobuf2-core.c Linus Torvalds 2018-02-11 22:34:03 2062 True drivers/media/common/videobuf2
1730343 drivers/media/common/videobuf2/videobuf2-core.c Linus Torvalds 2018-02-11 22:34:03 2065 True drivers/media/common/videobuf2
1730345 drivers/media/common/videobuf2/videobuf2-core.c Linus Torvalds 2018-02-11 22:34:03 2067 True drivers/media/common/videobuf2
1730349 drivers/media/common/videobuf2/videobuf2-core.c Linus Torvalds 2018-02-11 22:34:03 2071 True drivers/media/common/videobuf2
1730358 drivers/media/common/videobuf2/videobuf2-core.c Linus Torvalds 2018-02-11 22:34:03 2080 True drivers/media/common/videobuf2
1730362 drivers/media/common/videobuf2/videobuf2-core.c Linus Torvalds 2018-02-11 22:34:03 2084 True drivers/media/common/videobuf2
1730367 drivers/media/common/videobuf2/videobuf2-core.c Linus Torvalds 2018-02-11 22:34:03 2089 True drivers/media/common/videobuf2
1730368 drivers/media/common/videobuf2/videobuf2-core.c Linus Torvalds 2018-02-11 22:34:03 2090 True drivers/media/common/videobuf2
1730375 drivers/media/common/videobuf2/videobuf2-core.c Linus Torvalds 2018-02-11 22:34:03 2097 True drivers/media/common/videobuf2
1730383 drivers/media/common/videobuf2/videobuf2-core.c Linus Torvalds 2018-02-11 22:34:03 2105 True drivers/media/common/videobuf2
1730400 drivers/media/common/videobuf2/videobuf2-core.c Linus Torvalds 2018-02-11 22:34:03 2122 True drivers/media/common/videobuf2
1730401 drivers/media/common/videobuf2/videobuf2-core.c Linus Torvalds 2018-02-11 22:34:03 2123 True drivers/media/common/videobuf2
1726814 drivers/media/common/videobuf2/videobuf2-v4l2.c Linus Torvalds 2018-02-11 22:34:03 661 True drivers/media/common/videobuf2
1726839 drivers/media/common/videobuf2/videobuf2-v4l2.c Linus Torvalds 2018-02-11 22:34:03 686 True drivers/media/common/videobuf2
1726840 drivers/media/common/videobuf2/videobuf2-v4l2.c Linus Torvalds 2018-02-11 22:34:03 687 True drivers/media/common/videobuf2
1727077 drivers/media/common/videobuf2/videobuf2-v4l2.c Linus Torvalds 2018-02-11 22:34:03 924 True drivers/media/common/videobuf2
1731803 drivers/media/common/videobuf2/videobuf2-vmall... Masami Hiramatsu 2018-02-06 08:02:23 109 True drivers/media/common/videobuf2