Commit graph

505,617 commits

Author SHA1 Message Date
Benjamin Romer
027b8c5b8b staging: unisys: refactor resume_device()
Fix the function declaration so it is a single line. Fix CamelCase local
variable names:

busNo => bus_no
devNo => dev_no

Fix use of uuid_le_cmp() to check for 0 instead of using !uuid_le_cmp().

Signed-off-by: Bryan Thompson <bryan.thompson@unisys.com>
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-01-09 17:32:33 -08:00
Benjamin Romer
441a29a57e staging: unisys: refactor pause_device()
Fix the function declaration so it is on a single line. Fix CamelCase local
variables:

busNo => bus_no
devNo => dev_no

Fix use of uuid_le_cmp() to check for 0 instead of using !uuid_le_cmp().

Signed-off-by: Bryan Thompson <bryan.thompson@unisys.com>
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-01-09 17:32:33 -08:00
Benjamin Romer
8a05beb115 staging: unisys: refactor create_device()
OK, lets clean up this messy function. The entire thing is reflowed so spacing
and indentation is correct. Tests that created extra indentation were swapped
for equivalent negative tests that did not create extra indentation. Use of
cmp_uuid_le() were fixed to test specifically for the zero case, and not to
lazily use !cmp_uuid_le(). CamelCase local variable names were fixed:

busNo => bus_no
devNo => dev_no
minSize => min_size
pReqHandler => req_handler
Away => cleanup

Finally, the struct guest_msgs cmd declaration was moved to the beginning of
the function, and cringing and wincing at the function was significantly
reduced.

Signed-off-by: Bryan Thompson <bryan.thompson@unisys.com>
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-01-09 17:32:33 -08:00
Benjamin Romer
e6c15b7b1f staging: unisys: fix CamelCase in destroy_bus()
Fix the CamelCase local variable:

busNo => bus_no

Signed-off-by: Bryan Thompson <bryan.thompson@unisys.com>
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-01-09 17:32:33 -08:00
Benjamin Romer
d0500864c6 staging: unisys: fix CamelCase in create_bus()
Fix CamelCase local variable names:

busNo => bus_no
deviceCount => dev_count

Signed-off-by: Bryan Thompson <bryan.thompson@unisys.com>
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-01-09 17:32:32 -08:00
Benjamin Romer
eb4a146802 staging: unisys: refactor init_vbus_channel()
Clean up the function definition so it's a single line. Remove the unnecessary
goto statements and just return directly. Remove the unneeded local variable
for the return result. Fix CamelCase parameters and local variable names:

channelAddr => ch_addr
channelBytes => ch_bytes
pChan => ch

Signed-off-by: Bryan Thompson <bryan.thompson@unisys.com>
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-01-09 17:32:32 -08:00
Benjamin Romer
b98ab24cdf staging: unisys: fix CamelCase global variable names in uislib.c
Fix CamelCase names:

ProcReadBufferValid => debug_buf_valid
ProcReadBuffer => debug_buf
BusListHead => bus_list
BusListLock => bus_list_lock
BusListCount => bus_list_count
MaxBusCount => max_bus_count
PhysicalDataChan => phys_data_chan
PlatformNumber => platform_no
Incoming_ThreadInfo => incoming_ti
Incoming_Thread_Started => incoming_started
List_Polling_Device_Channels => poll_dev_chan
Lock_Polling_Device_Channels => poll_dev_lock
Wakeup_Polling_Device_Channels => poll_dev_wake_q
Go_Polling_Device_Channels => poll_dev_start

Signed-off-by: Bryan Thompson <bryan.thompson@unisys.com>
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-01-09 17:32:32 -08:00
Benjamin Romer
5f1b9e63ef staging: unisys: get rid of doubled assignment in uislib_mod_init()
Split the doubled assignment in uislib_mod_init() into two separate assignments.

Signed-off-by: Bryan Thompson <bryan.thompson@unisys.com>
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-01-09 17:32:32 -08:00
Benjamin Romer
2f652e0c83 staging: unisys: remove extra parens from uislib_enable_channel_interrupts()
Get rid of the extra parenthesis in uislib_enable_channel_interrupts().

Signed-off-by: Bryan Thompson <bryan.thompson@unisys.com>
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-01-09 17:32:32 -08:00
Benjamin Romer
f0b9a0f9e0 staging: unisys: add missing brackets in Process_Incoming()
Fix the brackets in the else clause in Process_Incoming().

