Re: svn commit: r290220 - head/share/mk

2015-10-30 Thread NGie Cooper
> On Oct 30, 2015, at 20:30, Bryan Drewery wrote: > >> On Oct 30, 2015, at 19:18, NGie Cooper wrote: >> >>> On Fri, Oct 30, 2015 at 7:07 PM, Bryan Drewery wrote: >>> Author: bdrewery >>> Date: Sat Oct 31 02:07:30 2015 >>> New Revision: 290220 >>> URL: https://svnweb.freebsd.org/changeset/base

svn commit: r290224 - head/sys/kern

2015-10-30 Thread Warner Losh
Author: imp Date: Sat Oct 31 04:53:07 2015 New Revision: 290224 URL: https://svnweb.freebsd.org/changeset/base/290224 Log: The error classification from lower layers is a poor indicator of whether an error is recoverable. Always re-dirty the buffer on errors from write requests. The invalida

svn commit: r290223 - head/libexec/rtld-elf

2015-10-30 Thread Warner Losh
Author: imp Date: Sat Oct 31 04:39:55 2015 New Revision: 290223 URL: https://svnweb.freebsd.org/changeset/base/290223 Log: Rather than using the #define for path names, indirect through a char * variable that could change for different executable types detected. Modified: head/libexec/rtld-

svn commit: r290222 - head/libexec/rtld-elf

2015-10-30 Thread Warner Losh
Author: imp Date: Sat Oct 31 04:39:28 2015 New Revision: 290222 URL: https://svnweb.freebsd.org/changeset/base/290222 Log: Move all the paths into a new path.h to centralize them. Added: head/libexec/rtld-elf/paths.h (contents, props changed) Modified: head/libexec/rtld-elf/libmap.c hea

Re: svn commit: r290220 - head/share/mk

2015-10-30 Thread Bryan Drewery
On 10/30/2015 8:51 PM, Bryan Drewery wrote: > On 10/30/2015 8:30 PM, Bryan Drewery wrote: >> >> >>> On Oct 30, 2015, at 19:18, NGie Cooper wrote: >>> On Fri, Oct 30, 2015 at 7:07 PM, Bryan Drewery wrote: Author: bdrewery Date: Sat Oct 31 02:07:30 2015 New Revision: 29022

Re: svn commit: r290220 - head/share/mk

2015-10-30 Thread Bryan Drewery
On 10/30/2015 8:30 PM, Bryan Drewery wrote: > > >> On Oct 30, 2015, at 19:18, NGie Cooper wrote: >> >>> On Fri, Oct 30, 2015 at 7:07 PM, Bryan Drewery wrote: >>> Author: bdrewery >>> Date: Sat Oct 31 02:07:30 2015 >>> New Revision: 290220 >>> URL: https://svnweb.freebsd.org/changeset/base/29022

Re: svn commit: r290220 - head/share/mk

2015-10-30 Thread Bryan Drewery
On 10/30/2015 8:30 PM, Bryan Drewery wrote: > > >> On Oct 30, 2015, at 19:18, NGie Cooper wrote: >> >>> On Fri, Oct 30, 2015 at 7:07 PM, Bryan Drewery wrote: >>> Author: bdrewery >>> Date: Sat Oct 31 02:07:30 2015 >>> New Revision: 290220 >>> URL: https://svnweb.freebsd.org/changeset/base/29022

Re: svn commit: r290220 - head/share/mk

2015-10-30 Thread Bryan Drewery
> On Oct 30, 2015, at 19:18, NGie Cooper wrote: > >> On Fri, Oct 30, 2015 at 7:07 PM, Bryan Drewery wrote: >> Author: bdrewery >> Date: Sat Oct 31 02:07:30 2015 >> New Revision: 290220 >> URL: https://svnweb.freebsd.org/changeset/base/290220 >> >> Log: >> Don't hide stderr when checking ${CC

Re: svn commit: r290221 - head/sys/powerpc/powerpc

2015-10-30 Thread Justin Hibbits
On Oct 30, 2015, at 9:27 PM, Conrad Meyer wrote: Comments inline. On Fri, Oct 30, 2015 at 7:08 PM, Justin Hibbits wrote: Author: jhibbits Date: Sat Oct 31 02:08:39 2015 New Revision: 290221 URL: https://svnweb.freebsd.org/changeset/base/290221 Log: Print unsigned memory sizes, to handle

