Re: linux-next: Tree for Jul 21 (gpu/virtio)

2016-07-21 Thread Randy Dunlap
On 07/20/16 23:56, Stephen Rothwell wrote: > Hi all, > > Changes since 20160720: > on x86_64, when CONFIG_FB is not enabled: ERROR: "remove_conflicting_framebuffers" [drivers/gpu/drm/virtio/virtio-gpu.ko] undefined! -- ~Randy ___ Virtualization

[PATCH v3 4/4] kernel/locking: Drop the overhead of {mutex, rwsem}_spin_on_owner

2016-07-21 Thread Pan Xinhui
An over-committed guest with more vCPUs than pCPUs has a heavy overload in the two spin_on_owner. This blames on the lock holder preemption issue. Kernel has an interface bool vcpu_is_preempted(int cpu) to see if a vCPU is currently running or not. So break the spin loops on true condition.

[PATCH v3 3/4] locking/osq: Drop the overhead of osq_lock()

2016-07-21 Thread Pan Xinhui
An over-committed guest with more vCPUs than pCPUs has a heavy overhead in osq_lock(). This is because vCPU A hold the osq lock and yield out, vCPU B wait per_cpu node->locked to be set. IOW, vCPU B wait vCPU A to run and unlock the osq lock. Kernel has an interface bool vcpu_is_preempted(int

[PATCH v3 0/4] implement vcpu preempted check

2016-07-21 Thread Pan Xinhui
change from v2: no code change, fix typos, update some comments change from v1: a simplier definition of default vcpu_is_preempted skip mahcine type check on ppc, and add config. remove dedicated macro. add one patch to drop overload of rwsem_spin_on_owner and

[PATCH v3 2/4] powerpc/spinlock: support vcpu preempted check

2016-07-21 Thread Pan Xinhui
This is to fix some lock holder preemption issues. Some other locks implementation do a spin loop before acquiring the lock itself. Currently kernel has an interface of bool vcpu_is_preempted(int cpu). It takes the cpu as parameter and return true if the cpu is preempted. Then kernel can break the

[PATCH v3 1/4] kernel/sched: introduce vcpu preempted check interface

2016-07-21 Thread Pan Xinhui
This patch supports to fix lock holder preemption issue. For kernel users, we could use bool vcpu_is_preempted(int cpu) to detech if one vcpu is preempted or not. The default implementation is a macro defined by false. So compiler can wrap it out if arch dose not support such vcpu pteempted