Signed-off-by: Bryan Thompson <bryan.thompson@unisys.com>
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-01-09 17:32:32 -08:00
Benjamin Romer
2dcca2f7d6 staging: unisys: add missing brackets in info_debugfs_read()
The if statement in info_debugfs_read() needs another set of brackets for the
else clause.

Signed-off-by: Ken Depro <kenneth.depro@unisys.com>
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-01-09 17:32:32 -08:00
Benjamin Romer
d7024e331d staging: unisys: remove extraneous blank lines in uislib.c
Fix the line spacing errors in uislib.c.

Signed-off-by: Ken Depro <kenneth.depro@unisys.com>
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-01-09 17:32:32 -08:00
Benjamin Romer
c62bddfb6a staging: unisys: fix strict checks in create_device()
Use the variable name rather than the type, and add a set of missing brackets
to the if statement in create_device().

Signed-off-by: Ken Depro <kenneth.depro@unisys.com>
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-01-09 17:30:20 -08:00
Benjamin Romer
20eca8f096 staging: unisys: refactor create_bus()
Fix the missing braces and logical continuation problems in create_bus().

Signed-off-by: Ken Depro <kenneth.depro@unisys.com>
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-01-09 17:30:20 -08:00
Benjamin Romer
dddfe8e652 staging: unisys: fix alignment in uislib.c
Fix almost all of the parenthesis alignment problems in uislib.c. The 2
remaining issues are in create_device(), which is heavily indented and needs
to be refactored entirely anyway.

Signed-off-by: Ken Depro <kenneth.depro@unisys.com>
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-01-09 17:30:20 -08:00
Benjamin Romer
b41b1ad5ab staging: unisys: clean up typecasts in uislib.c
Remove all extraneous spaces from typecasts in uislib.c.

Signed-off-by: Ken Depro <kenneth.depro@unisys.com>
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-01-09 17:30:20 -08:00
Benjamin Romer
b0231f396e staging: unisys: add comment to spinlock in struct charqueue
Add a comment to the charqueue's spinlock to explain that it is a lock for the
structure.

Signed-off-by: Ken Depro <kenneth.depro@unisys.com>
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-01-09 17:30:20 -08:00
Benjamin Romer
ce572c96f8 staging: unisys: remove unused types from visorchipset.h
Delete the following unused types, and unused function prototypes:

VISORCHIPSET_SWITCH_INFO
VISORCHIPSET_EXTERNALPORT_INFO
VISORCHIPSET_INTERNALPORT_INFO
visorchipset_get_switch_info()
visorchipset_get_externalport_info()