Re: svn commit: r290221 - head/sys/powerpc/powerpc

2015-10-30 Thread Conrad Meyer
Comments inline. On Fri, Oct 30, 2015 at 7:08 PM, Justin Hibbits wrote: > Author: jhibbits > Date: Sat Oct 31 02:08:39 2015 > New Revision: 290221 > URL: https://svnweb.freebsd.org/changeset/base/290221 > > Log: > Print unsigned memory sizes, to handle >2GB RAM on 32-bit powerpc. >... > ===

Re: svn commit: r290220 - head/share/mk

2015-10-30 Thread NGie Cooper
On Fri, Oct 30, 2015 at 7:07 PM, Bryan Drewery wrote: > Author: bdrewery > Date: Sat Oct 31 02:07:30 2015 > New Revision: 290220 > URL: https://svnweb.freebsd.org/changeset/base/290220 > > Log: > Don't hide stderr when checking ${CC} --version. > > This can have important debugging information

svn commit: r290221 - head/sys/powerpc/powerpc

2015-10-30 Thread Justin Hibbits
Author: jhibbits Date: Sat Oct 31 02:08:39 2015 New Revision: 290221 URL: https://svnweb.freebsd.org/changeset/base/290221 Log: Print unsigned memory sizes, to handle >2GB RAM on 32-bit powerpc. Sponsored by: Alex Perez/Intertial Computing Modified: head/sys/powerpc/powerpc/machdep.c Mo

svn commit: r290220 - head/share/mk

2015-10-30 Thread Bryan Drewery
Author: bdrewery Date: Sat Oct 31 02:07:30 2015 New Revision: 290220 URL: https://svnweb.freebsd.org/changeset/base/290220 Log: Don't hide stderr when checking ${CC} --version. This can have important debugging information such as 'cc: not found' or 'ccache: error: Could not find compiler

Re: svn commit: r290219 - head/sys/mips/mips

2015-10-30 Thread Adrian Chadd
patch from: ian sorry ian! -a On 30 October 2015 at 17:29, Adrian Chadd wrote: > Author: adrian > Date: Sat Oct 31 00:29:26 2015 > New Revision: 290219 > URL: https://svnweb.freebsd.org/changeset/base/290219 > > Log: > mips: do mips_sync() on sync operations to uncachable memory. > > mips

svn commit: r290219 - head/sys/mips/mips

2015-10-30 Thread Adrian Chadd
Author: adrian Date: Sat Oct 31 00:29:26 2015 New Revision: 290219 URL: https://svnweb.freebsd.org/changeset/base/290219 Log: mips: do mips_sync() on sync operations to uncachable memory. mips24k/mips74k document that we need an explicit SYNC so to order things correctly, even with access

Re: svn commit: r290218 - head/sys/mips/include

2015-10-30 Thread Adrian Chadd
.. bridging is now up to 720mbit. When I started all of this poking the bridging performance on the QCA9558 SoC was 120mbit from arge0->arge1. ... and I think i'm done. Please report bugs. -adrian ___ svn-src-head@freebsd.org mailing list https://lis

svn commit: r290218 - head/sys/mips/include

2015-10-30 Thread Adrian Chadd
Author: adrian Date: Sat Oct 31 00:04:44 2015 New Revision: 290218 URL: https://svnweb.freebsd.org/changeset/base/290218 Log: mips74k: use cache-writeback for memory, not writethrough. When I ported this code from netbsd I was .. slightly mips74k greener. I used writethrough because (a) i

svn commit: r290217 - head/sys/mips/atheros

2015-10-30 Thread Adrian Chadd
Author: adrian Date: Fri Oct 30 23:59:52 2015 New Revision: 290217 URL: https://svnweb.freebsd.org/changeset/base/290217 Log: arge_mdio: fix barriers; correctly check MII indicator register. * use barriers in a slightly better fashion. You can blame this glass of whiskey on putting bar

svn commit: r290216 - head/sys/mips/atheros

2015-10-30 Thread Adrian Chadd
Author: adrian Date: Fri Oct 30 23:57:20 2015 New Revision: 290216 URL: https://svnweb.freebsd.org/changeset/base/290216 Log: arge: fix barrier macro. Modified: head/sys/mips/atheros/if_argevar.h Modified: head/sys/mips/atheros/if_argevar.h ===

