Commit Graph

212222 Commits

Author SHA1 Message Date
jakllsch
217ea076e5 It turns out my previous commit here was off by one. 2012-07-22 19:07:33 +00:00
jakllsch
dc6a13a152 FLUSH CACHE EXT is a 48-bit command, issue as such. Both FLUSH CACHE commands
will return the LBA of first failure in the return task file, specifiy that we
want it read, even if we don't look at the value.
2012-07-22 18:42:11 +00:00
jakllsch
4c0d1d5807 ATA-6 and ACS-2 drafts both say the flush cache commands may take longer than
30 seconds to complete.  For now assume 5 minutes will always be enough.
2012-07-22 18:37:31 +00:00
jakllsch
e6706273af Port multiplier registers are 64-bits wide (although the ones we need only
implement 32-bits).  Implement the access routines using 64-bit values and add
32-bit wrappers thereto.
2012-07-22 18:21:17 +00:00
jakllsch
78a12c25c2 The vendor and product IDs are 16-bit, print out as such. 2012-07-22 18:17:30 +00:00
jakllsch
935da2146f Correctly issue port multiplier register access commands as LBA48 now that the
FIS code doesn't get in the way of doing that.
2012-07-22 18:12:01 +00:00
martin
e45fceb35a Fix printf formats 2012-07-22 18:09:16 +00:00
jakllsch
c2b3a5ec40 KASSERT if we attempt to access an invalid port.
Also, small whitespace change for internal consistency.
2012-07-22 18:03:34 +00:00
jakllsch
be34f7e01d SATA uses the head portion of the device register in the command protocol for
port multiplier register access.  Thus, in the LBA48 case, pass the complete
r(hd|dh)_dh byte back and forth to the upper layers.  (This is irrelevant in
the LBA28/CHS code path for what should be obvious reasons.)
2012-07-22 17:57:57 +00:00
martin
2626ebc27a Fix printf format 2012-07-22 17:48:53 +00:00
manu
c4b1a0ab97 Fix hang unmount bug introduced by last commit.
We introduced a slow queue for delayed reclaims, while the existing
queue for unmount, flush and exist has been renamed fast queue. Both
queues had timestamp for when an operation should be done, but it was
useless for the fast queue, which is always used to run an operation
ASAP. And the timestamp test had an error that turned ASAP into "at next
tick", but nobody what there to wake the thread at next tick, hence
the hang. The fix is to remove the useless and buggy timestamp test for
fast queue.
2012-07-22 17:40:46 +00:00
jakllsch
21c11346cc Use IST_LEVEL_HIGH for the ist argument to intr_establish() (as is done in
marvell_intr_establish() and other relevant places) instead of 0 in
mvsoc_bridge_intr_establish().  This IST argument isn't used anywhere,
but it looks better this way.
2012-07-22 17:14:18 +00:00
jakllsch
d2539b0884 The maximum watchdog period is dependant on mvTclk; calculate at runtime.
This gets the maximum period up to 25 seconds at 166⅔MHz mvTclk.
2012-07-22 16:59:10 +00:00
jakllsch
170dab62fb Remove duplicate global variable. 2012-07-22 16:54:35 +00:00
jakllsch
64a871484d When disabling watchdog timer, do not set the counter to 0.
Having the watchdog counter at 0 and having WDRstOutEn set to 1 causes
immediate watchdog reset on my 88F5182 A2.
2012-07-22 16:52:51 +00:00
darrenr
49ef629822 ansify new function definition 2012-07-22 16:40:40 +00:00
darrenr
8685465b07 ansify new function definition 2012-07-22 16:37:31 +00:00
darrenr
72926482fb ansify new function definition 2012-07-22 16:26:56 +00:00
darrenr
30a942f180 test cases n201 and n202 were removed on import of 5.1.2 2012-07-22 16:22:41 +00:00
darrenr
847affb24e h323 proxy removed 2012-07-22 16:19:34 +00:00
darrenr
109f582a52 ansify new functio definitions 2012-07-22 16:13:16 +00:00
matt
05305b42f7 Regen. 2012-07-22 14:37:34 +00:00
matt
c68c1f6de5 Add more FREESCALE devices
Fix RICOH RU5230 description
2012-07-22 14:36:44 +00:00
darrenr
e60fd761ef Merged IPFilter 5.1.2 into HEAD 2012-07-22 14:33:26 +00:00
matt
0bc3200029 Fix mii_statchg to take a 'struct ifnet *' instead of device_t. This fixes
problem with a common MDIO bus used for multiple interfaces.
Some drivers converted to CFATTACL_DECL_NEW.
2012-07-22 14:32:49 +00:00
darrenr
13885a6659 Merge IPFilter 5.1.2 into HEAD 2012-07-22 14:27:35 +00:00
matt
0594375659 Add a few missing devices. 2012-07-22 14:23:47 +00:00
matt
41b3f7407b Silence a gcc warning. 2012-07-22 14:02:45 +00:00
matt
7919b49c20 Use new style syscall format which uses __predict_* to optimize branches. 2012-07-22 14:02:11 +00:00
darrenr
c9d5dc6c77 Import IPFilter 5.1.2 2012-07-22 13:44:10 +00:00
rmind
28b444bcec Revert the test addition. 2012-07-22 11:30:14 +00:00
apb
044bbc98fd We still have tzcode2011i, as it said in the log message for
revision 1.920 of src/doc/3RDPARTY.  The wrong value mysteriously
appeared in the actual contents of revision 1.920.
2012-07-22 11:27:51 +00:00
apb
eb49e2e4e4 Updated from tzdata2012b to tzdata2012d. 2012-07-22 10:46:53 +00:00
apb
fa8247bf2e Merge tzdata2012d. 2012-07-22 10:40:29 +00:00
apb
5c269f597c Import tzdata2012d from ftp://ftp.iana.org/tz/releases/tzdata2012d.tar.gz
Major changes from tzdata2011b to tzdata2011c:
    africa
	    Summer time changes for Morocco (to start late April 2012)

    asia
	    Changes for 2012 for Gaza & the West Bank (Hebron) and Syria

    northamerica
	    Haiti following US/Canada rules for 2012 (and we're assuming,
	    for now anyway, for the future).