Signed-off-by: Ken Depro <kenneth.depro@unisys.com>
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-01-09 17:30:19 -08:00
Benjamin Romer
de6d15ee0e staging: unisys: get rid of channel stub
The functions in channels/* aren't used in a lot of places. In fact, the
functions in channel.c can be moved to uislib/uisqueue.c, and the rest
of the files in channels can be eliminated.

This patch deletes the channels directory and files, removes it from all
Kconfigs that referenced them, removes the reference in the Makefile,
and moves the functions inside of channels.c to uislib/uisqueue.c.

Signed-off-by: Ken Depro <kenneth.depro@unisys.com>
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-01-09 17:30:19 -08:00
Benjamin Romer
31fb74639d staging: unisys: remove testing.h
Nobody is using this file so remove it and the reference to it in
visorchipset_main.c.

Signed-off-by: Ken Depro <kenneth.depro@unisys.com>
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-01-09 17:30:19 -08:00
Benjamin Romer
d5d83a1621 staging: unisys: fix line spacing in globals.h
Get rid of the extra blank lines in globals.h.

Signed-off-by: Ken Depro <kenneth.depro@unisys.com>
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-01-09 17:30:19 -08:00
Benjamin Romer
b65ab12429 staging: unisys: fix line spacing in visorchipset_umode.h
Just get rid of the extra blank lines in this file.

Signed-off-by: Ken Depro <kenneth.depro@unisys.com>
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-01-09 17:30:19 -08:00
H Hartley Sweeten
a52355ee8f staging: comedi: aio_iiro_16: update the MODULE_DESCRIPTION
Update the MODULE_DESCRIPTION to something more useful than the generic
"Comedi low-level driver".

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-01-09 17:03:55 -08:00
H Hartley Sweeten
ad7a370c8b staging: comedi: aio_iiro_16: add command support for change of state detection
This board supports interrupts on change of state of the digital inputs.

Add the necessary subdevice support and interrupt handler to allow async
commands to detect the change of state.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-01-09 17:03:55 -08:00
H Hartley Sweeten
ffe1cb9a3e staging: comedi: aio_iiro_16: introduce aio_iiro_enable_irq()
This board supports interrupts on change of state of the digital inputs.

Introduce a helper function to enable/disable the interrupt. Use the new
helper function to ensure that interrupts are initially disabled during
the driver (*attach).

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-01-09 17:03:55 -08:00
H Hartley Sweeten
21f1801fcb staging: comedi: aio_iiro_16: read intial state of the digital outputs
The relay registers are readable. Read them during the attach to get
the initial state of the digital outputs.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-01-09 17:03:55 -08:00
H Hartley Sweeten
9cdb432c6d staging: comedi: aio_iiro_16: tidy up multi-line comments
Tidy up the multi-line comments to follow the kernel CodingStyle.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-01-09 17:03:55 -08:00
H Hartley Sweeten
0f0d2b1ba1 staging: comedi: aio_iiro_16: tidy up subdevice init
For aesthetics, add some white space to the subdevice initialization.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-01-09 17:03:55 -08:00
H Hartley Sweeten
aba97d7403 staging: comedi: aio_iiro_16: fix subdevice 1 'type'
Subdevice 1 is a digial input not a digital I/O subdevice.

Fix the type and, for aesthetics, rename the (*insn_bits) function used
to read the inputs.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-01-09 17:03:55 -08:00
H Hartley Sweeten
3b78602f7d staging: comedi: aio_iiro_16: fix subdevice 0 'type'
Subdevice 0 is a digial output not a digital I/O subdevice.

Fix the type and, for aesthetics, rename the (*insn_bits) function used
to set the outputs.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-01-09 17:03:54 -08:00
kbuild test robot
08e4126e1e f2fs: pids_lock can be static
fs/f2fs/trace.c:19:12: sparse: symbol 'pids_lock' was not declared. Should it be static?

Signed-off-by: Fengguang Wu <fengguang.wu@intel.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2015-01-09 17:02:29 -08:00
Jaegeuk Kim
351f4fba84 f2fs: add f2fs_destroy_trace_ios to free radix tree
This patch removes radix tree after finishing tracing IOs.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2015-01-09 17:02:28 -08:00
Jaegeuk Kim
c05086506f f2fs: add spin_lock to cover radix operations in IO tracer
This patch adds spin_lock to cover radix tree operations in IO tracer.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2015-01-09 17:02:28 -08:00
Jaegeuk Kim
dd4e4b59b1 f2fs: add nat/sit entries into status
This patch adds NAT/SIT entry informations.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2015-01-09 17:02:28 -08:00
Jaegeuk Kim
7aed0d4537 f2fs: free radix_tree_nodes used by nat_set entries
In the normal case, the radix_tree_nodes are freed successfully.
But, when cp_error was detected, we should destroy them forcefully.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2015-01-09 17:02:28 -08:00
Jaegeuk Kim
df1991391f f2fs: fix wrong unlock_page call
This patch removes wrongly called unlock_page.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2015-01-09 17:02:27 -08:00
Chao Yu
9e5ba77fdb f2fs: get rid of kzalloc in __recover_inline_status
We use kzalloc to allocate memory in __recover_inline_status, and use this
all-zero memory to check the inline date content of inode page by comparing
them. This is low effective and not needed, let's check inline date content
directly.

Signed-off-by: Chao Yu <chao2.yu@samsung.com>
[Jaegeuk Kim: make the code more neat]
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2015-01-09 17:02:27 -08:00
Jaegeuk Kim
38aa0889b2 f2fs: align direct_io'ed data to section
This patch aligns the start block address of a file for direct io to the f2fs's
section size.

Some flash devices manage an over 4KB-sized page as a write unit, and if the
direct_io'ed data are written but not aligned to that unit, the performance can
be degraded due to the partial page copies.

Thus, since f2fs has a section that is well aligned to FTL units, we can align
the block address to the section size so that f2fs avoids this misalignment.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2015-01-09 17:02:27 -08:00
Jaegeuk Kim
41ef94b35c f2fs: remove uncovered code path
This patch removes unnecessary function calls.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2015-01-09 17:02:27 -08:00
Jaegeuk Kim
3547ea961d f2fs: avoid potential unnecessary codes
This patch relocates some operations to avoid unnecessary execution.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2015-01-09 17:02:26 -08:00
Jaegeuk Kim
e1509cf294 f2fs: clean up to remove parameter
This patch uses dn->data_blkaddr as a parameter for the destination block
address.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2015-01-09 17:02:26 -08:00
Chao Yu
062920734c f2fs: reuse inode_entry_slab in gc procedure for using slab more effectively
There are two slab cache inode_entry_slab and winode_slab using the same
structure as below:

struct dir_inode_entry {
	struct list_head list;	/* list head */
	struct inode *inode;	/* vfs inode pointer */
};