svn commit: r290215 - head/sys/mips/atheros

2015-10-30 Thread Adrian Chadd
Author: adrian Date: Fri Oct 30 23:18:02 2015 New Revision: 290215 URL: https://svnweb.freebsd.org/changeset/base/290215 Log: arge: attempt to close a transmit race by only enabling the descriptor at the end of setup. This driver and the linux ag71xx driver both treat the transmit ring a

svn commit: r290214 - head/sys/mips/atheros

2015-10-30 Thread Adrian Chadd
Author: adrian Date: Fri Oct 30 23:09:08 2015 New Revision: 290214 URL: https://svnweb.freebsd.org/changeset/base/290214 Log: arge: just use 1U since it's a 32 bit unsigned destination value. Modified: head/sys/mips/atheros/if_arge.c Modified: head/sys/mips/atheros/if_arge.c

svn commit: r290213 - head/sys/mips/atheros

2015-10-30 Thread Adrian Chadd
Author: adrian Date: Fri Oct 30 23:07:32 2015 New Revision: 290213 URL: https://svnweb.freebsd.org/changeset/base/290213 Log: arge: do an explicit flush between updating the TX ring and starting transmit. The MIPS busdma sync operations currently are a big no-op on coherent memory. This i

svn commit: r290212 - head/sys/mips/atheros

2015-10-30 Thread Adrian Chadd
Author: adrian Date: Fri Oct 30 23:00:47 2015 New Revision: 290212 URL: https://svnweb.freebsd.org/changeset/base/290212 Log: arge_mdio: add explicit read barriers for MDIO_READs. The mips74k programmers guide notes that reads can be re-ordered, even uncached ones, so we need an explicit

svn commit: r290211 - head/sys/mips/atheros

2015-10-30 Thread Adrian Chadd
Author: adrian Date: Fri Oct 30 22:55:41 2015 New Revision: 290211 URL: https://svnweb.freebsd.org/changeset/base/290211 Log: arge: ensure there's enough space in the TX ring before attempting to send frames. This matches the other check for space. "enough" is a misnomer, for "reason

svn commit: r290210 - head/sys/mips/atheros

2015-10-30 Thread Adrian Chadd
Author: adrian Date: Fri Oct 30 22:53:30 2015 New Revision: 290210 URL: https://svnweb.freebsd.org/changeset/base/290210 Log: arge: do a read-after-write on all arge register writes, not just MDIO writes. This flushes out the write to the system before anything continues. The mips74k g

Re: svn commit: r289279 - in head/sys: kern vm

2015-10-30 Thread Bryan Drewery
On 10/13/2015 7:10 PM, Jeff Roberson wrote: > Author: jeff > Date: Wed Oct 14 02:10:07 2015 > New Revision: 289279 > URL: https://svnweb.freebsd.org/changeset/base/289279 > > Log: > Parallelize the buffer cache and rewrite getnewbuf(). This results in a > 8x performance improvement in a micro

Re: svn commit: r289279 - in head/sys: kern vm

2015-10-30 Thread Tijl Coosemans
On Thu, 29 Oct 2015 22:33:34 +0200 Konstantin Belousov wrote: > On Thu, Oct 29, 2015 at 09:25:54PM +0100, Tijl Coosemans wrote: >> On Wed, 14 Oct 2015 02:10:07 + (UTC) Jeff Roberson >> wrote: >>> Author: jeff >>> Date: Wed Oct 14 02:10:07 2015 >>> New Revision: 289279 >>> URL: https://svn

svn commit: r290208 - head/cddl/usr.sbin/dtrace/tests

2015-10-30 Thread Bryan Drewery
Author: bdrewery Date: Fri Oct 30 21:23:14 2015 New Revision: 290208 URL: https://svnweb.freebsd.org/changeset/base/290208 Log: Remove unneeded _RECURSING_PROGS check. It is definitely not needed after r288158, and is a private variable as well that should not be checked here. MFC af

svn commit: r290207 - in head: . crypto/openssl crypto/openssl/apps crypto/openssl/crypto crypto/openssl/crypto/aes crypto/openssl/crypto/aes/asm crypto/openssl/crypto/asn1 crypto/openssl/crypto/bi...

