1
0
mirror of https://github.com/openbsd/src.git synced 2025-01-10 06:47:55 -08:00
Commit Graph

130074 Commits

Author SHA1 Message Date
gilles
3f522ce892 fsqueue queue backend will implement a filesystem queue:
- fsqueue->setup() performs the queue initialization;
- fsqueue->message() controls messages;
- fsqueue->envelope() controls envelopes;

This commit brings the following to fsbackend:
fsqueue_setup(), fsqueue_message_delete(), fsqueue_envelope_load(),
fsqueue_envelope_update(), fsqueue_envelope_delete().

It also makes smtpd use the queue_backend API for these operations.
2011-04-14 20:11:08 +00:00
kettenis
7eda92f409 Make spstrcpy actually copy strings. 2011-04-14 19:37:07 +00:00
kettenis
4da97e7394 Get rid if pcb_uva, like we did on hppa a while ago since it creates evil
non-equivalent aliases.
2011-04-14 19:34:55 +00:00
shadchin
ff2d14b1f1 Reducing number of call update_leds().
Updating state LED only when necessary.

ok krw@
2011-04-14 19:25:54 +00:00
miod
754644a371 Sprinkle prototypes, kill unused locals, and stop contributing to global
warning.
2011-04-14 18:27:49 +00:00
gilles
2a81c1f881 smtpd makes too many assumptions about the structure and layout of its
disk-based queue, it makes it near impossible to make changes to it without
editing twenty files... how am i going to implement mongodb support ? :-)

bring a new queue_backend API which hides the details of the disk-based
queue to smtpd. it is not "plugged in" yet and I'm filling the holes.
2011-04-14 17:06:43 +00:00
jsing
8336c28887 Fix copy_on_fault by decrementing the stack pointer before restoring the
return pointer.
2011-04-14 14:06:06 +00:00
jsing
f77aee004d Regen. 2011-04-14 13:53:16 +00:00
jsing
96c5d68f1c Use 64-bit operations for address manipulation. 2011-04-14 13:52:29 +00:00
jsing
8cad6059a1 Correctly load p_addr and avoid trashing the source address. 2011-04-14 13:49:31 +00:00
jsing
bb1dbc3afb Ansify. 2011-04-14 13:24:04 +00:00
claudio
27684e4e2b Backout the in_iawithaddr() -> ifa_ifwithaddr() change.
There is a massive issue with broadcast addrs because ifa_ifwithaddr()
handles them differently then in_iawithaddr().
2011-04-14 08:15:26 +00:00
dlg
61e4c63ea0 do not disable interrupts in the isr and then enable them again
when leaving. when you're handling an interrupt it is masked.
whacking the chip is work for no gain.

modify the interrupt handler so it only processes the rings once,
rather than looping over them until it runs out of work to do.

looping in the isr is bad for several reasons:

firstly, the chip does interrupt mitigation so you have a
decent/predictable amount of work to do in the isr. your first loop
will do that chunk of work (ie, it pulls off 50ish packets), and
then the successive looping aggressively pull one or two packets
off the rx ring. these extra loops work against the benefit that
interrupt mitigation provides.

bus space reads are slow. we should avoid doing them where possible
(but we should always do them when necessary).

doing the loop 5 times per isr works against the mclgeti semantics.
it knows a nic is busy and therefore needs more rx descriptors by
watching to see when the nic uses all of its descriptors between
interrupts. if we're aggressively pulling packets off by looping
in the isr then we're skewing this check.

ok henning@ krw@
testing by sthen@
2011-04-14 06:27:52 +00:00
dlg
833d030d97 knf. remove extra spaces and wrap long lines. 2011-04-14 05:13:45 +00:00
marco
ebe23d175e stray space 2011-04-14 02:41:40 +00:00
marco
e5a7389444 Ignore scsi start stop instead of trying to be clever. A softraid
discipline should always reflect the correct status.  This fixes unexpected
state changes jordan saw.
2011-04-14 02:11:23 +00:00
markus
f3aefb33b0 add missing #include "pf.h" for NPF; ok mikeb, claudio, mpf 2011-04-13 22:15:59 +00:00
gilles
d14a0a4390 following an idea from jacekm@, smtpd now uses a ram-queue instead of doing
a continuous walk on the disk-queue. the implementation differs from what
jacekm@ commited (and I backed out) a while ago in that it uses a queue and
a host tree required for upcoming features.

