Provide some trace, though the hardware is most likely non-functional if
this happens.
Signed-off-by: Mark Brown
---
drivers/leds/leds-wm8350.c |6 +-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/drivers/leds/leds-wm8350.c b/drivers/leds/leds-wm8350.c
index ed15157..86bda
On Friday 01 March 2013 10:36 PM, Ian Lartey wrote:
Palmas charger has 16 GPIOs
add palmas_gpio_[read|write|update] api to take account
second bank of GPIOs
Signed-off-by: Ian Lartey
Signed-off-by: Graeme Gregory
---
Looks good.
Acked-by: Laxman Dewangan
--
To unsubscribe from this list: s
Looks like the conversion to enum was missed for the definition of this
function, the declaration has been updated.
Signed-off-by: Mark Brown
---
drivers/mfd/twl4030-audio.c |2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/mfd/twl4030-audio.c b/drivers/mfd/twl4030-a
Clean up interrupts on exit, silencing a sparse warning caused by
tps65912_irq_exit() being defined but not prototyped as we go.
Signed-off-by: Mark Brown
---
drivers/mfd/tps65912-core.c |1 +
include/linux/mfd/tps65912.h |1 +
2 files changed, 2 insertions(+)
diff --git a/drivers/mfd/
Events arriving in ovflist are stored in LIFO order, so
we should account for that when inserting them into rddlist.
Signed-off-by: Eric Wong
Cc: Davide Libenzi
Cc: Al Viro
Cc: Andrew Morton
---
I think this can lead to starvation in some rare cases, but I have not
been able to trigger it.
- Create eventfd per vfio device assigned to a guest and register an
event handler
- This fd is passed to the vfio_pci driver through the SET_IRQ ioctl
- When the device encounters an error, the eventfd is signalled
and the qemu eventfd handler gets inv
- New VFIO_SET_IRQ ioctl option to pass the eventfd that is signaled
when
an error occurs in the vfio_pci_device
- Register pci_error_handler for the vfio_pci driver
- When the device encounters an error, the error handler registered by
the vfio_pci dr
- Added vfio_device_get_from_dev() as wrapper to get
reference to vfio_device from struct device.
- Added vfio_device_data() as a wrapper to get device_data from
vfio_device.
Signed-off-by: Vijay Mohan Pandarathil
---
drivers/vfio/vfio.c | 27 +++
Add support for error containment when a VFIO device assigned to a KVM
guest encounters an error. This is for PCIe devices/drivers that support AER
functionality. When the host OS is notified of an error in a device either
through the firmware first approach or through an interrupt handled by the A
Currently there are error paths in btrfs_rm_device() where EINVAL is
returned telling the user they passed an invalid argument even though
they passed a valid device. Change to return EPERM instead as the
operation is not permitted.
Signed-off-by: Jerry Snitselaar
---
fs/btrfs/volumes.c | 8
On Sat, Mar 2, 2013 at 12:43 PM, Emmanuel Benisty wrote:
> Hi,
>
> On Sat, Mar 2, 2013 at 7:16 AM, Davidlohr Bueso
> wrote:
>> The following set of not-thoroughly-tested patches are based on the
>> discussion of holding the ipc lock unnecessarily, such as for permissions
>> and security checks:
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
On Friday 22 February 2013 12:28 PM, Vineet Gupta wrote:
> Hi Linus,
>
> I would like to introduce the Linux port to ARC Processors (from Synopsys)
> for 3.9-rc1. The patch-set has been discussed on the public lists since Nov
> and has received a fair
From: Al Viro
Date: Sat, 2 Mar 2013 05:23:30 +
> On Sat, Mar 02, 2013 at 03:49:35PM +1100, Stephen Rothwell wrote:
>> On Fri, 01 Mar 2013 17:10:08 -0500 (EST) David Miller
>> wrote:
>
>> > Ok, next I'm hitting some regression in Al Viro's signal changes when
>> > userland
>> > starts up.
Hi,
On Sat, Mar 2, 2013 at 10:26 AM, Sachin Kamat wrote:
> Hi Alim,
>
> On 2 March 2013 10:18, Alim Akhtar wrote:
>> Hi Sachin,
>>
>> Looks like exynos4 is not yet moved to the generic dma binding recently
>> merged.
>>
>> Could you try out below:
>
> I forgot to mention in the previous mail tha
On Fri, Mar 1, 2013 at 7:03 PM, chen tang wrote:
>
> Thank you for your suggestion and fix work. :)
> I would prefer your Plan b. But one last thing I want to confirm:
>
> Will "allocating pgdat and zone on local node" prevent node hot-removing ?
> Or is it safe to free all node data when removing
On Sat, Mar 2, 2013 at 10:26 AM, Sachin Kamat wrote:
> Hi Alim,
>
> On 2 March 2013 10:18, Alim Akhtar wrote:
>> Hi Sachin,
>>
>> Looks like exynos4 is not yet moved to the generic dma binding recently
>> merged.
>>
>> Could you try out below:
>
> I forgot to mention in the previous mail that the
On Sat, Mar 02, 2013 at 03:49:35PM +1100, Stephen Rothwell wrote:
> On Fri, 01 Mar 2013 17:10:08 -0500 (EST) David Miller
> wrote:
> > Ok, next I'm hitting some regression in Al Viro's signal changes when
> > userland
> > starts up. :-)
>
> If only we had some way of testing this stuff before
Linda Walsh wrote:
>
>
> This patch is not in the latest kernel. I don't know if it is the
> 'best' way, but it does stop BUG error messages.
---
Update -- it *used* to stop the messages in 3.6.7.
It no longer stops the messages in 3.8.1 -- (and isn't present by
default -- tried
adding the un
On 03/01/13 20:16, Stephen Boyd wrote:
> On 03/01/13 19:42, Stephen Boyd wrote:
>> On 03/01/13 19:00, Randy Dunlap wrote:
>>> On 03/01/13 15:51, a...@linux-foundation.org wrote:
The mm-of-the-moment snapshot 2013-03-01-15-50 has been uploaded to
http://www.ozlabs.org/~akpm/mmotm/
On Fri, Mar 01, 2013 at 08:59:55PM -0700, Shuah Khan wrote:
> On Fri, Mar 1, 2013 at 12:43 PM, Greg Kroah-Hartman
> wrote:
> > This is the start of the stable review cycle for the 3.8.2 release.
> > There are 77 patches in this series, all will be posted as a response
> > to this one. If anyone h
ODD is not a common TLA for non-ATA people so they will get confused
by its meaning when they are configuring the kernel. This patch fixed
this problem by using ODD only after stating what it is.
Signed-off-by: Aaron Lu
---
v2:
Add a space before open paren as suggested by Sergei Shtylyov.
driv
Hi Alim,
On 2 March 2013 10:18, Alim Akhtar wrote:
> Hi Sachin,
>
> Looks like exynos4 is not yet moved to the generic dma binding recently
> merged.
>
> Could you try out below:
I forgot to mention in the previous mail that the problem was in non-dt case.
With the below entries added in exynos4
Hi Steve,
On Fri, 01 Mar 2013 23:22:58 -0500 Steven Rostedt wrote:
>
> On Sat, 2013-03-02 at 15:17 +1100, Stephen Rothwell wrote:
> >
> > > I made some major changes and wanted testing on it as soon as possible.
> > > I've done tons of testing on my own but I wanted a broader audience. Do
> > >
Hi Padma,
Here is the short boot log with earlyprintk enabled. This is in the non-dt case.
EXYNOS4210 PMU Initialize
EXYNOS: Initializing architecture
s3c24xx-pwm s3c24xx-pwm.0: tin at 5000, tdiv at 5000, tin=divclk, base 0
bio: create slab at 0
SCSI subsystem initialized
Switching to cl
On Fri, 01 Mar 2013 17:10:08 -0500 (EST) David Miller
wrote:
>
> From: Greg KH
> Date: Fri, 1 Mar 2013 13:56:09 -0800
>
> > On Fri, Mar 01, 2013 at 04:47:11PM -0500, David Miller wrote:
> >>
> >> I'm getting these non-stop right when the hypervisor console registers
> >> on sparc64, and the ma
Hi,
On Sat, Mar 2, 2013 at 7:16 AM, Davidlohr Bueso wrote:
> The following set of not-thoroughly-tested patches are based on the
> discussion of holding the ipc lock unnecessarily, such as for permissions
> and security checks:
>
> https://lkml.org/lkml/2013/2/28/540
>
> Patch 0/1: Introduces new
On Sat, Mar 2, 2013 at 8:16 AM, Davidlohr Bueso wrote:
> Instead of holding the ipc lock for permissions and security
> checks, among others, only acquire it when necessary.
>
> Signed-off-by: Davidlohr Bueso
You got some really great test results on this; I think they deserve
to be mentioned in
On Sat, Mar 2, 2013 at 8:16 AM, Davidlohr Bueso wrote:
> Through ipc_lock() and, therefore, ipc_lock_check() we currently
> return the locked ipc object. This is not necessary for all situations,
> thus introduce, analogous, ipc_obtain_object and ipc_obtain_object_check
> functions that only mark
On Sat, 2013-03-02 at 15:17 +1100, Stephen Rothwell wrote:
>
> > I made some major changes and wanted testing on it as soon as possible.
> > I've done tons of testing on my own but I wanted a broader audience. Do
> > you want me to pull my tree and reset it to what is only for 3.9?
>
> Yes, plea
On Thu, 2013-02-21 at 10:33 +0800, Li Zefan wrote:
> These two functions are called during kernel boot only.
>
Applied, thanks Li!
-- Steve
> Signed-off-by: Li Zefan
> ---
> kernel/trace/trace_syscalls.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/kernel/trac
Hi Steve,
On Fri, 01 Mar 2013 22:55:29 -0500 Steven Rostedt wrote:
>
> Oh crap, sorry. Quite the contrary. I should have waited for -rc1 as
> this is intended for v3.10.
>
> I made some major changes and wanted testing on it as soon as possible.
> I've done tons of testing on my own but I wanted
On 03/01/13 19:42, Stephen Boyd wrote:
> On 03/01/13 19:00, Randy Dunlap wrote:
>> On 03/01/13 15:51, a...@linux-foundation.org wrote:
>>> The mm-of-the-moment snapshot 2013-03-01-15-50 has been uploaded to
>>>
>>>http://www.ozlabs.org/~akpm/mmotm/
>>>
>> on i386:
>>
>> ERROR: "copy_from_user_o
On Mon, Feb 18, 2013 at 10:57:44AM +0100, Guennadi Liakhovetski wrote:
> Add device-tree bindings to the AS3711 regulator and backlight drivers.
Reviwed-by: Mark Brown
signature.asc
Description: Digital signature
Hi Padma,
While trying to boot the latest mainline kernel (Linus tree tip at
commit b0af9cd9) on Exynos4210 based Origen board, it stops at
"Uncompressing Linux... done, booting the kernel."
Git bisect pointed to the commit 421da89aa ("DMA: PL330: Register the
DMA controller with the generic DMA
On Wed, Feb 27, 2013 at 11:16:57AM -0700, Stephen Warren wrote:
> I believe what Mark wants is something like the following in this file
> (take from Documentation/devicetree/bindings/regulator/tps6586x.txt):
> > - regulators: A node that houses a sub-node for each regulator within the
> > devi
On 03/02/2013 11:08 AM, Hugh Dickins wrote:
On Sat, 2 Mar 2013, Simon Jeons wrote:
On 03/02/2013 09:42 AM, Hugh Dickins wrote:
On Sat, 2 Mar 2013, Simon Jeons wrote:
In function __add_to_swap_cache if add to radix tree successfully will
result
in increase NR_FILE_PAGES, why? This is anonymous
2013/3/1 Benson Leung :
> Add basic platform data to get the current upstream driver working
> with the 224s touchpad and 1664s touchscreen.
> We will be using NULL config so we will use the settings from the
> devices' NVRAMs.
>
> Signed-off-by: Benson Leung
>
> Change-Id: I712bf4726fb4b194fbde44
On Fri, Mar 1, 2013 at 12:43 PM, Greg Kroah-Hartman
wrote:
> This is the start of the stable review cycle for the 3.8.2 release.
> There are 77 patches in this series, all will be posted as a response
> to this one. If anyone has any issues with these being applied, please
> let me know.
>
> Resp
On Fri, Mar 1, 2013 at 12:44 PM, Greg Kroah-Hartman
wrote:
> This is the start of the stable review cycle for the 3.4.35 release.
> There are 46 patches in this series, all will be posted as a response
> to this one. If anyone has any issues with these being applied, please
> let me know.
>
> Res
On Fri, Feb 22, 2013 at 10:52:35AM +0800, Wei Yongjun wrote:
> From: Wei Yongjun
>
> In case of error, the function platform_device_register_full()
> returns ERR_PTR() and never returns NULL. The NULL test in the
> return value check should be replaced with IS_ERR().
Applied, thanks.
signature
On Fri, Mar 1, 2013 at 12:45 PM, Greg Kroah-Hartman
wrote:
> This is the start of the stable review cycle for the 3.0.68 release.
> There are 30 patches in this series, all will be posted as a response
> to this one. If anyone has any issues with these being applied, please
> let me know.
>
> Res
(sorry for duplicate post to some of you, my mail client defaulted to
HTML email for some reason).
2013/3/1 Benson Leung
>
> From: Daniel Kurtz
>
> This same driver can be used by atmel based touchscreens and touchpads
> (buttonpads) by instantiating the i2c device as a "atmel_mxt_tp".
>
> This
On Sat, 2013-03-02 at 14:42 +1100, Stephen Rothwell wrote:
> Hi Steve,
>
> On Fri, 01 Mar 2013 21:45:18 -0500 Steven Rostedt wrote:
> >
> > On Fri, 2013-03-01 at 13:47 +1100, Stephen Rothwell wrote:
> > >
> > > After merging the ftrace tree, today's linux-next build (x86_64
> > > allmodconfig) f
On Thu, 2013-02-21 at 10:33 +0800, Li Zefan wrote:
> Those functions are called either during kernel boot or module init.
>
> Before:
>
> $ dmesg | grep 'Freeing unused kernel memory'
> Freeing unused kernel memory: 1208k freed
> Freeing unused kernel memory: 1360k freed
> Freeing unused kernel m
From: Namjae Jeon
Add descriptions about 'stale_rw' and 'nostale_ro' nfs options in
filesystem/vfat.txt
Signed-off-by: Namjae Jeon
Signed-off-by: Ravishankar N
Signed-off-by: Amit Sahrawat
---
Documentation/filesystems/vfat.txt | 26 +-
1 file changed, 21 insertions
From: Namjae Jeon
If the cache lookups fail,use the i_pos value to find the
directory entry of the inode and rebuild the inode.Since this
involves accessing the FAT media, do this only if the nostale_ro nfs
mount option is specified.
Signed-off-by: Namjae Jeon
Signed-off-by: Ravishankar N
Sign
From: Namjae Jeon
This patch enables rebuilding of directory inodes which are not present
in the cache.This is done by traversing the disk clusters to find the
directory entry of the parent directory and using its i_pos to build the
inode.
The traversal is done by fat_scan_logstart() which is si
From: Namjae Jeon
Define two nfs export_operation structures,one for 'stale_rw' mounts and
the other for 'nostale_ro'. The latter uses i_pos as a basis for encoding
and decoding file handles.
Also, assign i_pos to kstat->ino. The logic for rebuilding the inode is
added in the subsequent patches.
From: Namjae Jeon
Introduce helper function to get the block number and offset for a given
i_pos value. Use it in __fat_write_inode() now and later on in nfs.c
Signed-off-by: Namjae Jeon
Signed-off-by: Ravishankar N
Signed-off-by: Amit Sahrawat
---
fs/fat/fat.h |7 +++
fs/fat/inode
From: Namjae Jeon
Move fat_i_pos_read to fat.h so that it can be called from nfs.c in the
subsequent patches to encode the file handle.
Signed-off-by: Namjae Jeon
Signed-off-by: Ravishankar N
Signed-off-by: Amit Sahrawat
---
fs/fat/fat.h | 14 ++
fs/fat/inode.c | 14 ---
From: Namjae Jeon
Provide two possible values 'stale_rw' and 'nostale_ro' for
the -o nfs mount option.The first one allows all file operations but
does not reduce ESTALE errors on memory constrained systems. The second
one eliminates ESTALE errors but mounts the filesystem as
read-only. Not speci
From: Namjae Jeon
This patch set eliminates the client side ESTALE errors when a FAT partition
exported over NFS has it's dentries evicted from the cache. The idea is to
find the on-disk location_'i_pos' of the dirent of the inode that has been
evicted and use it to rebuild the inode.
Change log
On 03/01/13 19:00, Randy Dunlap wrote:
> On 03/01/13 15:51, a...@linux-foundation.org wrote:
>> The mm-of-the-moment snapshot 2013-03-01-15-50 has been uploaded to
>>
>>http://www.ozlabs.org/~akpm/mmotm/
>>
>
> on i386:
>
> ERROR: "copy_from_user_overflow" [fs/binfmt_misc.ko] undefined!
>
> whi
On Fri, Mar 01, 2013 at 01:19:42AM +, Myklebust, Trond wrote:
> On Fri, 2013-03-01 at 12:04 +1100, Stephen Rothwell wrote:
> > Hi all,
> >
> > After merging the nfsd tree, today's linux-next build (powerpc
> > ppc64_defconfig) failed like this:
> >
> > net/sunrpc/xprtsock.c:1923:30: error: 's
Hi Steve,
On Fri, 01 Mar 2013 21:45:18 -0500 Steven Rostedt wrote:
>
> On Fri, 2013-03-01 at 13:47 +1100, Stephen Rothwell wrote:
> >
> > After merging the ftrace tree, today's linux-next build (x86_64
> > allmodconfig) failed like this:
> >
> > kernel/trace/trace_kdb.c: In function 'ftrace_dum
From: Namjae Jeon
In all the breaking conditions in get_node_path, 'n' is used to
track index in offset[] array, but while breaking out also, in all
paths n++ is done.
So, remove the ++ from breaking paths. Also, avoid
reset of 'level=0' in first case.
Signed-off-by: Namjae Jeon
Signed-off-by:
From: Namjae Jeon
Since, maximum filename length supported in linux is 255 characters.
So, there is no need to reserve space for 256 characters in f2fs inode.
This aligns the filename length to NFS requests also which also
has a default limit of '255'.
Signed-off-by: Namjae Jeon
Signed-off-by:
From: Namjae Jeon
Optimize and change return path in lookup_free_nid_list
Signed-off-by: Namjae Jeon
Signed-off-by: Amit Sahrawat
---
fs/f2fs/node.c |7 +++
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/fs/f2fs/node.c b/fs/f2fs/node.c
index e275218..e24f747 100644
---
From: Namjae Jeon
Actual dirty of pages will occur in f2fs_delete_entry so move the
f2fs_balance_fs just before deletion.
Signed-off-by: Namjae Jeon
Signed-off-by: Amit Sahrawat
---
fs/f2fs/namei.c |4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/fs/f2fs/namei.c b/fs
From: Namjae Jeon
Instead of checking for victim_segmap(FG_GC) OR
(gc_type == BG_GC) && victim_segmap(BG_GC);
to continue for the victim selection. The 2 conditions
can simply be merged and decision can directly be made using 'gc_type'.
Signed-off-by: Namjae Jeon
Signed-off-by: Amit Sahrawat
-
On Thu, 2013-02-21 at 10:32 +0800, Li Zefan wrote:
> Move duplicate code in event print functions to a helper function.
>
> This shrinks the size of the kernel by ~13K.
>
>textdata bss dec hex filename
> 6596137 1743966 1013867218478775119f6b7 vmlinux.o.old
> 6
On Fri, Mar 01, 2013 at 12:34:40PM -0700, Stephen Warren wrote:
> Is Palmas a family of chips rather than a single chip then? That
> implies that the DT would need two compatible values, e.g.:
Yes.
> compatible = "ti,12345", "ti,palmas";
> ... where "12345" is the actual chip name.
> ... rathe
Hello Aneesh
[with lkml cced]
>-#if HPAGE_PMD_ORDER > MAX_ORDER
>-#error "hugepages can't be allocated by the buddy allocator"
>-#endif
...
>- if (!has_transparent_hugepage()) {
>+ if (!has_transparent_hugepage() || (HPAGE_PMD_ORDER > MAX_ORDER)) {
> transparent_hugepage_f
POOL_MANAGING_WORKERS is used to synchronize the manager role.
Synchronizing among workers doesn't need blocking and that's why it's
implemented as a flag.
It got converted to a mutex a while back to add blocking wait from CPU
hotplug path - 6037315269 ("workqueue: use mutex for global_cwq
manager
Make worker_pool_idr protected by workqueue_lock for writes and
sched-RCU protected for reads. Lockdep assertions are added to
for_each_pool() and get_work_pool() and all their users are converted
to either hold workqueue_lock or disable preemption/irq.
worker_pool_assign_id() is updated to hold
workqueue_lock will be used to synchronize areas which require
irq-safety and there isn't much benefit in keeping it not irq-safe.
Make it irq-safe.
This patch doesn't introduce any visible behavior changes.
Signed-off-by: Tejun Heo
---
kernel/workqueue.c | 44 ++
This patch makes unbound worker_pools reference counted and
dynamically created and destroyed as workqueues needing them come and
go. All unbound worker_pools are hashed on unbound_pool_hash which is
keyed by the content of worker_pool->attrs.
When an unbound workqueue is allocated, get_unbound_p
Introduce struct workqueue_attrs which carries worker attributes -
currently the nice level and allowed cpumask along with helper
routines alloc_workqueue_attrs() and free_workqueue_attrs().
Each worker_pool now carries ->attrs describing the attributes of its
workers. All functions dealing with
Introduce for_each_pwq() which iterates all pool_workqueues of a
workqueue using the recently added workqueue->pwqs list and replace
for_each_pwq_cpu() usages with it.
This is primarily to remove the single unbound CPU assumption from pwq
iteration for the scheduled unbound pools with custom attri
pool_workqueues need to be aligned to 1 << WORK_STRUCT_FLAG_BITS as
the lower bits of work->data are used for flags when they're pointing
to pool_workqueues.
Due to historical reasons, unbound pool_workqueues are allocated using
kzalloc() with sufficient buffer area for alignment and aligned
manua
Add workqueue_struct->pwqs list and chain all pool_workqueues
belonging to a workqueue there. This will be used to implement
generic pool_workqueue iteration and handle multiple pool_workqueues
for the scheduled unbound pools with custom attributes.
This patch doesn't introduce any visible behavi
Workqueue no longer makes use of unbound_std_worker_pools[]. All
unbound worker_pools are created dynamically and there's nothing
special about the standard ones. With unbound_std_worker_pools[]
unused, workqueue no longer has places where it needs to treat the
per-cpu pools-cpu and unbound pools
All per-cpu pools are standard, so there's no need to use both "cpu"
and "std" and for_each_std_worker_pool() is confusing in that it can
be used only for per-cpu pools.
* s/cpu_std_worker_pools/cpu_worker_pools/
* s/for_each_std_worker_pool()/for_each_cpu_worker_pool()/
Signed-off-by: Tejun Heo
WQ_RESCUER is superflous. WQ_MEM_RECLAIM indicates that the user
wants a rescuer and testing wq->rescuer for NULL can answer whether a
given workqueue has a rescuer or not. Drop WQ_RESCUER and test
wq->rescuer directly.
This will help simplifying __alloc_workqueue_key() failure path by
allowing
There are gonna be multiple unbound pools. Include pool ID in the
name of unbound kworkers.
Signed-off-by: Tejun Heo
---
kernel/workqueue.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/kernel/workqueue.c b/kernel/workqueue.c
index 95a3dcc..1695bd6 100644
--- a/kernel/wo
Similar to how pool_workqueue iteration used to be, raising and
servicing mayday requests is based on CPU numbers. It's hairy because
cpumask_t may not be able to handle WORK_CPU_UNBOUND and cpumasks are
assumed to be always set on UP. This is ugly and can't handle
multiple unbound pools to be ad
* Move initialization and linking of pool_workqueues into
init_and_link_pwq().
* Make the failure path use destroy_workqueue() once pool_workqueue
initialization succeeds.
These changes are to prepare for dynamic management of pool_workqueues
and don't introduce any functional changes.
While
The three freeze/thaw related functions - freeze_workqueues_begin(),
freeze_workqueues_busy() and thaw_workqueues() - need to iterate
through all pool_workqueues of all freezable workqueues. They did it
by first iterating pools and then visiting all pwqs (pool_workqueues)
of all workqueues and pro
With the scheduled unbound pools with custom attributes, there will be
multiple unbound pools, so it wouldn't be able to use
for_each_wq_cpu() + for_each_std_worker_pool() to iterate through all
pools.
Introduce for_each_pool() which iterates through all pools using
worker_pool_idr and use it inst
Add pool_workqueue->refcnt along with get/put_pwq(). Both per-cpu and
unbound pwqs have refcnts and any work item inserted on a pwq
increments the refcnt which is dropped when the work item finishes.
For per-cpu pwqs the base ref is never dropped and destroy_workqueue()
frees the pwqs as before.
Unbound pwqs (pool_workqueues) will be dynamically created and
destroyed with the scheduled unbound workqueue w/ custom attributes
support. This patch synchronizes pwq linking and unlinking against
flush_workqueue() so that its operation isn't disturbed by pwqs coming
and going.
Linking and unlin
Because per-cpu workqueues have multiple pwqs (pool_workqueues) to
serve the CPUs, to guarantee that a single work item isn't queued on
one pwq while still executing another, __queue_work() takes a look at
the previous pool the target work item was on and if it's still
executing there, queue the wo
Implement apply_workqueue_attrs() which applies workqueue_attrs to the
specified unbound workqueue by creating a new pwq (pool_workqueue)
linked to worker_pool with the specified attributes.
A new pwq is linked at the head of wq->pwqs instead of tail and
__queue_work() verifies that the first unbo
get_pwq() takes @cpu, which can also be WORK_CPU_UNBOUND, and @wq and
returns the matching pwq (pool_workqueue). We want to move away from
using @cpu for identifying pools and pwqs for unbound pools with
custom attributes and there is only one user - workqueue_congested() -
which makes use of the
workqueue->pool_wq union is used to point either to percpu pwqs
(pool_workqueues) or single unbound pwq. As the first pwq can be
accessed via workqueue->pwqs list, there's no reason for the single
pointer anymore.
Use list_first_entry(workqueue->pwqs) to access the unbound pwq and
drop workqueue-
Workqueue is mixing unsigned int and int for @cpu variables. There's
no point in using unsigned int for cpus - many of cpu related APIs
take int anyway. Consistently use int for @cpu variables so that we
can use negative values to mark special ones.
This patch doesn't introduce any visible behav
We have cpulist_parse() but not cpumask_parse(). Implement it using
bitmap_parse().
bitmap_parse() is weird in that it takes @len for a string in
kernel-memory which also is inconsistent with bitmap_parselist().
Make cpumask_parse() calculate the length and don't expose the
inconsistency to cpuma
Workqueue will soon allow exposing control knobs to userland via
sysfs. Increasing max_active for an ordered workqueue breaks
correctness. Tag ordered workqueues with __WQ_ORDERED and always
limit max_active at 1.
Signed-off-by: Tejun Heo
---
include/linux/workqueue.h | 3 ++-
kernel/workqueu
Kay tells me the most appropriate place to expose workqueues to
userland would be /sys/devices/virtual/workqueues/WQ_NAME which is
symlinked to /sys/bus/workqueue/devices/WQ_NAME and that we're lacking
a way to do that outside of driver core as virtual_device_parent()
isn't exported and there's no
This will be used to implement unbound pools with custom attributes.
This patch doesn't introduce any functional changes.
Signed-off-by: Tejun Heo
---
kernel/workqueue.c | 37 +
1 file changed, 21 insertions(+), 16 deletions(-)
diff --git a/kernel/workqueue.
There are cases where workqueue users want to expose control knobs to
userland. e.g. Unbound workqueues with custom attributes are
scheduled to be used for writeback workers and depending on
configuration it can be useful to allow admins to tinker with the
priority or allowed CPUs.
This patch imp
Make workqueue->pwqs protected by workqueue_lock for writes and
sched-RCU protected for reads. Lockdep assertions are added to
for_each_pwq() and first_pwq() and all their users are converted to
either hold workqueue_lock or disable preemption/irq.
alloc_and_link_pwqs() is updated to use list_add
Workqueue has been using mostly BUG_ON()s for sanity checks, which
fail unnecessarily harshly when the assertion doesn't hold. Most
assertions can converted to be less drastic such that things can limp
along instead of dying completely. Convert BUG_ON()s to
WARN_ON[_ONCE]()s with softer failure b
We're gonna add another internal WQ flag. Let's make the distinction
clear. Prefix WQ_DRAINING with __ and move it to bit 16.
Signed-off-by: Tejun Heo
---
include/linux/workqueue.h | 2 +-
kernel/workqueue.c| 8
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/in
Subject: [PATCHSET wq/for-3.10-tmp] workqueue: implement workqueue with custom
worker attributes
Hello,
Finally, here's the unbound workqueue with custom worker attributes
patchset I've been talking about. The goal is simple. We want
unbound workqueues with custom worker attributes with a mech
This has been fixed already in mainline:
commit 6aea49cb5f3001a8275bf9c9f586ec3eb39af194
tracing/syscalls: Make local functions static
Author: Fengguang Wu
-- Steve
On Thu, 2013-02-21 at 10:32 +0800, Li Zefan wrote:
> Signed-off-by: Li Zefan
> ---
> kernel/trace/trace_syscalls.c | 18 +++
On Sat, 2 Mar 2013, Simon Jeons wrote:
> On 03/02/2013 09:42 AM, Hugh Dickins wrote:
> > On Sat, 2 Mar 2013, Simon Jeons wrote:
> > > In function __add_to_swap_cache if add to radix tree successfully will
> > > result
> > > in increase NR_FILE_PAGES, why? This is anonymous page instead of file
> >
On Fri, 2013-03-01 at 21:48 -0500, Steven Rostedt wrote:
> By converting two common structures to slab caches, I was able to
> save 36K of memory!
Correction... 36K was for only one slab conversion. The total was 42K in
savings ;-)
-- Steve
--
To unsubscribe from this list: send the line "unsu
On 03/01/13 15:51, a...@linux-foundation.org wrote:
> The mm-of-the-moment snapshot 2013-03-01-15-50 has been uploaded to
>
>http://www.ozlabs.org/~akpm/mmotm/
>
on i386:
arch/x86/built-in.o: In function `finish_e820_parsing':
(.init.text+0x225e): undefined reference to `early_printk'
arch/
This is some more updates coming for v3.10.
One, I had to rebase from my last patch set because it broke
kgdb tracing as well as the new snapshot feature. The end of this
email contains the difference between my last patch set and what I
pushed to next in my rebase.
The first patch contains a fix
1 - 100 of 651 matches
Mail list logo