2015-10-30 Thread Jung-uk Kim
2015(r290207) @@ -38,6 +38,15 @@ # xargs -n1 | sort | uniq -d; # done +# 20151030: OpenSSL 1.0.2d import +OLD_FILES+=usr/share/openssl/man/man3/CMS_set1_signer_certs.3.gz +OLD_FILES+=usr/share/openssl/man/man3/EVP_PKEY_ctrl.3.gz +OLD_FILES+=usr/share/openssl/man/man3/EVP_PKEY_ctrl_str.3

svn commit: r290206 - head/sys/kern

2015-10-30 Thread Konstantin Belousov
Author: kib Date: Fri Oct 30 20:47:42 2015 New Revision: 290206 URL: https://svnweb.freebsd.org/changeset/base/290206 Log: Minor (and incomplete) style cleanup. Sponsored by: The FreeBSD Foundation MFC after:1 week Modified: head/sys/kern/kern_umtx.c Modified: head/sys/kern/kern_u

svn commit: r290205 - head/bin/ls/tests

2015-10-30 Thread Ed Maste
Author: emaste Date: Fri Oct 30 20:14:32 2015 New Revision: 290205 URL: https://svnweb.freebsd.org/changeset/base/290205 Log: Update ls -l tests to use mtime, not birthtime PR: 204155 Reviewed by: ngie, rodrigc Sponsored by: The FreeBSD Foundation Differential Revision:

svn commit: r290204 - head/sys/kern

2015-10-30 Thread Konstantin Belousov
Author: kib Date: Fri Oct 30 19:32:30 2015 New Revision: 290204 URL: https://svnweb.freebsd.org/changeset/base/290204 Log: Also mark compat32 umtx op table as constant. Sponsored by: The FreeBSD Foundation MFC after:1 week Modified: head/sys/kern/kern_umtx.c Modified: head/sys/ker

svn commit: r290202 - in head/sys: kern sys

2015-10-30 Thread Konstantin Belousov
Author: kib Date: Fri Oct 30 19:20:40 2015 New Revision: 290202 URL: https://svnweb.freebsd.org/changeset/base/290202 Log: Use C99 array initialization, which also makes the code self-documented, and eases addition of new ops. For the similar reasons, eliminate UMTX_OP_MAX. nitems() hand

Re: svn commit: r290201 - head/sys/dev/xen/netfront

2015-10-30 Thread Bryan Drewery
On 10/30/15 10:12 AM, Simon J. Gerraty wrote: > Author: sjg > Date: Fri Oct 30 17:12:15 2015 > New Revision: 290201 > URL: https://svnweb.freebsd.org/changeset/base/290201 > > Log: > Do not FALLTHROUGH for SIOC{ADD,DEL}MULTI > > ifmedia_ioctl() returns EINVAL > > Differential Revision:

svn commit: r290201 - head/sys/dev/xen/netfront

2015-10-30 Thread Simon J. Gerraty
Author: sjg Date: Fri Oct 30 17:12:15 2015 New Revision: 290201 URL: https://svnweb.freebsd.org/changeset/base/290201 Log: Do not FALLTHROUGH for SIOC{ADD,DEL}MULTI ifmedia_ioctl() returns EINVAL Differential Revision:3897 Submitted by: aro...@juniper.net Reviewed by: marc

svn commit: r290200 - head/lib/libc/tests/ssp

2015-10-30 Thread Sean Bruno
Author: sbruno Date: Fri Oct 30 17:05:52 2015 New Revision: 290200 URL: https://svnweb.freebsd.org/changeset/base/290200 Log: Not all targets support by clang have a tested or enabled ubsan yet. Only enable h_raw on x86 targets for today so that a buildworld runs to completion for clang e

svn commit: r290199 - in head/sys/dev: nvd nvme

2015-10-30 Thread Jim Harris
Author: jimharris Date: Fri Oct 30 16:35:18 2015 New Revision: 290199 URL: https://svnweb.freebsd.org/changeset/base/290199 Log: nvd, nvme: report stripesize through GEOM disk layer MFC after:3 days Sponsored by: Intel Modified: head/sys/dev/nvd/nvd.c head/sys/dev/nvme/nvme.h h

svn commit: r290198 - head/sys/dev/nvme