Major changes from tzdata2011c to tzdata2011d:

    Morocco does not observe DST from Jul 20 03:00 to
    Aug 20 02:00 [2012].

    Infrastructure changes to accommodate how the tz
    code and data are released on IANA.
2012-07-22 10:34:48 +00:00
apb
bd523a66c8 tzcode2012c / tzdata2012d were released on 19 July 2012. 2012-07-22 10:12:09 +00:00
martin
0180ae1c0a Add special handling needed for OLO10 relocations.
First part of fixing PR port-sparc64/46724.
2012-07-22 09:21:03 +00:00
martin
e97494f3ca Remove a debug assert that does not hold for PIE (e.g. phdr = 0x40, but
obj has not been mapped at 0, so obj->phdr is 0x100040).
OK: skrll
2012-07-22 09:16:35 +00:00
rmind
d65753d972 Move some the test for MAKEENTRY into the cache_enter(9). Make some
variables in vfs_cache.c static, __read_mostly, etc.

No objection on tech-kern@.
2012-07-22 00:53:18 +00:00
joerg
ca946cd63d Redo hashing, if two of the three individual hashes result in identical
hash modules. This is the trivial case for loops in the 3-graph and got
lost when adopting the nbperf code.
2012-07-21 22:49:37 +00:00
rmind
a7d27dddfd Add a simple test for cdb(5). 2012-07-21 22:22:55 +00:00
rmind
4ad5029440 - npf_fetch_tcpopts: fix off-by-one when validating TCP option length
against the maximum allowed.
- npf_tcp_inwindow: be more liberal with npf_fetch_tcpopts().
- Few minor improvements to npftest.
2012-07-21 17:11:01 +00:00
skrll
0c3c3bcfc7 Provide a method for attachments to specify capabilites. 2012-07-21 16:14:05 +00:00
gdt
b6bb903ff2 Add comments describing parameter handling for ip6_insertfraghdr.
Depending on compiler options, this code can be involved in an
(apparently) spurious compiler warning.  However, it was not
immediately obvious the the compiler was wrong.
2012-07-21 14:52:40 +00:00
martin
8f3c15e2f4 Add a test case that (if gcc supports it on the current arch) to compile
a PIE binary and see if we can run it.
2012-07-21 12:30:55 +00:00
skrll
734571d26b Add support for the ARM1176JZS 2012-07-21 12:19:15 +00:00
para
7e85a4e1d1 split allocation lookup table to decrease overall memory used
making allocator more flexible for allocations larger then 4kb
move the encoded "size" under DEBUG back to the begining of allocated chunk

