lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20110317133532.GA6120@dumpdata.com>
Date:	Thu, 17 Mar 2011 09:35:32 -0400
From:	Konrad Rzeszutek Wilk <konrad.wilk@...cle.com>
To:	Linus Torvalds <torvalds@...ux-foundation.org>,
	linux-kernel@...r.kernel.org
Cc:	Ian Campbell <Ian.Campbell@...citrix.com>
Subject: [GIT PULL] (xen) stable/irq.fairness and
 stable/irq.ween_of_nr_irqs for 2.6.39

Hey Linus,

This pull request is coming in a bit late b/c it utilizes a lot
of the functionality provided by "genirq: Make nr_irqs runtime expandable"
(e7bcecb7b1d29b9ad5af939149a945658620ca8f) 

It also brings in conflict that is easy to solve. I've put the merge
and the conflict resolution in the for-2.6.39/irq.phase.two branch to make
it easier to visualize (I rebased it on your latest master just to show the commit
fix - also Stephen's #linux-next carries a similar commit solution).

Please pull these two branches:

  git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git stable/irq.fairness stable/irq.ween_of_nr_irqs

I tried doing it in one swoop and hit an extra commit error with
"static struct cpu_evtchn_s.." b/c that particular piece of code gets removed
by the stable/irq.ween_of_nr_irqs code.

If you do it with two git pulls it works out nicely with just one conflict.


Back to the description.

#stable/irq.fairness is based off stable/irq.cleanup (which you pulled on Monday)

.. which allows the event nr->IRQ dispatch code to go round-robin across the events.
Previously it would always start at zero causing starvation issues when there were lots
of guests running. With this patchset we go fairly across the full spectrum of events
and execute in a fair fashion the IRQ handlers that are tied in with the event channel.

#stable/irq.ween_of_nr_irqs is also based off stable/irq.cleanup

.. and it does a nice job of cleaning up the IRQ code further and collapsing a lot
functionality in common code. It also allows us now to grow dynamically
the IRQ limit by using Thomas's "genirq: Make nr_irqs runtime expandable"
functionality. Really neat!

The diffstat:

 arch/x86/pci/xen.c   |   41 ++++--
 drivers/xen/events.c |  439 ++++++++++++++++++++++++++++++--------------------
 include/xen/events.h |   24 ++--
 3 files changed, 300 insertions(+), 204 deletions(-)

And the full log:

Ian Campbell (16):
      xen: events: Make last processed event channel a per-cpu variable.
      xen: events: separate two unrelated halves of if condition
      xen: events: simplify comment
      xen: events: fix xen_map_pirq_gsi error return
      xen: events: remove unused public functions
      xen: events: rename restore_cpu_pirqs -> restore_pirqs
      xen: events: refactor GSI pirq bindings functions
      xen: events: use per-cpu variable for cpu_evtchn_mask
      xen: events: turn irq_info constructors into initialiser functions
      xen: events: push setup of irq<->{evtchn,ipi,virq,pirq} maps into irq_info init functions
      xen: events: maintain a list of Xen interrupts
      xen: events: dynamically allocate irq info structures
      xen: events: remove use of nr_irqs as upper bound on number of pirqs
      xen: events: do not workaround too-small nr_irqs
      xen: events: propagate irq allocation failure instead of panicking
      xen: events: correct locking in xen_irq_from_pirq

Keir Fraser (3):
      xen: events: Clean up round-robin evtchn scan.
      xen: events: Make round-robin scan fairer by snapshotting each l2 word once only
      xen: events: Remove redundant clear of l2i at end of round-robin loop

Konrad Rzeszutek Wilk (1):
      xen: events: Fix compile error if CONFIG_SMP is not defined.

Scott Rixner (1):
      xen: events: Process event channels notifications in round-robin order.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