struct inode_entry {
	struct list_head list;
	struct inode *inode;
};

It's a little waste that the two cache can not share their memory space for each
other.
So in this patch we remove one redundant winode_slab slab cache, then use more
universal name struct inode_entry as remaining data structure name of slab,
finally we reuse the inode_entry_slab to store dirty dir item and gc item for
more effective.

Signed-off-by: Chao Yu <chao2.yu@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2015-01-09 17:02:26 -08:00
Chao Yu
2ace38e00e f2fs: cleanup parameters for trace_f2fs_submit_{read_,write_,page_,page_m}bio with fio
Cleanup parameters for trace_f2fs_submit_{read_,write_,page_,page_m}bio with fio
as one parameter.

Suggested-by: Jaegeuk Kim <jaegeuk@kernel.org>
Signed-off-by: Chao Yu <chao2.yu@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2015-01-09 17:02:26 -08:00
Chao Yu
3e1c8f125e f2fs: cleanup trace event of f2fs_submit_page_{m,}bio with DECLARE_EVENT_CLASS
This patch adds missing parameter _type_ for trace_f2fs_submit_page_bio, then
use DECLARE_EVENT_CLASS/DEFINE_EVENT_CONDITION pair to cleanup some trace event
code related to f2fs_submit_page_{m,}bio.

Additionally, after we remove redundant code, size of code can be reduced:
   text    data     bss     dec     hex filename
 176787    8712      56  185555   2d4d3 f2fs.ko.org
 174408    8648      56  183112   2cb48 f2fs.ko

Signed-off-by: Chao Yu <chao2.yu@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2015-01-09 17:02:25 -08:00
Jaegeuk Kim
09eb483e89 f2fs: fix missing cold bit during recovery
In do_recover_data, we find and update previous node pages after updating
its new block addresses.
After then, we call fill_node_footer without reset field, we erase its
cold bit so that this new cold node block is written to wrong log area.
This patch fixes not to miss its old flag.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2015-01-09 17:02:25 -08:00
Changman Lee
b9a2c25207 f2fs: add block count by in-place-update in stat info
This patch adds block count by in-place-update in stat.

Signed-off-by: Changman Lee <cm224.lee@samsung.com>
Reviewed-by: Chao Yu <chao2.yu@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2015-01-09 17:02:25 -08:00
Jaegeuk Kim
dd802406e3 f2fs: avoid double lock for cp_rwsem
The __f2fs_add_link is covered by cp_rwsem all the time.
This calls init_inode_metadata, which conducts some acl operations including
memory allocation with GFP_KERNEL previously.
But, under memory pressure, f2fs_write_data_page can be called, which also
grabs cp_rwsem too.

In this case, this incurs a deadlock pointed by Chao.
Thread #1        Thread #2
 down_read
                 down_write
  down_read
 -> here down_read should wait forever.

Reviewed-by: Chao Yu <chao2.yu@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2015-01-09 17:02:25 -08:00
Jaegeuk Kim
db9f7c1a95 f2fs: activate f2fs_trace_ios
This patch activates f2fs_trace_ios.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2015-01-09 17:02:24 -08:00
Jaegeuk Kim
9e4ded3f30 f2fs: activate f2fs_trace_pid
This patch activates f2fs_trace_pid.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2015-01-09 17:02:24 -08:00
Jaegeuk Kim
0e689d0369 f2fs: add key functions for f2fs_io_tracer
This patch adds two key functions to trace process ids and IOs.
The basic idea is to
1. remain process ids, pids, in page->private.
2. show pids in IO traces.

So, later we can retrieve process information according to IO traces.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2015-01-09 17:02:24 -08:00