2015-10-30 Thread Jim Harris
Author: jimharris Date: Fri Oct 30 16:06:34 2015 New Revision: 290198 URL: https://svnweb.freebsd.org/changeset/base/290198 Log: nvme: fix race condition in split bio completion path Fixes race condition observed under following circumstances: 1) I/O split on 128KB boundary with Intel

svn commit: r290197 - in head: etc/defaults etc/rc.d sys/kern

2015-10-30 Thread Edward Tomasz Napierala
Author: trasz Date: Fri Oct 30 15:52:10 2015 New Revision: 290197 URL: https://svnweb.freebsd.org/changeset/base/290197 Log: After r290196, the kernel won't wait for stuff like gmirror nodes if they are not required for mounting rootfs. However, it's possible that some setups try to mount t

svn commit: r290196 - head/sys/kern

2015-10-30 Thread Edward Tomasz Napierala
Author: trasz Date: Fri Oct 30 15:35:04 2015 New Revision: 290196 URL: https://svnweb.freebsd.org/changeset/base/290196 Log: Make root mount wait mechanism smarter, by making it wait only if the root device doesn't yet exist. Reviewed by: kib@, marcel@ MFC after:1 month Sponsored

Re: svn commit: r290003 - head/sys/ofed/include/linux

2015-10-30 Thread Bryan Drewery
> On Oct 30, 2015, at 03:15, Gary Jennejohn wrote: > > On Fri, 30 Oct 2015 09:04:36 +0100 > Hans Petter Selasky wrote: > >>> On 10/30/15 08:41, Gary Jennejohn wrote: >>> On Thu, 29 Oct 2015 16:28:51 +0100 >>> Hans Petter Selasky wrote: >>> On 10/29/15 15:36, Gleb Smirnoff wrote: >

svn commit: r290195 - head/sys/dev/usb/controller

2015-10-30 Thread Hans Petter Selasky
Author: hselasky Date: Fri Oct 30 14:50:29 2015 New Revision: 290195 URL: https://svnweb.freebsd.org/changeset/base/290195 Log: Reduce the DWC OTG interrupt load by not reading all the host channel status registers for every interrupt. Check a common host channel status interrupt register fi

Re: svn commit: r290192 - head/contrib/gdb/gdb

2015-10-30 Thread Andrew Turner
On Fri, 30 Oct 2015 12:21:37 + (UTC) Zbigniew Bodek wrote: > Author: zbb > Date: Fri Oct 30 12:21:37 2015 > New Revision: 290192 > URL: https://svnweb.freebsd.org/changeset/base/290192 > > Log: > Workaround KGDB issues on ARM by ignoring ARM EABI version higher > than 5 > To make KGDB w

svn commit: r290193 - head/gnu/usr.bin/gdb/kgdb

2015-10-30 Thread Zbigniew Bodek
Author: zbb Date: Fri Oct 30 12:37:40 2015 New Revision: 290193 URL: https://svnweb.freebsd.org/changeset/base/290193 Log: Use PCB/LR from PCB rather from stack on armv7-gdb The kernel dump does not store these values on the stack. Use PCB structure to resolve PC and LR properly. Sub

svn commit: r290192 - head/contrib/gdb/gdb

2015-10-30 Thread Zbigniew Bodek
Author: zbb Date: Fri Oct 30 12:21:37 2015 New Revision: 290192 URL: https://svnweb.freebsd.org/changeset/base/290192 Log: Workaround KGDB issues on ARM by ignoring ARM EABI version higher than 5 To make KGDB working, it needs to understand kernel ELF image. By default it is compiled usin

svn commit: r290191 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs

2015-10-30 Thread Andriy Gapon
Author: avg Date: Fri Oct 30 12:00:34 2015 New Revision: 290191 URL: https://svnweb.freebsd.org/changeset/base/290191 Log: l2arc: do not call trim_map_free() for blocks with zero b_asize b_asize can be zero if the block is compressed into an empty block (ZIO_COMPRESS_EMPTY) and the trim c

Re: svn commit: r290003 - head/sys/ofed/include/linux

2015-10-30 Thread Gary Jennejohn
On Fri, 30 Oct 2015 09:04:36 +0100 Hans Petter Selasky wrote: > On 10/30/15 08:41, Gary Jennejohn wrote: > > On Thu, 29 Oct 2015 16:28:51 +0100 > > Hans Petter Selasky wrote: > > > >> On 10/29/15 15:36, Gleb Smirnoff wrote: > The LinuxKPI is not a binary compatibility module, and will a

