All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/6]
@ 2019-05-07  4:30 Sam Bobroff
  2019-05-07  4:30 ` [PATCH v2 1/6] powerpc/64: Adjust order in pcibios_init() Sam Bobroff
                   ` (5 more replies)
  0 siblings, 6 replies; 24+ messages in thread
From: Sam Bobroff @ 2019-05-07  4:30 UTC (permalink / raw)
  To: linuxppc-dev; +Cc: aik, oohall, tyreld

Hi all,

Here is v2, addressing feedback from v1.

Original cover letter follows, slightly updated for v2:

This patch set adds support for EEH recovery of hot plugged devices on pSeries
machines. Specifically, devices discovered by PCI rescanning using
/sys/bus/pci/rescan, which includes devices hotplugged by QEMU's device_add
command. (Upstream Linux pSeries guests running under QEMU/KVM don't currently
use slot power control for hotplugging.)

As a side effect this also provides EEH support for devices removed by
/sys/bus/pci/devices/*/remove and re-discovered by writing to /sys/bus/pci/rescan,
on all platforms.

The approach I've taken is to use the fact that the existing
pcibios_bus_add_device() platform hooks (which are used to set up EEH on
Virtual Function devices (VFs)) are actually called for all devices, so I've
widened their scope and made other adjustments necessary to allow them to work
for hotplugged and boot-time devices as well.

Because some of the changes are in generic PowerPC code, it's
possible that I've disturbed something for another PowerPC platform. I've tried
to minimize this by leaving that code alone as much as possible and so there
are a few cases where eeh_add_device_{early,late}() or eeh_add_sysfs_files() is
called more than once. I think these can be looked at later, as duplicate calls
are not harmful.

The first patch is a rework of the pcibios_init reordering patch I posted
earlier, which I've included here because it's necessary for this set.

I have done some testing for PowerNV on Power9 using a modified pnv_php module
and some testing on pSeries with slot power control using a modified rpaphp
module, and the EEH-related parts seem to work.

Cheers,
Sam.

Patch set changelog follows:

Patch set v2: 
Patch 1/6: powerpc/64: Adjust order in pcibios_init()
Patch 2/6: powerpc/eeh: Clear stale EEH_DEV_NO_HANDLER flag
* Also clear EEH_DEV_NO_HANDLER in eeh_handle_special_event().
Patch 3/6 (was 4/8): powerpc/eeh: Improve debug messages around device addition
Patch 4/6 (was 6/8): powerpc/eeh: Initialize EEH address cache earlier
Patch 5/6 (was 3/8 and 7/8): powerpc/eeh: EEH for pSeries hot plug
- Dropped changes to the PowerNV PHB EEH flag, instead refactor just enough to
  use the existing flag from multiple places.
- Merge the little remaining work from the above change into the patch where
  it's used.
Patch 6/6 (was 5/8 and 8/8): powerpc/eeh: Refactor around eeh_probe_devices()
- As it's so small, merged the enablement message patch into this one (where it's used).
- Reworked enablement messages.

Patch set v1:
Patch 1/8: powerpc/64: Adjust order in pcibios_init()
Patch 2/8: powerpc/eeh: Clear stale EEH_DEV_NO_HANDLER flag
Patch 3/8: powerpc/eeh: Convert PNV_PHB_FLAG_EEH to global flag
Patch 4/8: powerpc/eeh: Improve debug messages around device addition
Patch 5/8: powerpc/eeh: Add eeh_show_enabled()
Patch 6/8: powerpc/eeh: Initialize EEH address cache earlier
Patch 7/8: powerpc/eeh: EEH for pSeries hot plug
Patch 8/8: powerpc/eeh: Remove eeh_probe_devices() and eeh_addr_cache_build()

Sam Bobroff (6):
  powerpc/64: Adjust order in pcibios_init()
  powerpc/eeh: Clear stale EEH_DEV_NO_HANDLER flag
  powerpc/eeh: Improve debug messages around device addition
  powerpc/eeh: Initialize EEH address cache earlier
  powerpc/eeh: EEH for pSeries hot plug
  powerpc/eeh: Refactor around eeh_probe_devices()

 arch/powerpc/include/asm/eeh.h               |  8 +--
 arch/powerpc/kernel/eeh.c                    | 33 ++++-----
 arch/powerpc/kernel/eeh_cache.c              | 29 +-------
 arch/powerpc/kernel/eeh_driver.c             | 11 ++-
 arch/powerpc/kernel/of_platform.c            |  3 +-
 arch/powerpc/kernel/pci-common.c             |  4 --
 arch/powerpc/kernel/pci_32.c                 |  4 ++
 arch/powerpc/kernel/pci_64.c                 | 12 +++-
 arch/powerpc/platforms/powernv/eeh-powernv.c | 57 ++++++++++-----
 arch/powerpc/platforms/pseries/eeh_pseries.c | 75 +++++++++++---------
 arch/powerpc/platforms/pseries/pci.c         |  3 +-
 11 files changed, 127 insertions(+), 112 deletions(-)

-- 
2.19.0.2.gcad72f5712


^ permalink raw reply	[flat|nested] 24+ messages in thread
* [PATCH v2 0/6]
@ 2020-11-27  9:31 Zeyu Jin
  0 siblings, 0 replies; 24+ messages in thread
From: Zeyu Jin @ 2020-11-27  9:31 UTC (permalink / raw)
  To: quintela, dgilbert; +Cc: qemu-devel, Zeyu Jin, zhang.zhanghailiang

Currently we have both multi-thread compression and multifd to optimize
live migration in Qemu. Mulit-thread compression deals with the situation
where network bandwith is limited but cpu resource adequate. Multifd instead
aims to take full advantage of network bandwith. Moreover it supports both
zlib and zstd compression on each channel.

In this patch series, we did some code refactoring on multi-thread compression
live migration and bring zstd compression method support for it.

Below is the test result of multi-thread compression live migration
with different compress methods. Test result shows that zstd outperforms
zlib by about 70%.

 Migration Configuration:
 Guest 8U 32G
 compress-threads   8
 decompress-threads 2
 compress-level 1
 bandwidth-limit 100Mbps

 Test Result:
 +---------------------+--------------+-------------+
 |  compress method    |   zlib       |    zstd     |
 +---------------------+--------------+-------------+
 |  total time (ms)    |   75256      |    44187    |
 +---------------------+--------------+-------------+
 |  downtime(ms)       |   128        |    81       |
 +---------------------+--------------+-------------+
 |  transferred ram(kB)|   1576866    |    736117   |
 +---------------------+--------------+-------------+
 |  throughput(mbps)   |   172.06     |    137.16   |
 +---------------------+--------------+-------------+
 |  total ram(kB)      |   33685952   |    33685952 |
 +---------------------+--------------+-------------+

Zeyu Jin (6):
  migration: Add multi-thread compress method
  migration: Refactoring multi-thread compress migration
  migration: Add multi-thread compress ops
  migration: Add zstd support in multi-thread compression
  migration: Add compress_level sanity check
  doc: Update multi-thread compression doc

 docs/multi-thread-compression.txt |  31 ++-
 hw/core/qdev-properties-system.c  |  11 +
 include/hw/qdev-properties.h      |   4 +
 migration/migration.c             |  56 ++++-
 migration/migration.h             |   1 +
 migration/qemu-file.c             |  62 +----
 migration/qemu-file.h             |   4 +-
 migration/ram.c                   | 381 +++++++++++++++++++++++++-----
 monitor/hmp-cmds.c                |  12 +
 qapi/migration.json               |  26 +-
 10 files changed, 465 insertions(+), 123 deletions(-)

-- 
2.27.0



^ permalink raw reply	[flat|nested] 24+ messages in thread
* [PATCH v2 0/6]
@ 2019-05-15  6:26 vanitha.channaiah
  0 siblings, 0 replies; 24+ messages in thread
From: vanitha.channaiah @ 2019-05-15  6:26 UTC (permalink / raw)
  To: tiwai, patch; +Cc: twischer, alsa-devel

- Updated the patches by incorporating review comments from Takashi Iwai-san

[PATCH 1/5] pcm: direct: Add generic hw_ptr_alignment function for dmix, dshare and dsnoop
[Takashi Iwai:]
> The patch description needs rephrasing.  What actually this does is to move the code from pcm_dmix.c to pcm_direct.c
> and its header so that the helper code can be re-used by other direct-PCM plugins.

- Commit message is rephrased as suggested.
- New commit: [PATCH v2 1/6] pcm: direct: Add generic hw_ptr_alignment function for


[PATCH 2/5] pcm: dshare: Added "hw_ptr_alignment"	option in configuration for alignment of slave pointers
[Takashi Iwai:]
> Again, this patch description is too ambiguous.
> And, if it enables the hw_ptr_alignment option, update the documentation as well.

- Commit message is explained in detail for the changes done.
- Documentation updated.
- New commit: [PATCH v2 2/6] pcm: dshare: Added "hw_ptr_alignment" option in


[PATCH 3/5] pcm: dsnoop: Added "hw_ptr_alignment"	option in configuration for slave pointer alignment
[Takashi Iwai:]
> Ditto as patch 2, the description is too ambiguous, and the update of documentation is missing.
> It's not good to change the helper function semantics out of sudden, even without any description.

- Commit message is explained in detail for the changes done.
- Documentation updated.
- Divided the patch with commit ("pcm: dsnoop: Add hw_ptr_alignment option in configuration")
  into additional patch commit ("pcm: direct: Round up of slave_app_ptr pointer if buffer")
- Usecase scenario is described for the changes done in helper function.
- New commit:
    [PATCH v2 3/6] pcm: dsnoop: Added "hw_ptr_alignment" option in
    [PATCH v2 4/6] pcm: direct: Round up of slave_app_ptr pointer if buffer


[PATCH 4/5] pcm: restructuring sw params function
[Takashi Iwai:]
> I see no reason to do that.  Please describe.

- Commit message is explained in detail why reformating was done.
- New commit: [PATCH v2 5/6] pcm: restructuring sw params function


[PATCH 5/5] pcm: Update pcm->avail_min with	needed_slave_avail_min, after reading unaligned frames
[Takashi Iwai:]
> This kind of changes in the core code should be avoided as much as possible, especially if it's only relevant with the specific plugins.
> Sorry, this isn't convincing enough.  If this is a MUST, please clarify better.

- Commit message is explained in detail with the generic usecase and specific use case we came across.
- New commit: [PATCH v2 6/6] pcm: Update pcm->avail_min with needed_slave_avail_min,

^ permalink raw reply	[flat|nested] 24+ messages in thread
* [PATCH v2 0/6]
@ 2013-12-02 11:08 Andre Przywara
  2013-12-02 14:52 ` Ian Campbell
  0 siblings, 1 reply; 24+ messages in thread
From: Andre Przywara @ 2013-12-02 11:08 UTC (permalink / raw)
  To: Ian.Campbell, stefano.stabellini
  Cc: xen-devel, julien.grall, Andre Przywara, patches

This is a major rework of last week's ARM PSCI host support. The code
has been moved into a separate file and the code flow has been
changed substantially (see below for more details).
  ---------

Xen did not make use of the host provided ARM PSCI (Power State
Coordination Interface [1]) functionality so far, but relied on
platform specific SMP bringup functions.
This series adds support for PSCI on the host by reading the required
information from the DTB and invoking the appropriate handler when
bringing up each single CPU.
Since PSCI is defined for both ARM32 and ARM64, I added code for both
architectures, though only ARM32 is tested on Midway and VExpress
(without any PSCI support on the latter, just a regression test).
ARM64 code was compile tested only.

The ARM32 SMP boot flow is now as following:
The DTB is scanned for a node announcing PSCI support. If that is
available, call the PSCI handler via SMC to bringup the secondary
cores. If no PSCI has been found, call the platform specific cpu_up()
function. It is now the responsibility of those functions to do the
GIC SGI call to kick the secondary CPUs. For that a function is now
provided which does this, so three platforms now reference this
generic function instead of coding up an empty one and relying on the
GIC kick in Xen code later.

The ARM64 SMP boot flow is different: PSCI is not only described in a
root DTB node, but also advertised in each core's node as the
preferred SMP bringup method. So the PSCI call wrapper function is
registered as the cpu_up function when the DTB is scanned.

This patch series is split up as follows:
1/6) rename psci.c to vpsci.c to make room for the new, host-related
     code
2/6) move the GIC SGI kick into a separate function and call it now
     directly from the platform code, removing the empty cpu_up()
3/6) parse the DTB for a PSCI node and store the needed function index
4/6) add a function to actually invoke the firmware's PSCI handler
5/6) enable PSCI on ARM32 by adding the call to the PSCI handler
6/6) enable PSCI on ARM64 by registering the PSCI handler function


Changes from v1:
- much rework, PSCI host DTB scanning unchanged (v1: 1/4, v2: 3/6)
- moved host PSCI code to psci.c, renaming the old one to vpsci.c
- have a separate psci_available variable
- removing explicit "host" from function names
- returning standard error codes on DTB scanning
- do the ARM64 PSCI call from a registered function pointer
- move the GIC kick into a separate function
- more change to the code flow in general


Signed-off-by: Andre Przywara <andre.przywara@linaro.org>

[1]: http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.den0022b/index.html

Andre Przywara (6):
  arm: rename xen/arch/arm/psci.c into vpsci.c
  arm: move GIC SGI kicking into separate function
  arm: parse PSCI node from the host device-tree
  arm: add a function to invoke the PSCI handler
  arm32: enable PSCI secondary CPU bringup
  arm64: enable PSCI secondary CPU bringup

 xen/arch/arm/Makefile             |   1 +
 xen/arch/arm/arm32/smpboot.c      |   4 +-
 xen/arch/arm/arm64/smpboot.c      |  23 ++++++-
 xen/arch/arm/platform.c           |   6 +-
 xen/arch/arm/platforms/exynos5.c  |  11 +---
 xen/arch/arm/platforms/omap5.c    |  11 +---
 xen/arch/arm/platforms/vexpress.c |  10 +--
 xen/arch/arm/psci.c               | 127 +++++++++++++++++++-------------------
 xen/arch/arm/smpboot.c            |  22 +++++--
 xen/arch/arm/vpsci.c              |  93 ++++++++++++++++++++++++++++
 xen/include/asm-arm/psci.h        |   7 +++
 xen/include/asm-arm/smp.h         |   2 +
 12 files changed, 215 insertions(+), 102 deletions(-)
 create mode 100644 xen/arch/arm/vpsci.c

-- 
1.7.12.1

^ permalink raw reply	[flat|nested] 24+ messages in thread
* [PATCH V2 0/6]
@ 2010-07-22 16:29 Marc Kleine-Budde
  0 siblings, 0 replies; 24+ messages in thread
From: Marc Kleine-Budde @ 2010-07-22 16:29 UTC (permalink / raw)
  To: linux-arm-kernel

Hello,

this series of patches prepares the i.mx tree for the flexcan driver.
Clock support is added or adjusted. Missing defines for the base addresses
and interrupts are added.

The 5th patch uses the newly introduced dynamic registration scheme to
provide the flexcan devices. This patch contains two ifdefs to replace the
"imx_add_flexcan()" function by a noop if the flexcan driver is not
activated. This is needed to compile this series before the actual flexcan
driver and it's header file have been merged. The ifdefs can be removed
after merging.

The last patch registers flexcan to the pcm043.

please consider to apply.

cheers, Marc


P.S.: this can be pulled:

The following changes since commit ed300d7a8d115ef721b1f69ddf733e4c4dba4eac:

  iomux-mx51: add 4 pin definitions (2010-07-22 15:19:45 +0200)

are available in the git repository at:
  git://git.pengutronix.de/git/mkl/linux-2.6.git for-imx-for-2.6.36

Marc Kleine-Budde (5):
      mx25: add flexcan address and interrupt definition
      mx35: adjust flexcan clock definition
      mx35: add flexcan address
      imx: dynamically register flexcan devices for mx25 and mx35
      pcm043: register flexcan device

Sascha Hauer (1):
      mx25: flexcan clock support

^ permalink raw reply	[flat|nested] 24+ messages in thread
* [PATCH v2 0/6]
@ 2009-07-21 22:13 Glauber Costa
  0 siblings, 0 replies; 24+ messages in thread
From: Glauber Costa @ 2009-07-21 22:13 UTC (permalink / raw)
  To: kvm; +Cc: avi

Marcelo,

since you told me that you were not confrotable with the --enable-kvm
change without avi's ack, I'm dropping it, and sending the rest of the 
series again. On top of that, I'm also including some more cleanup patches:
one removes kvm_out{b,w,l}, in the same way I've already done with kvm_in{b,w,l},
and the other removes specific mmio functions.

Thanks!


^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2020-11-27  9:33 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-05-07  4:30 [PATCH v2 0/6] Sam Bobroff
2019-05-07  4:30 ` [PATCH v2 1/6] powerpc/64: Adjust order in pcibios_init() Sam Bobroff
2019-05-07  4:30 ` [PATCH v2 2/6] powerpc/eeh: Clear stale EEH_DEV_NO_HANDLER flag Sam Bobroff
2019-05-07  4:30 ` [PATCH v2 3/6] powerpc/eeh: Improve debug messages around device addition Sam Bobroff
2019-06-11  5:47   ` Alexey Kardashevskiy
2019-06-19  4:27     ` Sam Bobroff
2019-06-20  2:40       ` Alexey Kardashevskiy
2019-06-20  3:45         ` Oliver O'Halloran
2019-07-16  6:48           ` [EXTERNAL] " Sam Bobroff
2019-07-16  7:00             ` Oliver O'Halloran
2019-07-18  5:24               ` Sam Bobroff
2019-05-07  4:30 ` [PATCH v2 4/6] powerpc/eeh: Initialize EEH address cache earlier Sam Bobroff
2019-05-07  4:30 ` [PATCH v2 5/6] powerpc/eeh: EEH for pSeries hot plug Sam Bobroff
2019-05-07  4:30 ` [PATCH v2 6/6] powerpc/eeh: Refactor around eeh_probe_devices() Sam Bobroff
2019-06-05  5:49   ` Oliver
2019-06-19  5:53     ` Sam Bobroff
  -- strict thread matches above, loose matches on Subject: below --
2020-11-27  9:31 [PATCH v2 0/6] Zeyu Jin
2019-05-15  6:26 vanitha.channaiah
2013-12-02 11:08 Andre Przywara
2013-12-02 14:52 ` Ian Campbell
2013-12-04 12:16   ` Andre Przywara
2013-12-04 12:29     ` Ian Campbell
2010-07-22 16:29 [PATCH V2 0/6] Marc Kleine-Budde
2009-07-21 22:13 [PATCH v2 0/6] Glauber Costa

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.