Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2f8d01a1 authored by Christoffer Dall's avatar Christoffer Dall
Browse files

Merge remote-tracking branch 'kvm/next' into kvm-arm-next

parents 82ea046c d5701426
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -18,17 +18,17 @@ this byte for application use, with the following caveats:
	    parameters containing user virtual addresses *must* have
	    their top byte cleared before trapping to the kernel.

	(2) Tags are not guaranteed to be preserved when delivering
	    signals. This means that signal handlers in applications
	    making use of tags cannot rely on the tag information for
	    user virtual addresses being maintained for fields inside
	    siginfo_t. One exception to this rule is for signals raised
	    in response to debug exceptions, where the tag information
	(2) Non-zero tags are not preserved when delivering signals.
	    This means that signal handlers in applications making use
	    of tags cannot rely on the tag information for user virtual
	    addresses being maintained for fields inside siginfo_t.
	    One exception to this rule is for signals raised in response
	    to watchpoint debug exceptions, where the tag information
	    will be preserved.

	(3) Special care should be taken when using tagged pointers,
	    since it is likely that C compilers will not hazard two
	    addresses differing only in the upper bits.
	    virtual addresses differing only in the upper byte.

The architecture prevents the use of a tagged PC, so the upper byte will
be set to a sign-extension of bit 55 on exception return.
+7 −7
Original line number Diff line number Diff line
@@ -359,11 +359,9 @@ struct inode_operations {
	ssize_t (*listxattr) (struct dentry *, char *, size_t);
	int (*removexattr) (struct dentry *, const char *);
	void (*update_time)(struct inode *, struct timespec *, int);
	int (*atomic_open)(struct inode *, struct dentry *,
	int (*atomic_open)(struct inode *, struct dentry *, struct file *,
			unsigned open_flag, umode_t create_mode, int *opened);
	int (*tmpfile) (struct inode *, struct dentry *, umode_t);
} ____cacheline_aligned;
				struct file *, unsigned open_flag,
				umode_t create_mode, int *opened);
};

Again, all methods are called without any locks being held, unless
@@ -470,9 +468,11 @@ otherwise noted.
  	method the filesystem can look up, possibly create and open the file in
  	one atomic operation.  If it cannot perform this (e.g. the file type
  	turned out to be wrong) it may signal this by returning 1 instead of
  	usual 0 or -ve .  This method is only called if the last
  	component is negative or needs lookup.  Cached positive dentries are
  	still handled by f_op->open().
	usual 0 or -ve .  This method is only called if the last component is
	negative or needs lookup.  Cached positive dentries are still handled by
	f_op->open().  If the file was created, the FILE_CREATED flag should be
	set in "opened".  In case of O_EXCL the method must only succeed if the
	file didn't exist and hence FILE_CREATED shall always be set on success.

  tmpfile: called in the end of O_TMPFILE open().  Optional, equivalent to
	atomically creating, opening and unlinking a file in given directory.
+6 −0
Original line number Diff line number Diff line
@@ -1362,6 +1362,12 @@ To add ARP targets:
To remove an ARP target:
# echo -192.168.0.100 > /sys/class/net/bond0/bonding/arp_ip_target

To configure the interval between learning packet transmits:
# echo 12 > /sys/class/net/bond0/bonding/lp_interval
	NOTE: the lp_inteval is the number of seconds between instances where
the bonding driver sends learning packets to each slaves peer switch.  The
default interval is 1 second.

Example Configuration
---------------------
	We begin with the same example that is shown in section 3.3,
+1 −3
Original line number Diff line number Diff line
@@ -66,9 +66,7 @@ rq->cfs.load value, which is the sum of the weights of the tasks queued on the
runqueue.

CFS maintains a time-ordered rbtree, where all runnable tasks are sorted by the
p->se.vruntime key (there is a subtraction using rq->cfs.min_vruntime to
account for possible wraparounds).  CFS picks the "leftmost" task from this
tree and sticks to it.
p->se.vruntime key. CFS picks the "leftmost" task from this tree and sticks to it.
As the system progresses forwards, the executed tasks are put into the tree
more and more to the right --- slowly but surely giving a chance for every task
to become the "leftmost task" and thus get on the CPU within a deterministic
+7 −0
Original line number Diff line number Diff line
@@ -43,6 +43,13 @@ KVM_FEATURE_CLOCKSOURCE2 || 3 || kvmclock available at msrs
KVM_FEATURE_ASYNC_PF               ||     4 || async pf can be enabled by
                                   ||       || writing to msr 0x4b564d02
------------------------------------------------------------------------------
KVM_FEATURE_STEAL_TIME             ||     5 || steal time can be enabled by
                                   ||       || writing to msr 0x4b564d03.
------------------------------------------------------------------------------
KVM_FEATURE_PV_EOI                 ||     6 || paravirtualized end of interrupt
                                   ||       || handler can be enabled by writing
                                   ||       || to msr 0x4b564d04.
------------------------------------------------------------------------------
KVM_FEATURE_PV_UNHALT              ||     7 || guest checks this feature bit
                                   ||       || before enabling paravirtualized
                                   ||       || spinlock support.
Loading