svn commit: r290190 - head/tools/regression/security/open_to_operation

2015-10-30 Thread Garrett Cooper
Author: ngie Date: Fri Oct 30 10:09:04 2015 New Revision: 290190 URL: https://svnweb.freebsd.org/changeset/base/290190 Log: Fix compiler warnings with open_to_operation.c Other sidenotes: - Remove unused variables with main(..) - Convert errx/exit with -1 to errx/exit with 1 - Fix a b

svn commit: r290188 - head/sys/i386/include

2015-10-30 Thread Konstantin Belousov
Author: kib Date: Fri Oct 30 09:53:33 2015 New Revision: 290188 URL: https://svnweb.freebsd.org/changeset/base/290188 Log: The prefix for CLFLUSHOPT is 0x66. It was right on amd64. Sponsored by: The FreeBSD Foundation Modified: head/sys/i386/include/cpufunc.h Modified: head/sys/i386/in

svn commit: r290186 - head/usr.bin/truss

2015-10-30 Thread Ed Schouten
Author: ed Date: Fri Oct 30 08:11:37 2015 New Revision: 290186 URL: https://svnweb.freebsd.org/changeset/base/290186 Log: Make truss work for CloudABI processes on aarch64. This change copies over amd64-cloudabi64.c to aarch64-cloudabi.c and adjusts it to fetch the proper registers on aar

svn commit: r290185 - head/lib/libc/tests/ssp

2015-10-30 Thread Garrett Cooper
Author: ngie Date: Fri Oct 30 08:06:24 2015 New Revision: 290185 URL: https://svnweb.freebsd.org/changeset/base/290185 Log: Disable h_raw/h_read with gcc I forgot that these testcases fail with gcc 4.2.1; add a note to that effect MFC after: never Sponsored by: EMC / Isilon Storage D

Re: svn commit: r290003 - head/sys/ofed/include/linux

2015-10-30 Thread Hans Petter Selasky
On 10/30/15 08:41, Gary Jennejohn wrote: On Thu, 29 Oct 2015 16:28:51 +0100 Hans Petter Selasky wrote: On 10/29/15 15:36, Gleb Smirnoff wrote: The LinuxKPI is not a binary compatibility module, and will at some H> point have API's diverging from Linux, to fit BSD API's better. This statemen

svn commit: r290184 - head/contrib/netbsd-tests/lib/libc/ssp

2015-10-30 Thread Garrett Cooper
Author: ngie Date: Fri Oct 30 08:01:53 2015 New Revision: 290184 URL: https://svnweb.freebsd.org/changeset/base/290184 Log: Fix a set but not used variable warning flagged by gcc 4.9 with lib/libc/ssp/h_readlink MFC after: 3 days Sponsored by: EMC / Isilon Storage Division Modified:

svn commit: r290183 - head/lib/libc/tests/ssp

2015-10-30 Thread Garrett Cooper
Author: ngie Date: Fri Oct 30 07:48:03 2015 New Revision: 290183 URL: https://svnweb.freebsd.org/changeset/base/290183 Log: - Re-enable h_raw with clang 3.7.0+ - Fix the compiler check to allow the test to be compiled for gcc PR: 196430 MFC after: never Sponsored by: EMC / Isilon Stor

Re: svn commit: r290003 - head/sys/ofed/include/linux

2015-10-30 Thread Gary Jennejohn
On Thu, 29 Oct 2015 16:28:51 +0100 Hans Petter Selasky wrote: > On 10/29/15 15:36, Gleb Smirnoff wrote: > >> The LinuxKPI is not a binary compatibility module, and will at some > > H> point have API's diverging from Linux, to fit BSD API's better. > > > > This statement makes the name of LinuxK

svn commit: r290182 - head/usr.sbin/rtsold

2015-10-30 Thread Garrett Cooper
Author: ngie Date: Fri Oct 30 07:36:43 2015 New Revision: 290182 URL: https://svnweb.freebsd.org/changeset/base/290182 Log: Fix rtsold's usage message - Remove -a from the usage message example dealing with specific interfaces. -a only makes sense when not specifying an interface, s