no objections on tech-kern@
2012-07-21 11:45:04 +00:00
manu
075ba0e590 - Fix same vnodes associated with multiple cookies
The scheme used to retreive known nodes on lookup was flawed, as it only
used parent and name. This produced a different cookie for the same file
if it was renamed, when looking up ../ or when dealing with multiple files
associated with the same name through link(2).

We therefore abandon the use of node name and introduce hashed lists of
inodes. This causes a huge rewrite of reclaim code, which do not attempt
to keep parents allocated until all their children are reclaimed

- Fix race conditions in reclaim
There are a few situations where we issue multiple FUSE operations for
a PUFFS operation. On reclaim, we therefore have to wait for all FUSE
operation to complete, not just the current exchanges. We do this by
introducing node reference count with node_ref() and node_rele().

- Detect data loss caused by FAF
VOP_PUTPAGES causes FAF writes where the kernel does not check the
operation result. At least issue a warning on error.

- Enjoy FAF shortcut on setattr
No need to wait for the result if the kernel does not want it. There is
however an exception for setattr that touch the size, we need to wait
for completion because we have other operations queued for after the
resize.

- Fix fchmod() on write-open file
fchmod() on a node open with write privilege will send setattr with both mode and size set. This confuses some FUSE filesystem. Therefore we send two FUSE operations, one for mode, and one for size.

- Remove node TTL handling for netbsd-5 for simplicity sake. The code
still builds on netbsd-5 but does not have the node TTL feature anymore.
It works fine with kernel support on netbsd-6.
2012-07-21 05:49:42 +00:00
manu
8502ba8ea3 - Improve PUFFS_KFLAG_CACHE_FS_TTL by reclaiming older inactive nodes.
The normal kernel behavior is to retain inactive nodes in the freelist
until it runs out of vnodes. This has some merit for local filesystems,
where the cost of an allocation is about the same as the cost of a
lookup. But that situation is not true for distributed filesystems.
On the other hand, keeping inactive nodes for a long time hold memory
in the file server process, and when the kernel runs out of vnodes, it
produce reclaim avalanches that increase lattency for other operations.

We do not reclaim inactive vnodes immediatly either, as they may be
looked up again shortly. Instead we introduce a grace time and we
reclaim nodes that have been inactive beyond the grace time.

- Fix lookup/reclaim race condition.

The above improvement undercovered a race condition between lookup and
reclaim. If we reclaimed a vnode associated with a userland cookie while
a lookup returning that same cookiewas inprogress, then the kernel ends
up with a vnode associated with a cookie that has been reclaimed in
userland. Next operation on the cookie will crash (or at least confuse)
the filesystem.

We fix this by introducing a lookup count in kernel and userland. On
reclaim, the kernel sends the count, which enable userland to detect
situation where it initiated a lookup that is not completed in kernel.
In such a situation, the reclaim must be ignored, as the node is about
to be looked up again.
2012-07-21 05:17:10 +00:00
kiyohara
983ce0cbdd Add 88F6282 parameters.
Use MVSOC_UNITID_PEX instead of {ORION,KIRKWOOD}_UNITID_PEX.  This PEX UNITID is generic UNITID for MVSoC maybe.
2012-07-21 05:11:45 +00:00