code will be improved in tree, it requires changes to be done in queue and
bounce API, I just wanted to commit a working version first ...

tested by todd@ and I
2011-04-13 20:53:18 +00:00
kettenis
1e3d9c953f Export ENAMETOOLONG such that kernels compile again. 2011-04-13 18:45:33 +00:00
shadchin
11a0f9aa64 wskbd_holdscreen() is not needed and can be removed
ok miod@
2011-04-13 18:16:33 +00:00
jsing
4ebb2e0bf5 Make spstrcpy() work as advertised.
ok kettenis@
2011-04-13 17:36:29 +00:00
jsing
7b84d0eb4a Enable siop, scsibus and sd.
No objection from kettenis@
2011-04-13 15:25:22 +00:00
jsing
cc4a86a95d Remove some very noisy debug code. 2011-04-13 15:23:53 +00:00
jsing
6efffbebac Do not use a virtual address whilst in physical mode. Instead save the sp
and iir in the physical trap save area and copy into the trap frame once
back in virtual.

ok kettenis@
2011-04-13 15:22:48 +00:00
markus
6507611d21 print flags in hex; from hshoexer@; ok mikeb@ mpf@ 2011-04-13 11:31:27 +00:00
markus
a179681a34 export udpencap state of SA to userland; unbreaks sasyncd(8) with NAT/T.
ok mikeb@ fries@ mpf@ henning@ dlg@ matthew@
2011-04-13 11:28:47 +00:00
dlg
ea4f7f28fe to quote from the gospel of bus_dma.9:
Synchronization operations are expressed from the perspective of the host
   RAM, e.g., a device -> memory operation is a READ and a memory -> device
   operation is a WRITE.

the status block that the isr reads is written to by the device.
the chip writes to memory, it is therefore a READ.

this also adds the preread sync when the map is set up and the postread
sync when the map is torn down for better symmetry. there are probably
more issues like this in the code, but this is a start.

discovered while discussing another diff with claudio@
2011-04-13 07:28:35 +00:00
djm
12a1ff3fae mention valid -b sizes for ECDSA keys; bz#1862 2011-04-13 04:09:37 +00:00
djm
2af6c855ce improve wording; bz#1861 2011-04-13 04:02:48 +00:00
guenther
f1665d7922 Unrevert the FS.base diff: the issues were actually elsewhere
Additional testing by jasper@ and pea@
2011-04-13 02:49:12 +00:00
deraadt
92904bcc0a do not use NULL in an integer context 2011-04-13 00:56:25 +00:00
dlg
24d7d3dad7 modify the interrupt handler so it only processes the rings once,
rather than looping over them until it runs out of work to do.

looping in the isr is bad for several reasons:

firstly, the chip does interrupt mitigation so you have a
decent/predictable amount of work to do in the isr. your first loop
will do that chunk of work (ie, it pulls off 50ish packets), and
then the successive looping aggressively pull one or two packets
off the rx ring. these extra loops work against the benefit that
interrupt mitigation provides.

bus space reads are slow. we should avoid doing them where possible
(but we should always do them when necessary).

doing the loop 5 times per isr works against the mclgeti semantics.
it knows a nic is busy and therefore needs more rx descriptors by
watching to see when the nic uses all of its descriptors between
interrupts. if we're aggressively pulling packets off by looping
in the isr then we're skewing this check.

ok deraadt@ claudio@
this is like src/sys/dev/pci/if_ix.c r1.50.
2011-04-13 00:19:00 +00:00
dlg
48d5c3471a modify the interrupt handler so it only processes the rings once, rather
than looping over them until it runs out of work to do.

