1. 12 10月, 2016 13 次提交
  2. 08 10月, 2016 2 次提交
  3. 29 9月, 2016 1 次提交
  4. 22 9月, 2016 1 次提交
    • S
      ftrace/scripts: Add helper script to bisect function tracing problem functions · 951dbf50
      Steven Rostedt (Red Hat) 提交于
      Every so often, with a special config or a architecture change, running
      function or function_graph tracing can cause the machien to hard reboot,
      crash, or simply hard lockup. There's some functions in the function graph
      tracer that can not be traced otherwise it causes the function tracer to
      recurse before the recursion protection mechanisms are in place.
      
      When this occurs, using the dynamic ftrace featuer that allows limiting what
      actually gets traced can be used to bisect down to the problem function.
      This adds a script that helps with this process in the scripts/tracing
      directory, called ftrace-bisect.sh
      
      The set up is to read all the functions that can be traced from
      available_filter_functions into a file (full_file). Then run this script
      passing it the full_file and a "test_file" and "non_test_file", where the
      test_file will be add to set_ftrace_filter. What ftarce_bisect.sh does, is
      to copy half of the functions in full_file into the test_file and the other
      half into the non_test_file. This way, one can cat the test_file into the
      set_ftrace_filter functions and only test the functions that are in that
      file. If it works, then we run the process again after copying non_test_file
      to full_file and repeating the process. If the system crashed, then the bad
      function is in the test_file and after a reboot, the test_file becomes the
      new full_file in the next iteration.
      
      When we get down to a single function in the full_file, then
      ftrace_bisect.sh will report that as the bad function.
      
      Full documentation of how to use this simple script is within the script
      file itself.
      
      Link: http://lkml.kernel.org/r/20160920100716.131d3647@gandalf.local.homeSigned-off-by: NSteven Rostedt <rostedt@goodmis.org>
      951dbf50
  5. 20 9月, 2016 3 次提交
  6. 06 9月, 2016 2 次提交
  7. 02 9月, 2016 1 次提交
  8. 01 9月, 2016 2 次提交
    • M
      docs-rst: kernel-doc: fix typedef output in RST format · 82801d06
      Mauro Carvalho Chehab 提交于
      When using a typedef function like this one:
      	typedef bool v4l2_check_dv_timings_fnc (const struct v4l2_dv_timings * t, void * handle);
      
      The Sphinx C domain expects it to create a c:type: reference,
      as that's the way it creates the type references when parsing
      a c:function:: declaration.
      
      So, a declaration like:
      
      	.. c:function:: bool v4l2_valid_dv_timings (const struct v4l2_dv_timings * t, const struct v4l2_dv_timings_cap * cap, v4l2_check_dv_timings_fnc fnc, void * fnc_handle)
      
      Will create a cross reference for :c:type:`v4l2_check_dv_timings_fnc`.
      
      So, when outputting such typedefs in RST format, we need to handle
      this special case, as otherwise it will produce those warnings:
      
      	./include/media/v4l2-dv-timings.h:43: WARNING: c:type reference target not found: v4l2_check_dv_timings_fnc
      	./include/media/v4l2-dv-timings.h:60: WARNING: c:type reference target not found: v4l2_check_dv_timings_fnc
      	./include/media/v4l2-dv-timings.h:81: WARNING: c:type reference target not found: v4l2_check_dv_timings_fnc
      
      So, change the kernel-doc script to produce a RST output for the
      above typedef as:
      	.. c:type:: v4l2_check_dv_timings_fnc
      
      	   **Typedef**: timings check callback
      
      	**Syntax**
      
      	  ``bool v4l2_check_dv_timings_fnc (const struct v4l2_dv_timings * t, void * handle);``
      Signed-off-by: NMauro Carvalho Chehab <mchehab@s-opensource.com>
      Signed-off-by: NJonathan Corbet <corbet@lwn.net>
      82801d06
    • M
      docs-rst: improve typedef parser · d37c43ce
      Mauro Carvalho Chehab 提交于
      Improve the parser to handle typedefs like:
      
      	typedef bool v4l2_check_dv_timings_fnc(const struct v4l2_dv_timings *t, void *handle);
      Signed-off-by: NMauro Carvalho Chehab <mchehab@s-opensource.com>
      Signed-off-by: NJonathan Corbet <corbet@lwn.net>
      d37c43ce
  9. 31 8月, 2016 3 次提交
  10. 28 8月, 2016 5 次提交
  11. 27 8月, 2016 2 次提交
  12. 25 8月, 2016 1 次提交
    • M
      docs-rst: kernel-doc: better output struct members · 6d232c80
      Mauro Carvalho Chehab 提交于
      Right now, for a struct, kernel-doc produces the following output:
      
      	.. c:type:: struct v4l2_prio_state
      
      	   stores the priority states
      
      	**Definition**
      
      	::
      
      	  struct v4l2_prio_state {
      	    atomic_t prios[4];
      	  };
      
      	**Members**
      
      	``atomic_t prios[4]``
      	  array with elements to store the array priorities
      
      Putting a member name in verbatim and adding a continuation line
      causes the LaTeX output to generate something like:
      	item[atomic_t prios\[4\]] array with elements to store the array priorities
      
      Everything inside "item" is non-breakable, with may produce
      lines bigger than the column width.
      
      Also, for function members, like:
      
              int (* rx_read) (struct v4l2_subdev *sd, u8 *buf, size_t count,ssize_t *num);
      
      It puts the name of the member at the end, like:
      
              int (*) (struct v4l2_subdev *sd, u8 *buf, size_t count,ssize_t *num) read
      
      With is very confusing.
      
      The best is to highlight what really matters: the member name.
      is a secondary information.
      
      So, change kernel-doc, for it to produce the output on a different way:
      
      	**Members**
      
      	``prios[4]``
      
      	  array with elements to store the array priorities
      
      Also, as the type is not part of LaTeX "item[]", LaTeX will split it into
      multiple lines, if needed.
      
      So, both LaTeX/PDF and HTML outputs will look good.
      
      It should be noticed, however, that the way Sphinx LaTeX output handles
      things like:
      
      	Foo
      	   bar
      
      is different than the HTML output. On HTML, it will produce something
      like:
      
      	**Foo**
      	   bar
      
      While, on LaTeX, it puts both foo and bar at the same line, like:
      
      	**Foo** bar
      Signed-off-by: NMauro Carvalho Chehab <mchehab@s-opensource.com>
      Signed-off-by: NJonathan Corbet <corbet@lwn.net>
      6d232c80
  13. 23 8月, 2016 1 次提交
  14. 19 8月, 2016 1 次提交
  15. 16 8月, 2016 1 次提交
  16. 11 8月, 2016 1 次提交