in my testing i have found that under what i consider high pps
(>160kpps) ix would loop 4 or 5 times in the interrupt handler,
where each loop does a bus_space_read and the mclgeti loop (ie, rx
dequeue followed by rx ring fill).

looping in the isr is bad for several reasons:

firstly, the chip does interrupt mitigation so you have a
decent/predictable amount of work to do in the isr. your first loop
will do that chunk of work (ie, it pulls off 50ish packets), and
then the successive looping aggressively pull one or two packets
off the rx ring. these extra loops work against the benefit that
interrupt mitigation provides.

bus space reads are slow. we should avoid doing them where possible
(but we should always do them when necessary).

doing the loop 5 times per isr works against the mclgeti semantics.
it knows a nic is busy and therefore needs more rx descriptors by
watching to see when the nic uses all of its descriptors between
interrupts. if we're aggressively pulling packets off by looping
in the isr then we're skewing this check.

ok deraadt@ claudio@
testing by phessler@ bluhm@ and me in production
2011-04-13 00:14:18 +00:00
jsg
976bf43cc7 regen 2011-04-12 22:41:16 +00:00
jsg
286c321e76 add some entries from submitted dmesgs 2011-04-12 22:40:22 +00:00
ratchov
dd964a889c Use mio_<backend>_ prefix for private midi-related functions and put
them in files named mio_<backend>.c
No behaviour change.
2011-04-12 21:40:22 +00:00
miod
a0779848b8 No longer special-case NULL as a long for kernel and bootblocks. 2011-04-12 21:39:22 +00:00
miod
34ed812028 A few, hopefully last, NULL-as-an-integer misuses. 2011-04-12 21:38:16 +00:00
deraadt
0d70a4c1f5 We need to delay 10msec after changing to/from D3 state. note: There are
some broken intel chipsets that require longer delays, we will cope with
that later hopefully.
ok kettenis
2011-04-12 20:29:35 +00:00
deraadt
dad257f25c document size argument; prodded by jmc 2011-04-12 20:24:56 +00:00
miod
4faaefd7e9 Fix uninitialized variable access introduced in 1.58, causing read access
to possibly favor the mirror instead of the main ccd by incorrectly
considering the main ccd is in the failure state, for interleaved+mirrored
ccds.
ok deraadt@
2011-04-12 20:18:13 +00:00
beck
4105c1419c Avoid kvm starvation due to softdeps waiting on too many mapped buffers,
thus possibly consuming all of our available kva mapping buffers for
deps. Diff and analysis actually comes from Pedro Martelleto (thanks!)
tested by me and thib

ok thib@, art@
2011-04-12 19:45:43 +00:00
jmc
bcfe7cda39 better document vi's startup (in terms of environment variables
and config files);

diff from Alexis Fouilhe
verified by millert
2011-04-12 18:08:00 +00:00
jsing
d5cc11fdeb Make mount work when the special is provided as a DUID.
Diff from Alexander Polakov.

ok phessler@
2011-04-12 14:51:40 +00:00
reyk
8ed1afddf2 Splicing is currently only supported for TCP relays, not for HTTP or
others (HTTP will need a more complicated splicing mechanism to switch
between headers and bodies in userland and kernel).  Add the "no
splice" flag for non-TCP relays by default to indicate it in the debug
and status output.
2011-04-12 12:43:13 +00:00
reyk
471dd29d03 update flags and printing of flags in debug mode, handle splicing flag. 2011-04-12 12:37:22 +00:00
kili
4535163628 Mention flags and environment knobs for MODGHC_BUILD = cabal.
ok jasper@
2011-04-12 12:11:24 +00:00
bluhm
570b76e9cd Enable socket splicing for relayd. This allows zero-copy data
forwarding for plain tcp connections.
feedback and ok reyk@
2011-04-12 11:45:18 +00:00
mikeb
0323138423 put the accepted socket of a diverted connection into the routing domain
of a connection originator.  this allows one to query the source rdomain
with a SO_RTABLE socket option.  figured out with reyk, ok claudio.
2011-04-12 10:47:29 +00:00
ratchov
78ccc9131a add missing tools.h file 2011-04-12 07:12:59 +00:00