svn commit: r288166 - in head/sys/cam: ctl scsi
Author: mav Date: Thu Sep 24 08:04:47 2015 New Revision: 288166 URL: https://svnweb.freebsd.org/changeset/base/288166 Log: Update WRITE ATOMIC(16) support to sbc4r8 draft. This is only a cosmetic change. We still don't support atomic boundary field in the CDB, but at least now we do it formally. Modified: head/sys/cam/ctl/ctl.c head/sys/cam/ctl/scsi_ctl.c head/sys/cam/scsi/scsi_all.h Modified: head/sys/cam/ctl/ctl.c == --- head/sys/cam/ctl/ctl.c Thu Sep 24 07:16:34 2015(r288165) +++ head/sys/cam/ctl/ctl.c Thu Sep 24 08:04:47 2015(r288166) @@ -8940,7 +8940,7 @@ ctl_read_write(struct ctl_scsiio *ctsio) break; } case WRITE_ATOMIC_16: { - struct scsi_rw_16 *cdb; + struct scsi_write_atomic_16 *cdb; if (lun->be_lun->atomicblock == 0) { ctl_set_invalid_opcode(ctsio); @@ -8948,13 +8948,13 @@ ctl_read_write(struct ctl_scsiio *ctsio) return (CTL_RETVAL_COMPLETE); } - cdb = (struct scsi_rw_16 *)ctsio->cdb; + cdb = (struct scsi_write_atomic_16 *)ctsio->cdb; if (cdb->byte2 & SRW12_FUA) flags |= CTL_LLF_FUA; if (cdb->byte2 & SRW12_DPO) flags |= CTL_LLF_DPO; lba = scsi_8btou64(cdb->addr); - num_blocks = scsi_4btoul(cdb->length); + num_blocks = scsi_2btoul(cdb->length); if (num_blocks > lun->be_lun->atomicblock) { ctl_set_invalid_field(ctsio, /*sks_valid*/ 1, /*command*/ 1, /*field*/ 12, /*bit_valid*/ 0, @@ -10148,6 +10148,8 @@ ctl_inquiry_evpd_block_limits(struct ctl bl_ptr->max_atomic_transfer_length); scsi_ulto4b(0, bl_ptr->atomic_alignment); scsi_ulto4b(0, bl_ptr->atomic_transfer_length_granularity); + scsi_ulto4b(0, bl_ptr->max_atomic_transfer_length_with_atomic_boundary); + scsi_ulto4b(0, bl_ptr->max_atomic_boundary_size); } scsi_u64to8b(UINT64_MAX, bl_ptr->max_write_same_length); @@ -10647,8 +10649,7 @@ ctl_get_lba_len(union ctl_io *io, uint64 break; } case READ_16: - case WRITE_16: - case WRITE_ATOMIC_16: { + case WRITE_16: { struct scsi_rw_16 *cdb; cdb = (struct scsi_rw_16 *)io->scsiio.cdb; @@ -10657,6 +10658,15 @@ ctl_get_lba_len(union ctl_io *io, uint64 *len = scsi_4btoul(cdb->length); break; } + case WRITE_ATOMIC_16: { + struct scsi_write_atomic_16 *cdb; + + cdb = (struct scsi_write_atomic_16 *)io->scsiio.cdb; + + *lba = scsi_8btou64(cdb->addr); + *len = scsi_2btoul(cdb->length); + break; + } case WRITE_VERIFY_16: { struct scsi_write_verify_16 *cdb; Modified: head/sys/cam/ctl/scsi_ctl.c == --- head/sys/cam/ctl/scsi_ctl.c Thu Sep 24 07:16:34 2015(r288165) +++ head/sys/cam/ctl/scsi_ctl.c Thu Sep 24 08:04:47 2015(r288166) @@ -1068,7 +1068,6 @@ ctlfe_adjust_cdb(struct ccb_accept_tio * } case READ_16: case WRITE_16: - case WRITE_ATOMIC_16: { struct scsi_rw_16 *cdb = (struct scsi_rw_16 *)cmdbyt; lba = scsi_8btou64(cdb->addr); Modified: head/sys/cam/scsi/scsi_all.h == --- head/sys/cam/scsi/scsi_all.hThu Sep 24 07:16:34 2015 (r288165) +++ head/sys/cam/scsi/scsi_all.hThu Sep 24 08:04:47 2015 (r288166) @@ -1283,6 +1283,17 @@ struct scsi_rw_16 u_int8_t control; }; +struct scsi_write_atomic_16 +{ + uint8_t opcode; + uint8_t byte2; + uint8_t addr[8]; + uint8_t boundary[2]; + uint8_t length[2]; + uint8_t group; + uint8_t control; +}; + struct scsi_write_same_10 { uint8_t opcode; @@ -2757,7 +2768,8 @@ struct scsi_vpd_block_limits u_int8_t max_atomic_transfer_length[4]; u_int8_t atomic_alignment[4]; u_int8_t atomic_transfer_length_granularity[4]; - u_int8_t reserved2[8]; + u_int8_t max_atomic_transfer_length_with_atomic_boundary[4]; + u_int8_t max_atomic_boundary_size[4]; }; struct scsi_read_capacity ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r288165 - in head/sys/cam: ctl scsi
Author: mav Date: Thu Sep 24 07:16:34 2015 New Revision: 288165 URL: https://svnweb.freebsd.org/changeset/base/288165 Log: Add support for READ BUFFER(16) command. Modified: head/sys/cam/ctl/ctl.c head/sys/cam/ctl/ctl_cmd_table.c head/sys/cam/scsi/scsi_all.h Modified: head/sys/cam/ctl/ctl.c == --- head/sys/cam/ctl/ctl.c Thu Sep 24 00:54:46 2015(r288164) +++ head/sys/cam/ctl/ctl.c Thu Sep 24 07:16:34 2015(r288165) @@ -5610,20 +5610,43 @@ bailout: int ctl_read_buffer(struct ctl_scsiio *ctsio) { - struct scsi_read_buffer *cdb; struct ctl_lun *lun; - int buffer_offset, len; + uint64_t buffer_offset; + uint32_t len; + uint8_t byte2; static uint8_t descr[4]; static uint8_t echo_descr[4] = { 0 }; CTL_DEBUG_PRINT(("ctl_read_buffer\n")); - lun = (struct ctl_lun *)ctsio->io_hdr.ctl_private[CTL_PRIV_LUN].ptr; - cdb = (struct scsi_read_buffer *)ctsio->cdb; + switch (ctsio->cdb[0]) { + case READ_BUFFER: { + struct scsi_read_buffer *cdb; - if ((cdb->byte2 & RWB_MODE) != RWB_MODE_DATA && - (cdb->byte2 & RWB_MODE) != RWB_MODE_ECHO_DESCR && - (cdb->byte2 & RWB_MODE) != RWB_MODE_DESCR) { + cdb = (struct scsi_read_buffer *)ctsio->cdb; + buffer_offset = scsi_3btoul(cdb->offset); + len = scsi_3btoul(cdb->length); + byte2 = cdb->byte2; + break; + } + case READ_BUFFER_16: { + struct scsi_read_buffer_16 *cdb; + + cdb = (struct scsi_read_buffer_16 *)ctsio->cdb; + buffer_offset = scsi_8btou64(cdb->offset); + len = scsi_4btoul(cdb->length); + byte2 = cdb->byte2; + break; + } + default: /* This shouldn't happen. */ + ctl_set_invalid_opcode(ctsio); + ctl_done((union ctl_io *)ctsio); + return (CTL_RETVAL_COMPLETE); + } + + if ((byte2 & RWB_MODE) != RWB_MODE_DATA && + (byte2 & RWB_MODE) != RWB_MODE_ECHO_DESCR && + (byte2 & RWB_MODE) != RWB_MODE_DESCR) { ctl_set_invalid_field(ctsio, /*sks_valid*/ 1, /*command*/ 1, @@ -5634,10 +5657,8 @@ ctl_read_buffer(struct ctl_scsiio *ctsio return (CTL_RETVAL_COMPLETE); } - len = scsi_3btoul(cdb->length); - buffer_offset = scsi_3btoul(cdb->offset); - - if (buffer_offset + len > CTL_WRITE_BUFFER_SIZE) { + if (buffer_offset > CTL_WRITE_BUFFER_SIZE || + buffer_offset + len > CTL_WRITE_BUFFER_SIZE) { ctl_set_invalid_field(ctsio, /*sks_valid*/ 1, /*command*/ 1, @@ -5648,12 +5669,12 @@ ctl_read_buffer(struct ctl_scsiio *ctsio return (CTL_RETVAL_COMPLETE); } - if ((cdb->byte2 & RWB_MODE) == RWB_MODE_DESCR) { + if ((byte2 & RWB_MODE) == RWB_MODE_DESCR) { descr[0] = 0; scsi_ulto3b(CTL_WRITE_BUFFER_SIZE, [1]); ctsio->kern_data_ptr = descr; len = min(len, sizeof(descr)); - } else if ((cdb->byte2 & RWB_MODE) == RWB_MODE_ECHO_DESCR) { + } else if ((byte2 & RWB_MODE) == RWB_MODE_ECHO_DESCR) { ctsio->kern_data_ptr = echo_descr; len = min(len, sizeof(echo_descr)); } else { Modified: head/sys/cam/ctl/ctl_cmd_table.c == --- head/sys/cam/ctl/ctl_cmd_table.cThu Sep 24 00:54:46 2015 (r288164) +++ head/sys/cam/ctl/ctl_cmd_table.cThu Sep 24 07:16:34 2015 (r288165) @@ -1155,8 +1155,16 @@ const struct ctl_cmd_entry ctl_cmd_table /* 9A */ {NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, -/* 9B */ -{NULL, CTL_SERIDX_INVLD, CTL_CMD_FLAG_NONE, CTL_LUN_PAT_NONE}, +/* 9B READ BUFFER(16) */ +{ctl_read_buffer, CTL_SERIDX_MD_SNS, CTL_CMD_FLAG_OK_ON_BOTH | +CTL_CMD_FLAG_OK_ON_STOPPED | +CTL_CMD_FLAG_OK_ON_INOPERABLE | +CTL_CMD_FLAG_OK_ON_STANDBY | +CTL_FLAG_DATA_IN | +CTL_CMD_FLAG_ALLOW_ON_PR_WRESV, + CTL_LUN_PAT_NONE, + 10, {0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0, 0x07}}, /* 9C WRITE ATOMIC (16) */ {ctl_read_write, CTL_SERIDX_WRITE, CTL_CMD_FLAG_OK_ON_SLUN| CTL_FLAG_DATA_OUT, Modified: head/sys/cam/scsi/scsi_all.h == --- head/sys/cam/scsi/scsi_all.hThu Sep 24 00:54:46 2015 (r288164) +++ head/sys/cam/scsi/scsi_all.h
svn commit: r288170 - in head/sys/cam: ctl scsi
Author: mav Date: Thu Sep 24 12:22:47 2015 New Revision: 288170 URL: https://svnweb.freebsd.org/changeset/base/288170 Log: Add new report types to REPORT LUNS command. This is only for completeness, since we have nothing new to report there. Modified: head/sys/cam/ctl/ctl.c head/sys/cam/scsi/scsi_all.h Modified: head/sys/cam/ctl/ctl.c == --- head/sys/cam/ctl/ctl.c Thu Sep 24 10:31:39 2015(r288169) +++ head/sys/cam/ctl/ctl.c Thu Sep 24 12:22:47 2015(r288170) @@ -9265,12 +9265,10 @@ ctl_report_luns(struct ctl_scsiio *ctsio struct ctl_port *port; int num_luns, retval; uint32_t alloc_len, lun_datalen; - int num_filled, well_known; + int num_filled; uint32_t initidx, targ_lun_id, lun_id; retval = CTL_RETVAL_COMPLETE; - well_known = 0; - cdb = (struct scsi_report_luns *)ctsio->cdb; port = ctl_io_port(>io_hdr); @@ -9287,9 +9285,11 @@ ctl_report_luns(struct ctl_scsiio *ctsio switch (cdb->select_report) { case RPL_REPORT_DEFAULT: case RPL_REPORT_ALL: + case RPL_REPORT_NONSUBSID: break; case RPL_REPORT_WELLKNOWN: - well_known = 1; + case RPL_REPORT_ADMIN: + case RPL_REPORT_CONGLOM: num_luns = 0; break; default: Modified: head/sys/cam/scsi/scsi_all.h == --- head/sys/cam/scsi/scsi_all.hThu Sep 24 10:31:39 2015 (r288169) +++ head/sys/cam/scsi/scsi_all.hThu Sep 24 12:22:47 2015 (r288170) @@ -2864,6 +2864,9 @@ struct scsi_report_luns #defineRPL_REPORT_DEFAULT 0x00 #defineRPL_REPORT_WELLKNOWN0x01 #defineRPL_REPORT_ALL 0x02 +#defineRPL_REPORT_ADMIN0x10 +#defineRPL_REPORT_NONSUBSID0x11 +#defineRPL_REPORT_CONGLOM 0x12 uint8_t select_report; uint8_t reserved2[3]; uint8_t length[4]; ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r287886 - head/sys/sys
On 17/09/2015 14:07, Alexey Dokuchaev wrote: On Thu, Sep 17, 2015 at 12:58:59PM +0100, Steven Hartland wrote: On 17/09/2015 09:15, Alexey Dokuchaev wrote: On Thu, Sep 17, 2015 at 12:03:56AM +, Steven Hartland wrote: New Revision: 287886 URL: https://svnweb.freebsd.org/changeset/base/287886 Log: Fix kqueue write events for files > 2GB Oh that's an embarrassing bug. [...] Would you also consider merging to stable/8? Thanks, 8 isn't supported any more but the patch should apply to stable/8 sources if you maintain your own branch of it. So the answer is "no". It's OK, I'll ask for your approval and MFC it myself in due time (provided there won't be any regressions found). ./danfe This is all done now Alexey, did stable/8 while I was there and EN request has been sent too. Regards Steve ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r287934 - head/sys/boot/efi/loader
... I'm confused about the "load it by hand" stuff in net80211. Why don't we just do the kldload at that point? -a On 23 September 2015 at 21:06, Warner Loshwrote: > You're right about the Wifi drivers. There's some number you'll want loaded > and we should have sensible defaults. But how to get there from here may > be a bit interesting... Though if I go with the devd.conf writer early in > boot, > I can make them be rc.conf variable controlled. > > Warner > > On Wed, Sep 23, 2015 at 8:13 PM, Rui Paulo wrote: >> >> Those were the issues that I encountered when I started using MINIMAL. >> I didn't do a thorough investigation. >> >> Auto loading is a much bigger problem that just loading drivers for >> PCI/USB/etc devices. For example, net80211 doesn't auto load the wlan >> crypto modules by default nor the amrr module. >> >> On Mon, 2015-09-21 at 17:59 -0600, Warner Losh wrote: >> > Apart from the inlining issue John raised (which I agree with his >> > solution on, btw) >> > and the one cam ctl module, what other modules are meaningfully >> > different when >> > compiled as modules. >> > >> > Assume that the auto-loading bit is solved, at least for devices on >> > self-enumerating >> > busses. >> > >> > Warner >> > >> > >> > > On Sep 21, 2015, at 4:53 PM, Rui Paulo wrote: >> > > >> > > No, that doesn't work very well. Not only the modules don't auto >> > > -load, the way the modules are compiled is different. See, for >> > > example, cam ctl which doesn't compile the sg code when it's built >> > > into the kernel, but compiles it when it's built as a module. The >> > > sg code is currently buggy and causes insta-panics with GNOME 3 >> > > (perhaps the auto-mounter in hald (?)). >> > > -- >> > > Rui Paulo >> > > >> > > >> > > On Sep 21, 2015, at 11:24 AM, Adrian Chadd >> > > wrote: >> > > >> > > > Hi, >> > > > >> > > > Warner has been working on the modular kernel thing. But >> > > > honestly, I >> > > > think we should just start biting that bullet and ship a modules >> > > > -only >> > > > GENERIC by default.. >> > > > >> > > > >> > > > -a >> > > > >> > > > >> > > > On 21 September 2015 at 11:02, Rui Paulo wrote: >> > > > > So, we're going to keep ignoring the problem and keep patching >> > > > > things up? >> > > > > It's a bit sad that a single driver (pmspcv) is able to cause >> > > > > so much >> > > > > problems. >> > > > > >> > > > > -- >> > > > > Rui Paulo >> > > > > >> > > > > >> > > > > On Sep 17, 2015, at 01:36 PM, John Baldwin >> > > > > wrote: >> > > > > >> > > > > Author: jhb >> > > > > Date: Thu Sep 17 20:36:46 2015 >> > > > > New Revision: 287934 >> > > > > URL: https://svnweb.freebsd.org/changeset/base/287934 >> > > > > >> > > > > >> > > > > Log: >> > > > > The EFI boot loader allocates a single chunk of contiguous >> > > > > memory to >> > > > > hold the kernel, modules, and any other loaded data. This >> > > > > memory block >> > > > > is relocated to the kernel's expected location during the >> > > > > transfer of >> > > > > control from the loader to the kernel. >> > > > > >> > > > > The GENERIC kernel on amd64 has recently grown such that a >> > > > > kernel + zfs.ko >> > > > > no longer fits in the default staging size. Bump the default >> > > > > size from >> > > > > 32MB to 48MB to provide more breathing room. >> > > > > >> > > > > PR: 201679 >> > > > > Reviewed by: imp >> > > > > MFC after: 1 week >> > > > > Differential Revision: https://reviews.freebsd.org/D3666 >> > > > > >> > > > > >> > > > > Modified: >> > > > > head/sys/boot/efi/loader/copy.c >> > > > > >> > > > > Modified: head/sys/boot/efi/loader/copy.c >> > > > > === >> > > > > === >> > > > > --- head/sys/boot/efi/loader/copy.c Thu Sep 17 20:36:34 2015 >> > > > > (r287933) >> > > > > +++ head/sys/boot/efi/loader/copy.c Thu Sep 17 20:36:46 2015 >> > > > > (r287934) >> > > > > @@ -38,7 +38,7 @@ __FBSDID("$FreeBSD$"); >> > > > > #include >> > > > > >> > > > > #ifndef EFI_STAGING_SIZE >> > > > > -#define EFI_STAGING_SIZE 32 >> > > > > +#define EFI_STAGING_SIZE 48 >> > > > > #endif >> > > > > >> > > > > #define STAGE_PAGES ((EFI_STAGING_SIZE) * 1024 * 1024 / 4096) >> > > > > >> > >> >> -- >> Rui Paulo >> > ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r288175 - head/sys/cam/ctl
Author: mav Date: Thu Sep 24 15:59:08 2015 New Revision: 288175 URL: https://svnweb.freebsd.org/changeset/base/288175 Log: Allow WRITE SAME with NDOB bit set but without UNMAP. This combination was originally forbidden, but allowed at spc4r3. Modified: head/sys/cam/ctl/ctl.c head/sys/cam/ctl/ctl_backend_block.c Modified: head/sys/cam/ctl/ctl.c == --- head/sys/cam/ctl/ctl.c Thu Sep 24 13:06:19 2015(r288174) +++ head/sys/cam/ctl/ctl.c Thu Sep 24 15:59:08 2015(r288175) @@ -5808,9 +5808,8 @@ ctl_write_same(struct ctl_scsiio *ctsio) break; /* NOTREACHED */ } - /* NDOB and ANCHOR flags can be used only together with UNMAP */ - if ((byte2 & SWS_UNMAP) == 0 && - (byte2 & (SWS_NDOB | SWS_ANCHOR)) != 0) { + /* ANCHOR flag can be used only together with UNMAP */ + if ((byte2 & SWS_UNMAP) == 0 && (byte2 & SWS_ANCHOR) != 0) { ctl_set_invalid_field(ctsio, /*sks_valid*/ 1, /*command*/ 1, /*field*/ 1, /*bit_valid*/ 1, /*bit*/ 0); ctl_done((union ctl_io *)ctsio); Modified: head/sys/cam/ctl/ctl_backend_block.c == --- head/sys/cam/ctl/ctl_backend_block.cThu Sep 24 13:06:19 2015 (r288174) +++ head/sys/cam/ctl/ctl_backend_block.cThu Sep 24 15:59:08 2015 (r288175) @@ -1357,7 +1357,12 @@ ctl_be_block_cw_dispatch_ws(struct ctl_b buf = beio->sg_segs[i].addr; end = buf + seglen; for (; buf < end; buf += cbe_lun->blocksize) { - memcpy(buf, io->scsiio.kern_data_ptr, cbe_lun->blocksize); + if (lbalen->flags & SWS_NDOB) { + memset(buf, 0, cbe_lun->blocksize); + } else { + memcpy(buf, io->scsiio.kern_data_ptr, + cbe_lun->blocksize); + } if (lbalen->flags & SWS_LBDATA) scsi_ulto4b(lbalen->lba + lba, buf); lba++; ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r287934 - head/sys/boot/efi/loader
> > The other approach I suggested earlier is to make the kernel relocatable > (and allow the module metadata to be anywhere and live in a chain instead > of an array) so that we can just load things wherever and leave them there > without having to relocate. For ia64 I linked the kernel against a virtual address. The loader could simply allocate EFI memory as needed, and not worry about its location. It would map that into what I called the “pre-boot virtual address space”. When booting the kernel, the loader only had to pass the physical address and size of the page table (the virtual address was fixed). With a variable size the loader would start off with a single 4KB page table and it would grow it as needed to some arbitrary max. The page size for the pre-boot virtual address space was 64KB (to match the maximum alignment of segments that the toolchain allowed). With more than 700MB of pre-boot virtual address space, one could preload and entire installation CD if willing to wait for it being loaded. No need to set memory aside and hope things fit... As a nice plus: linking against a virtual address allows copying the kernel text across the memory domains and always have it run locally to CPUs in NUMA configurations. -- Marcel Moolenaar mar...@xcllnt.net signature.asc Description: Message signed with OpenPGP using GPGMail
Re: svn commit: r287886 - head/sys/sys
On Thu, Sep 24, 2015 at 02:57:57PM +0100, Steven Hartland wrote: > On 17/09/2015 14:07, Alexey Dokuchaev wrote: > > On Thu, Sep 17, 2015 at 12:58:59PM +0100, Steven Hartland wrote: > > > 8 isn't supported any more but the patch should apply to stable/8 > > > sources if you maintain your own branch of it. > > > > So the answer is "no". It's OK, I'll ask for your approval and MFC > > it myself in due time (provided there won't be any regressions > > found). > > This is all done now Alexey, did stable/8 while I was there and EN > request has been sent too. Thanks Steven, I appreciate it! ./danfe ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r288179 - head/share/mk
Author: bdrewery Date: Thu Sep 24 17:36:18 2015 New Revision: 288179 URL: https://svnweb.freebsd.org/changeset/base/288179 Log: Fix running make in src directories without a Makefile giving confusing errors. This fixes the following errors: make: don't know how to make bsd.README. Stop make: don't know how to make auto.obj.mk. Stop This is easily seen in sys/dev/*. The new behavior is now the expected output: make: no target to make. This would happen as MAKESYSPATH (.../share/mk) is auto added to the -I list. Any directory where make is ran in the src tree that has no local Makefile would then try executing the target in share/mk/Makefile, which by default was to build the first entry in FILES. Of course, because bsd.README and auto.obj.mk are not in the current directory the error is shown. This check only works for bmake, but I will still MFC it with an extra '!defined(.PARSEDIR) ||' guard for stable/10. MFC after:2 weeks Sponsored by: EMC / Isilon Storage Division Modified: head/share/mk/Makefile Modified: head/share/mk/Makefile == --- head/share/mk/Makefile Thu Sep 24 17:23:41 2015(r288178) +++ head/share/mk/Makefile Thu Sep 24 17:36:18 2015(r288179) @@ -1,6 +1,11 @@ # $FreeBSD$ # @(#)Makefile8.1 (Berkeley) 6/8/93 +# Only parse this if executing make in this directory, not in other places +# in src that lack a Makefile, such as sys/dev/*. Otherwise the MAKESYSPATH +# will read this Makefile since it auto includes it into -I. +.if ${.CURDIR} == ${.PARSEDIR} + .include FILES= \ @@ -63,3 +68,4 @@ FILES+= tap.test.mk .endif .include +.endif # CURDIR == PARSEDIR ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r288181 - head/contrib/elftoolchain/readelf
Author: emaste Date: Thu Sep 24 18:53:20 2015 New Revision: 288181 URL: https://svnweb.freebsd.org/changeset/base/288181 Log: readelf: Correct typo HPUS -> HPUX Submitted by: kib Modified: head/contrib/elftoolchain/readelf/readelf.c Modified: head/contrib/elftoolchain/readelf/readelf.c == --- head/contrib/elftoolchain/readelf/readelf.c Thu Sep 24 17:37:30 2015 (r288180) +++ head/contrib/elftoolchain/readelf/readelf.c Thu Sep 24 18:53:20 2015 (r288181) @@ -415,7 +415,7 @@ elf_osabi(unsigned int abi) switch(abi) { case ELFOSABI_SYSV: return "SYSV"; - case ELFOSABI_HPUX: return "HPUS"; + case ELFOSABI_HPUX: return "HPUX"; case ELFOSABI_NETBSD: return "NetBSD"; case ELFOSABI_GNU: return "GNU"; case ELFOSABI_HURD: return "HURD"; ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r287263 - head/sys/conf
On 8/28/2015 9:29 AM, Warner Losh wrote: > Author: imp > Date: Fri Aug 28 16:29:38 2015 > New Revision: 287263 > URL: https://svnweb.freebsd.org/changeset/base/287263 > > Log: > Comment out cleaning files, since it cleans too much. > > Modified: > head/sys/conf/kmod.mk > > Modified: head/sys/conf/kmod.mk > == > --- head/sys/conf/kmod.mk Fri Aug 28 16:23:03 2015(r287262) > +++ head/sys/conf/kmod.mk Fri Aug 28 16:29:38 2015(r287263) > @@ -361,7 +361,8 @@ _MPATH=${__MPATH:H:O:u} > .endif > .PATH.m: ${_MPATH} > .for _i in ${SRCS:M*_if.[ch]} > -CLEANFILES+= ${_i} > +#removes too much, comment out until it's more constrained. > +#CLEANFILES+=${_i} > .endfor # _i > .m.c:${SYSDIR}/tools/makeobjops.awk > ${AWK} -f ${SYSDIR}/tools/makeobjops.awk ${.IMPSRC} -c > Rather than this should r285068 be reverted to restore CLEANFILES handling of these generated files? -- Regards, Bryan Drewery signature.asc Description: OpenPGP digital signature
svn commit: r288178 - head/sys/dev/iwn
Author: adrian Date: Thu Sep 24 17:23:41 2015 New Revision: 288178 URL: https://svnweb.freebsd.org/changeset/base/288178 Log: Fix up error path handling after the recent churn. * Don't free the mbuf in the tx path - it uses the transmit path now, so the caller frees the mbuf. * Don't decrement the node ref upon error - that's up to the caller to do as well. Tested: * Intel 5300 3x3 wifi, station mode Noticed by:Modified: head/sys/dev/iwn/if_iwn.c Modified: head/sys/dev/iwn/if_iwn.c == --- head/sys/dev/iwn/if_iwn.c Thu Sep 24 16:56:44 2015(r288177) +++ head/sys/dev/iwn/if_iwn.c Thu Sep 24 17:23:41 2015(r288178) @@ -4368,7 +4368,6 @@ iwn_tx_data(struct iwn_softc *sc, struct struct ieee80211_tx_ampdu *tap = >ni_tx_ampdu[ac]; if (!IEEE80211_AMPDU_RUNNING(tap)) { - m_freem(m); return EINVAL; } @@ -4420,7 +4419,6 @@ iwn_tx_data(struct iwn_softc *sc, struct /* Retrieve key for TX. */ k = ieee80211_crypto_encap(ni, m); if (k == NULL) { - m_freem(m); return ENOBUFS; } /* 802.11 header may have moved. */ @@ -4551,7 +4549,6 @@ iwn_tx_data(struct iwn_softc *sc, struct if (error != EFBIG) { device_printf(sc->sc_dev, "%s: can't map mbuf (error %d)\n", __func__, error); - m_freem(m); return error; } /* Too many DMA segments, linearize mbuf. */ @@ -4559,7 +4556,6 @@ iwn_tx_data(struct iwn_softc *sc, struct if (m1 == NULL) { device_printf(sc->sc_dev, "%s: could not defrag mbuf\n", __func__); - m_freem(m); return ENOBUFS; } m = m1; @@ -4569,7 +4565,6 @@ iwn_tx_data(struct iwn_softc *sc, struct if (error != 0) { device_printf(sc->sc_dev, "%s: can't map mbuf (error %d)\n", __func__, error); - m_freem(m); return error; } } @@ -4755,7 +4750,6 @@ iwn_tx_data_raw(struct iwn_softc *sc, st if (error != EFBIG) { device_printf(sc->sc_dev, "%s: can't map mbuf (error %d)\n", __func__, error); - m_freem(m); return error; } /* Too many DMA segments, linearize mbuf. */ @@ -4763,7 +4757,6 @@ iwn_tx_data_raw(struct iwn_softc *sc, st if (m1 == NULL) { device_printf(sc->sc_dev, "%s: could not defrag mbuf\n", __func__); - m_freem(m); return ENOBUFS; } m = m1; @@ -4773,7 +4766,6 @@ iwn_tx_data_raw(struct iwn_softc *sc, st if (error != 0) { device_printf(sc->sc_dev, "%s: can't map mbuf (error %d)\n", __func__, error); - m_freem(m); return error; } } @@ -4869,6 +4861,9 @@ iwn_xmit_task(void *arg0, int pending) IWN_UNLOCK(sc); } +/* + * raw frame xmit - free node/reference if failed. + */ static int iwn_raw_xmit(struct ieee80211_node *ni, struct mbuf *m, const struct ieee80211_bpf_params *params) @@ -4931,6 +4926,9 @@ iwn_raw_xmit(struct ieee80211_node *ni, return error; } +/* + * transmit - don't free mbuf if failed; don't free node ref if failed. + */ static int iwn_transmit(struct ieee80211com *ic, struct mbuf *m) { @@ -4938,6 +4936,8 @@ iwn_transmit(struct ieee80211com *ic, st struct ieee80211_node *ni; int error; + ni = (struct ieee80211_node *)m->m_pkthdr.rcvif; + IWN_LOCK(sc); if ((sc->sc_flags & IWN_FLAG_RUNNING) == 0 || sc->sc_beacon_wait) { IWN_UNLOCK(sc); @@ -4949,11 +4949,9 @@ iwn_transmit(struct ieee80211com *ic, st return (ENOBUFS); } - ni = (struct ieee80211_node *)m->m_pkthdr.rcvif; error = iwn_tx_data(sc, m, ni); if (error) { if_inc_counter(ni->ni_vap->iv_ifp, IFCOUNTER_OERRORS, 1); - ieee80211_free_node(ni); } else sc->sc_tx_timer = 5; IWN_UNLOCK(sc); ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r288200 - in head/kerberos5: libexec/kdigest usr.bin/hxtool usr.bin/kadmin usr.bin/kcc usr.sbin/iprop-log
Author: bdrewery Date: Thu Sep 24 23:23:58 2015 New Revision: 288200 URL: https://svnweb.freebsd.org/changeset/base/288200 Log: Remove unneeded dependency of '.o: .h' that bsd.prog.mk already handles. MFC after:2 weeks X-MFC-With: r288198 Sponsored by: EMC / Isilon Storage Division Modified: head/kerberos5/libexec/kdigest/Makefile head/kerberos5/usr.bin/hxtool/Makefile head/kerberos5/usr.bin/kadmin/Makefile head/kerberos5/usr.bin/kcc/Makefile head/kerberos5/usr.sbin/iprop-log/Makefile Modified: head/kerberos5/libexec/kdigest/Makefile == --- head/kerberos5/libexec/kdigest/Makefile Thu Sep 24 23:15:24 2015 (r288199) +++ head/kerberos5/libexec/kdigest/Makefile Thu Sep 24 23:23:58 2015 (r288200) @@ -15,9 +15,7 @@ CLEANFILES= kdigest-commands.h kdigest-c kdigest-commands.h: kdigest-commands.in ${SLC} ${.ALLSRC:M*.in} -.for ext in c o -kdigest-commands.${ext}: kdigest-commands.h -.endfor +kdigest-commands.c: kdigest-commands.h .include Modified: head/kerberos5/usr.bin/hxtool/Makefile == --- head/kerberos5/usr.bin/hxtool/Makefile Thu Sep 24 23:15:24 2015 (r288199) +++ head/kerberos5/usr.bin/hxtool/Makefile Thu Sep 24 23:23:58 2015 (r288200) @@ -14,9 +14,7 @@ CLEANFILES= hxtool-commands.h hxtool-com hxtool-commands.h: hxtool-commands.in ${SLC} ${.ALLSRC:M*.in} -.for ext in c o -hxtool-commands.${ext}: hxtool-commands.h -.endfor +hxtool-commands.c: hxtool-commands.h .include Modified: head/kerberos5/usr.bin/kadmin/Makefile == --- head/kerberos5/usr.bin/kadmin/Makefile Thu Sep 24 23:15:24 2015 (r288199) +++ head/kerberos5/usr.bin/kadmin/Makefile Thu Sep 24 23:23:58 2015 (r288200) @@ -38,9 +38,7 @@ CLEANFILES= kadmin-commands.h kadmin-com kadmin-commands.h: ${KRB5DIR}/kadmin/kadmin-commands.in ${SLC} ${.ALLSRC:M*.in} -.for ext in o c -kadmin-commands.${ext}: kadmin-commands.h -.endfor +kadmin-commands.c: kadmin-commands.h .PATH: ${KRB5DIR}/kadmin Modified: head/kerberos5/usr.bin/kcc/Makefile == --- head/kerberos5/usr.bin/kcc/Makefile Thu Sep 24 23:15:24 2015 (r288199) +++ head/kerberos5/usr.bin/kcc/Makefile Thu Sep 24 23:23:58 2015 (r288200) @@ -21,9 +21,7 @@ CLEANFILES= kcc-commands.h kcc-commands. kcc-commands.h: kcc-commands.in ${SLC} ${.ALLSRC:M*.in} -.for ext in c o -kcc-commands.${ext}: kcc-commands.h -.endfor +kcc-commands.c: kcc-commands.h .include Modified: head/kerberos5/usr.sbin/iprop-log/Makefile == --- head/kerberos5/usr.sbin/iprop-log/Makefile Thu Sep 24 23:15:24 2015 (r288199) +++ head/kerberos5/usr.sbin/iprop-log/Makefile Thu Sep 24 23:23:58 2015 (r288200) @@ -16,9 +16,7 @@ CLEANFILES= iprop-commands.h iprop-comma iprop-commands.h: iprop-commands.in ${SLC} ${.ALLSRC:M*.in} -.for ext in c o -iprop-commands.${ext}: iprop-commands.h -.endfor +iprop-commands.c: iprop-commands.h .include ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r287263 - head/sys/conf
On 9/24/2015 2:23 PM, Warner Losh wrote: > I don't think so. I'd like to fix this more properly. However, without this > hack, anything in the tree that ends in _if.c or _if.h will get deleted, > which is bad as you might imagine. There's two or three drivers that > are built as modules that fit this pattern. > > I really don't want to back out r258068. Having a list of all the places > to look for _if.m files is really annoying... > I'm really just reminding you. I have no strong opinion on this, just that it appears to be new and unfinished. -- Regards, Bryan Drewery signature.asc Description: OpenPGP digital signature
Re: svn commit: r287934 - head/sys/boot/efi/loader
That's the idea... When we load an 802.11 driver we'd need to then load the other associated modules. The key is, which ones and how do the special needs crowd do things other than the default. Warner On Thu, Sep 24, 2015 at 8:29 AM, Adrian Chaddwrote: > ... I'm confused about the "load it by hand" stuff in net80211. Why > don't we just do the kldload at that point? > > > -a > > > On 23 September 2015 at 21:06, Warner Losh wrote: > > You're right about the Wifi drivers. There's some number you'll want > loaded > > and we should have sensible defaults. But how to get there from here may > > be a bit interesting... Though if I go with the devd.conf writer early > in > > boot, > > I can make them be rc.conf variable controlled. > > > > Warner > > > > On Wed, Sep 23, 2015 at 8:13 PM, Rui Paulo wrote: > >> > >> Those were the issues that I encountered when I started using MINIMAL. > >> I didn't do a thorough investigation. > >> > >> Auto loading is a much bigger problem that just loading drivers for > >> PCI/USB/etc devices. For example, net80211 doesn't auto load the wlan > >> crypto modules by default nor the amrr module. > >> > >> On Mon, 2015-09-21 at 17:59 -0600, Warner Losh wrote: > >> > Apart from the inlining issue John raised (which I agree with his > >> > solution on, btw) > >> > and the one cam ctl module, what other modules are meaningfully > >> > different when > >> > compiled as modules. > >> > > >> > Assume that the auto-loading bit is solved, at least for devices on > >> > self-enumerating > >> > busses. > >> > > >> > Warner > >> > > >> > > >> > > On Sep 21, 2015, at 4:53 PM, Rui Paulo wrote: > >> > > > >> > > No, that doesn't work very well. Not only the modules don't auto > >> > > -load, the way the modules are compiled is different. See, for > >> > > example, cam ctl which doesn't compile the sg code when it's built > >> > > into the kernel, but compiles it when it's built as a module. The > >> > > sg code is currently buggy and causes insta-panics with GNOME 3 > >> > > (perhaps the auto-mounter in hald (?)). > >> > > -- > >> > > Rui Paulo > >> > > > >> > > > >> > > On Sep 21, 2015, at 11:24 AM, Adrian Chadd > >> > > wrote: > >> > > > >> > > > Hi, > >> > > > > >> > > > Warner has been working on the modular kernel thing. But > >> > > > honestly, I > >> > > > think we should just start biting that bullet and ship a modules > >> > > > -only > >> > > > GENERIC by default.. > >> > > > > >> > > > > >> > > > -a > >> > > > > >> > > > > >> > > > On 21 September 2015 at 11:02, Rui Paulo wrote: > >> > > > > So, we're going to keep ignoring the problem and keep patching > >> > > > > things up? > >> > > > > It's a bit sad that a single driver (pmspcv) is able to cause > >> > > > > so much > >> > > > > problems. > >> > > > > > >> > > > > -- > >> > > > > Rui Paulo > >> > > > > > >> > > > > > >> > > > > On Sep 17, 2015, at 01:36 PM, John Baldwin > >> > > > > wrote: > >> > > > > > >> > > > > Author: jhb > >> > > > > Date: Thu Sep 17 20:36:46 2015 > >> > > > > New Revision: 287934 > >> > > > > URL: https://svnweb.freebsd.org/changeset/base/287934 > >> > > > > > >> > > > > > >> > > > > Log: > >> > > > > The EFI boot loader allocates a single chunk of contiguous > >> > > > > memory to > >> > > > > hold the kernel, modules, and any other loaded data. This > >> > > > > memory block > >> > > > > is relocated to the kernel's expected location during the > >> > > > > transfer of > >> > > > > control from the loader to the kernel. > >> > > > > > >> > > > > The GENERIC kernel on amd64 has recently grown such that a > >> > > > > kernel + zfs.ko > >> > > > > no longer fits in the default staging size. Bump the default > >> > > > > size from > >> > > > > 32MB to 48MB to provide more breathing room. > >> > > > > > >> > > > > PR: 201679 > >> > > > > Reviewed by: imp > >> > > > > MFC after: 1 week > >> > > > > Differential Revision: https://reviews.freebsd.org/D3666 > >> > > > > > >> > > > > > >> > > > > Modified: > >> > > > > head/sys/boot/efi/loader/copy.c > >> > > > > > >> > > > > Modified: head/sys/boot/efi/loader/copy.c > >> > > > > === > >> > > > > === > >> > > > > --- head/sys/boot/efi/loader/copy.c Thu Sep 17 20:36:34 2015 > >> > > > > (r287933) > >> > > > > +++ head/sys/boot/efi/loader/copy.c Thu Sep 17 20:36:46 2015 > >> > > > > (r287934) > >> > > > > @@ -38,7 +38,7 @@ __FBSDID("$FreeBSD$"); > >> > > > > #include > >> > > > > > >> > > > > #ifndef EFI_STAGING_SIZE > >> > > > > -#define EFI_STAGING_SIZE 32 > >> > > > > +#define EFI_STAGING_SIZE 48 > >> > > > > #endif > >> > > > > > >> > > > > #define STAGE_PAGES ((EFI_STAGING_SIZE) * 1024 * 1024 / 4096) > >> > > > > > >> > > >> > >> -- > >> Rui Paulo > >> > > > ___ svn-src-head@freebsd.org mailing list
svn commit: r288198 - head/kerberos5/usr.sbin/ktutil
Author: bdrewery Date: Thu Sep 24 23:08:33 2015 New Revision: 288198 URL: https://svnweb.freebsd.org/changeset/base/288198 Log: Remove unneeded dependency line. bsd.prog.mk adds 'ktutil-commands.o: ktutil-commands.h' already. MFC after:2 weeks Sponsored by: EMC / Isilon Storage Division Modified: head/kerberos5/usr.sbin/ktutil/Makefile Modified: head/kerberos5/usr.sbin/ktutil/Makefile == --- head/kerberos5/usr.sbin/ktutil/Makefile Thu Sep 24 21:48:04 2015 (r288197) +++ head/kerberos5/usr.sbin/ktutil/Makefile Thu Sep 24 23:08:33 2015 (r288198) @@ -24,8 +24,6 @@ LIBADD= kadm5clnt krb5 roken crypto edit ktutil-commands.h: ${KRB5DIR}/admin/ktutil-commands.in ${SLC} ${.ALLSRC:M*.in} -.for ext in c o -ktutil-commands.${ext}: ktutil-commands.h -.endfor +ktutil-commands.c: ktutil-commands.h .PATH: ${KRB5DIR}/admin ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r287263 - head/sys/conf
I don't think so. I'd like to fix this more properly. However, without this hack, anything in the tree that ends in _if.c or _if.h will get deleted, which is bad as you might imagine. There's two or three drivers that are built as modules that fit this pattern. I really don't want to back out r258068. Having a list of all the places to look for _if.m files is really annoying... Warner On Thu, Sep 24, 2015 at 12:56 PM, Bryan Drewerywrote: > On 8/28/2015 9:29 AM, Warner Losh wrote: > > Author: imp > > Date: Fri Aug 28 16:29:38 2015 > > New Revision: 287263 > > URL: https://svnweb.freebsd.org/changeset/base/287263 > > > > Log: > > Comment out cleaning files, since it cleans too much. > > > > Modified: > > head/sys/conf/kmod.mk > > > > Modified: head/sys/conf/kmod.mk > > > == > > --- head/sys/conf/kmod.mk Fri Aug 28 16:23:03 2015(r287262) > > +++ head/sys/conf/kmod.mk Fri Aug 28 16:29:38 2015(r287263) > > @@ -361,7 +361,8 @@ _MPATH=${__MPATH:H:O:u} > > .endif > > .PATH.m: ${_MPATH} > > .for _i in ${SRCS:M*_if.[ch]} > > -CLEANFILES+= ${_i} > > +#removes too much, comment out until it's more constrained. > > +#CLEANFILES+=${_i} > > .endfor # _i > > .m.c:${SYSDIR}/tools/makeobjops.awk > > ${AWK} -f ${SYSDIR}/tools/makeobjops.awk ${.IMPSRC} -c > > > > Rather than this should r285068 be reverted to restore CLEANFILES > handling of these generated files? > > -- > Regards, > Bryan Drewery > > ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r288194 - in head: contrib/elftoolchain/elfdump contrib/elftoolchain/readelf usr.bin/elfdump
Author: emaste Date: Thu Sep 24 21:04:48 2015 New Revision: 288194 URL: https://svnweb.freebsd.org/changeset/base/288194 Log: Rename ELFOSABI_SYSV to ELFOSABI_NONE to match current spec Source: http://www.sco.com/developers/gabi/latest/ch4.eheader.html Reviewed by: kib Sponsored by: The FreeBSD Foundation Differential Revision:https://reviews.freebsd.org/D3731 Modified: head/contrib/elftoolchain/elfdump/elfdump.c head/contrib/elftoolchain/readelf/readelf.c head/usr.bin/elfdump/elfdump.c Modified: head/contrib/elftoolchain/elfdump/elfdump.c == --- head/contrib/elftoolchain/elfdump/elfdump.c Thu Sep 24 21:01:34 2015 (r288193) +++ head/contrib/elftoolchain/elfdump/elfdump.c Thu Sep 24 21:04:48 2015 (r288194) @@ -272,7 +272,7 @@ static const char *ei_data[] = { }; static const char *ei_abis[] = { - "ELFOSABI_SYSV", "ELFOSABI_HPUX", "ELFOSABI_NETBSD", "ELFOSABI_LINUX", + "ELFOSABI_NONE", "ELFOSABI_HPUX", "ELFOSABI_NETBSD", "ELFOSABI_LINUX", "ELFOSABI_HURD", "ELFOSABI_86OPEN", "ELFOSABI_SOLARIS", "ELFOSABI_MONTEREY", "ELFOSABI_IRIX", "ELFOSABI_FREEBSD", "ELFOSABI_TRU64", "ELFOSABI_MODESTO", "ELFOSABI_OPENBSD" Modified: head/contrib/elftoolchain/readelf/readelf.c == --- head/contrib/elftoolchain/readelf/readelf.c Thu Sep 24 21:01:34 2015 (r288193) +++ head/contrib/elftoolchain/readelf/readelf.c Thu Sep 24 21:04:48 2015 (r288194) @@ -414,7 +414,7 @@ elf_osabi(unsigned int abi) static char s_abi[32]; switch(abi) { - case ELFOSABI_SYSV: return "SYSV"; + case ELFOSABI_NONE: return "NONE"; case ELFOSABI_HPUX: return "HPUX"; case ELFOSABI_NETBSD: return "NetBSD"; case ELFOSABI_GNU: return "GNU"; Modified: head/usr.bin/elfdump/elfdump.c == --- head/usr.bin/elfdump/elfdump.c Thu Sep 24 21:01:34 2015 (r288193) +++ head/usr.bin/elfdump/elfdump.c Thu Sep 24 21:04:48 2015 (r288194) @@ -296,7 +296,7 @@ static const char *ei_data[] = { }; static const char *ei_abis[256] = { - "ELFOSABI_SYSV", "ELFOSABI_HPUX", "ELFOSABI_NETBSD", "ELFOSABI_LINUX", + "ELFOSABI_NONE", "ELFOSABI_HPUX", "ELFOSABI_NETBSD", "ELFOSABI_LINUX", "ELFOSABI_HURD", "ELFOSABI_86OPEN", "ELFOSABI_SOLARIS", "ELFOSABI_AIX", "ELFOSABI_IRIX", "ELFOSABI_FREEBSD", "ELFOSABI_TRU64", "ELFOSABI_MODESTO", "ELFOSABI_OPENBSD", ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r288199 - in head: gnu/usr.bin/binutils/libbfd kerberos5/libexec/kdigest kerberos5/usr.bin/hxtool kerberos5/usr.bin/kadmin kerberos5/usr.bin/kcc kerberos5/usr.sbin/iprop-log kerberos5/u...
Author: bdrewery Date: Thu Sep 24 23:15:24 2015 New Revision: 288199 URL: https://svnweb.freebsd.org/changeset/base/288199 Log: Add missing CLEANFILES. MFC after:1 week Sponsored by: EMC / Isilon Storage Division Modified: head/gnu/usr.bin/binutils/libbfd/Makefile.i386 head/kerberos5/libexec/kdigest/Makefile head/kerberos5/usr.bin/hxtool/Makefile head/kerberos5/usr.bin/kadmin/Makefile head/kerberos5/usr.bin/kcc/Makefile head/kerberos5/usr.sbin/iprop-log/Makefile head/kerberos5/usr.sbin/ktutil/Makefile head/lib/clang/include/Makefile head/lib/libc/tests/gen/posix_spawn/Makefile head/usr.bin/yacc/tests/Makefile head/usr.sbin/vigr/Makefile Modified: head/gnu/usr.bin/binutils/libbfd/Makefile.i386 == --- head/gnu/usr.bin/binutils/libbfd/Makefile.i386 Thu Sep 24 23:08:33 2015(r288198) +++ head/gnu/usr.bin/binutils/libbfd/Makefile.i386 Thu Sep 24 23:15:24 2015(r288199) @@ -17,3 +17,5 @@ VECS= ${DEFAULT_VECTOR} \ peigen.c: peXXigen.c sed -e s/XX/pe/g ${.ALLSRC} > ${.TARGET} + +CLEANFILES+= peigen.c Modified: head/kerberos5/libexec/kdigest/Makefile == --- head/kerberos5/libexec/kdigest/Makefile Thu Sep 24 23:08:33 2015 (r288198) +++ head/kerberos5/libexec/kdigest/Makefile Thu Sep 24 23:15:24 2015 (r288199) @@ -10,6 +10,8 @@ SRCS= kdigest.c \ kdigest-commands.c \ kdigest-commands.h +CLEANFILES=kdigest-commands.h kdigest-commands.c + kdigest-commands.h: kdigest-commands.in ${SLC} ${.ALLSRC:M*.in} Modified: head/kerberos5/usr.bin/hxtool/Makefile == --- head/kerberos5/usr.bin/hxtool/Makefile Thu Sep 24 23:08:33 2015 (r288198) +++ head/kerberos5/usr.bin/hxtool/Makefile Thu Sep 24 23:15:24 2015 (r288199) @@ -9,6 +9,8 @@ CFLAGS+=-I${KRB5DIR}/lib/hx509 \ LIBADD=hx509 roken asn1 crypto sl vers edit SRCS= hxtool.c hxtool-commands.c hxtool-commands.h +CLEANFILES=hxtool-commands.h hxtool-commands.c + hxtool-commands.h: hxtool-commands.in ${SLC} ${.ALLSRC:M*.in} Modified: head/kerberos5/usr.bin/kadmin/Makefile == --- head/kerberos5/usr.bin/kadmin/Makefile Thu Sep 24 23:08:33 2015 (r288198) +++ head/kerberos5/usr.bin/kadmin/Makefile Thu Sep 24 23:15:24 2015 (r288199) @@ -31,6 +31,8 @@ DPADD=${LDAPDPADD} LDADD= ${LDAPLDADD} LDFLAGS=${LDAPLDFLAGS} +CLEANFILES=kadmin-commands.h kadmin-commands.c + .include kadmin-commands.h: ${KRB5DIR}/kadmin/kadmin-commands.in Modified: head/kerberos5/usr.bin/kcc/Makefile == --- head/kerberos5/usr.bin/kcc/Makefile Thu Sep 24 23:08:33 2015 (r288198) +++ head/kerberos5/usr.bin/kcc/Makefile Thu Sep 24 23:15:24 2015 (r288199) @@ -16,6 +16,8 @@ SRCS= kcc.c \ kswitch.c \ copy_cred_cache.c +CLEANFILES=kcc-commands.h kcc-commands.c + kcc-commands.h: kcc-commands.in ${SLC} ${.ALLSRC:M*.in} Modified: head/kerberos5/usr.sbin/iprop-log/Makefile == --- head/kerberos5/usr.sbin/iprop-log/Makefile Thu Sep 24 23:08:33 2015 (r288198) +++ head/kerberos5/usr.sbin/iprop-log/Makefile Thu Sep 24 23:15:24 2015 (r288199) @@ -11,6 +11,8 @@ CFLAGS+= -I${KRB5DIR}/lib/kadm5 \ LIBADD=kadm5srv hdb krb5 roken edit sl vers LDFLAGS=${LDAPLDFLAGS} +CLEANFILES=iprop-commands.h iprop-commands.c + iprop-commands.h: iprop-commands.in ${SLC} ${.ALLSRC:M*.in} Modified: head/kerberos5/usr.sbin/ktutil/Makefile == --- head/kerberos5/usr.sbin/ktutil/Makefile Thu Sep 24 23:08:33 2015 (r288198) +++ head/kerberos5/usr.sbin/ktutil/Makefile Thu Sep 24 23:15:24 2015 (r288199) @@ -19,6 +19,8 @@ SRCS= add.c \ CFLAGS+=-I${KRB5DIR}/lib/roken -I${KRB5DIR}/lib/sl -I. LIBADD=kadm5clnt krb5 roken crypto edit sl vers +CLEANFILES=ktutil-commands.h ktutil-commands.c + .include ktutil-commands.h: ${KRB5DIR}/admin/ktutil-commands.in Modified: head/lib/clang/include/Makefile == --- head/lib/clang/include/Makefile Thu Sep 24 23:08:33 2015 (r288198) +++ head/lib/clang/include/Makefile Thu Sep 24 23:15:24 2015 (r288199) @@ -54,7 +54,7 @@ INCS= __stddef_max_align_t.h \ xopintrin.h \ ${GENINCS} GENINCS= arm_neon.h -CLEANFILES= ${GENINCS} +CLEANFILES= ${GENINCS} ${GENINCS:C/\.h$/.d/} # avoid a circular dependency GENDIRDEPS_FILTER+=
svn commit: r288201 - head/share/mk
Author: bdrewery Date: Fri Sep 25 00:07:31 2015 New Revision: 288201 URL: https://svnweb.freebsd.org/changeset/base/288201 Log: Don't recurse with cleanobj. bsd.obj.mk handles the needs fine. When an objdir exists it will just rm -Rf the objdir. When it does not exist though it will call 'clean' and 'cleandepend', which properly recurse in bsd.progs.mk. MFC after:2 weeks Sponsored by: EMC / Isilon Storage Division Modified: head/share/mk/bsd.progs.mk Modified: head/share/mk/bsd.progs.mk == --- head/share/mk/bsd.progs.mk Thu Sep 24 23:23:58 2015(r288200) +++ head/share/mk/bsd.progs.mk Fri Sep 25 00:07:31 2015(r288201) @@ -84,7 +84,7 @@ $v = .if !empty(PROGS) && !defined(_RECURSING_PROGS) # tell progs.mk we might want to install things -PROGS_TARGETS+= checkdpadd clean cleandepend cleandir cleanobj depend install +PROGS_TARGETS+= checkdpadd clean cleandepend cleandir depend install .for p in ${PROGS} .if defined(PROGS_CXX) && !empty(PROGS_CXX:M$p) ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r288176 - in head: . etc/mtree share/man/man7 sys/conf
Author: emaste Date: Thu Sep 24 16:55:22 2015 New Revision: 288176 URL: https://svnweb.freebsd.org/changeset/base/288176 Log: Install kernel debug data under /usr/lib/debug This avoids needing a large boot partition / file system in order to accommodate multiple kernels, and provides consistency with userland debug. This also simplifies the process of moving kernel debug files to a separate package and installing them on demand. In addition, change kernel debug file extension to .debug, to match userland debug files. When using the supported kernel installation method the /usr/lib/debug/boot/kernel directory will be renamed (to kernel.old) as is done with /boot/kernel. Developers wishing to maintain the historical behavior of installing debug files in /boot/kernel/ can set KERN_DEBUGDIR="" in src.conf(5). Reviewed by: bdrewery, brooks, imp, markj Relnotes: yes Sponsored by: The FreeBSD Foundation Differential Revision:https://reviews.freebsd.org/D1006 Modified: head/UPDATING head/etc/mtree/BSD.debug.dist head/share/man/man7/hier.7 head/sys/conf/kern.post.mk head/sys/conf/kmod.mk Modified: head/UPDATING == --- head/UPDATING Thu Sep 24 15:59:08 2015(r288175) +++ head/UPDATING Thu Sep 24 16:55:22 2015(r288176) @@ -31,6 +31,19 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11 disable the most expensive debugging functionality run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20150925: + Kernel debug files have been moved to /usr/lib/debug/boot/kernel/, + and renamed from .symbols to .debug. This reduces the size requirements + on the boot partition or file system and provides consistency with + userland debug files. + + When using the supported kernel installation method the + /usr/lib/debug/boot/kernel directory will be renamed (to kernel.old) + as is done with /boot/kernel. + + Developers wishing to maintain the historical behavior of installing + debug files in /boot/kernel/ can set KERN_DEBUGDIR="" in src.conf(5). + 20150827: The wireless drivers had undergone changes that remove the 'parent interface' from the ifconfig -l output. The rc.d network scripts Modified: head/etc/mtree/BSD.debug.dist == --- head/etc/mtree/BSD.debug.dist Thu Sep 24 15:59:08 2015 (r288175) +++ head/etc/mtree/BSD.debug.dist Thu Sep 24 16:55:22 2015 (r288176) @@ -9,6 +9,8 @@ bin .. boot +kernel +.. .. lib geom Modified: head/share/man/man7/hier.7 == --- head/share/man/man7/hier.7 Thu Sep 24 15:59:08 2015(r288175) +++ head/share/man/man7/hier.7 Thu Sep 24 16:55:22 2015(r288176) @@ -383,7 +383,7 @@ shared libraries for compatibility a.out backward compatibility libraries .El .It Pa debug/ -standalone debug data for the base system libraries and binaries +standalone debug data for the kernel and base system libraries and binaries .It Pa dtrace/ DTrace library scripts .It Pa engines/ Modified: head/sys/conf/kern.post.mk == --- head/sys/conf/kern.post.mk Thu Sep 24 15:59:08 2015(r288175) +++ head/sys/conf/kern.post.mk Thu Sep 24 16:55:22 2015(r288176) @@ -23,6 +23,11 @@ MKMODULESENV+= CONF_CFLAGS="${CONF_CFLAG MKMODULESENV+= WITH_CTF="${WITH_CTF}" .endif +# Allow overriding the kernel debug directory, so kernel and user debug may be +# installed in different directories. Setting it to "" restores the historical +# behavior of installing debug files in the kernel directory. +KERN_DEBUGDIR?=${DEBUGDIR} + .MAIN: all .for target in all clean cleandepend cleandir clobber depend install \ @@ -101,11 +106,11 @@ modules-all modules-depend: modules-obj .if !defined(DEBUG) FULLKERNEL=${KERNEL_KO} .else -FULLKERNEL=${KERNEL_KO}.debug -${KERNEL_KO}: ${FULLKERNEL} ${KERNEL_KO}.symbols - ${OBJCOPY} --strip-debug --add-gnu-debuglink=${KERNEL_KO}.symbols\ +FULLKERNEL=${KERNEL_KO}.full +${KERNEL_KO}: ${FULLKERNEL} ${KERNEL_KO}.debug + ${OBJCOPY} --strip-debug --add-gnu-debuglink=${KERNEL_KO}.debug \ ${FULLKERNEL} ${.TARGET} -${KERNEL_KO}.symbols: ${FULLKERNEL} +${KERNEL_KO}.debug: ${FULLKERNEL} ${OBJCOPY} --only-keep-debug ${FULLKERNEL} ${.TARGET} install.debug reinstall.debug: gdbinit cd ${.CURDIR}; ${MAKE} ${.TARGET:R} @@ -151,7 +156,7 @@ ${mfile:T:S/.m$/.h/}: ${mfile} kernel-clean: rm -f *.o *.so *.So *.ko *.s eddep errs \ - ${FULLKERNEL} ${KERNEL_KO} ${KERNEL_KO}.symbols \ + ${FULLKERNEL} ${KERNEL_KO}
svn commit: r288177 - head
Author: emaste Date: Thu Sep 24 16:56:44 2015 New Revision: 288177 URL: https://svnweb.freebsd.org/changeset/base/288177 Log: Correct UPDATING entry date Modified: head/UPDATING Modified: head/UPDATING == --- head/UPDATING Thu Sep 24 16:55:22 2015(r288176) +++ head/UPDATING Thu Sep 24 16:56:44 2015(r288177) @@ -31,7 +31,7 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11 disable the most expensive debugging functionality run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) -20150925: +20150924: Kernel debug files have been moved to /usr/lib/debug/boot/kernel/, and renamed from .symbols to .debug. This reduces the size requirements on the boot partition or file system and provides consistency with ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r288210 - head/share/mk
Author: bdrewery Date: Fri Sep 25 05:15:27 2015 New Revision: 288210 URL: https://svnweb.freebsd.org/changeset/base/288210 Log: META_MODE: Fix staging not respecting _DIR overrides. This fixes atf-c.h not properly being installed to /usr/include/ (in the stagedir) via its override of 'INCSDIR_atf-c.h= ${INCLUDEDIR}'. This fixes building things that depend on atf. Staging seems to ignore OWN/GRP/MODE settings and needs further exploration. Sponsored by: EMC / Isilon Storage Division Modified: head/share/mk/bsd.files.mk head/share/mk/bsd.incs.mk Modified: head/share/mk/bsd.files.mk == --- head/share/mk/bsd.files.mk Fri Sep 25 03:54:10 2015(r288209) +++ head/share/mk/bsd.files.mk Fri Sep 25 05:15:27 2015(r288210) @@ -47,10 +47,12 @@ ${group}NAME_${file:T}?=${${group}NAME} ${group}NAME_${file:T}?= ${file:T} .endif .if !make(buildincludes) -STAGE_AS_SETS+=${group} +STAGE_AS_SETS+=${file:T} .endif STAGE_AS_${file:T}= ${${group}NAME_${file:T}} -stage_as.${group}: ${file} +# XXX {group}OWN,GRP,MODE +STAGE_DIR.${file:T}= ${STAGE_OBJTOP}${${group}DIR_${file:T}} +stage_as.${file:T}: ${file} installfiles-${group}: _${group}INS_${file:T} _${group}INS_${file:T}: ${file} Modified: head/share/mk/bsd.incs.mk == --- head/share/mk/bsd.incs.mk Fri Sep 25 03:54:10 2015(r288209) +++ head/share/mk/bsd.incs.mk Fri Sep 25 05:15:27 2015(r288210) @@ -42,10 +42,12 @@ ${group}NAME_${header:T}?= ${${group}NAM .else ${group}NAME_${header:T}?= ${header:T} .endif -STAGE_AS_SETS+= ${group} +STAGE_AS_SETS+= ${header:T} STAGE_AS_${header:T}= ${${group}NAME_${header:T}} -stage_as.${group}: ${header} -stage_includes: stage_as.${group} +# XXX {group}OWN,GRP,MODE +STAGE_DIR.${header:T}= ${STAGE_OBJTOP}${${group}DIR_${header:T}} +stage_as.${header:T}: ${header} +stage_includes: stage_as.${header:T} installincludes: _${group}INS_${header:T} _${group}INS_${header:T}: ${header} ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r288180 - in head: share/man/man4 sys/dev/usb/quirk
Author: hselasky Date: Thu Sep 24 17:37:30 2015 New Revision: 288180 URL: https://svnweb.freebsd.org/changeset/base/288180 Log: Implement support for reading USB quirks from the kernel environment. Refer to the usb_quirk(4) manual page for more details on how to use this new feature. Submitted by: Maxime SoulePR: 203249 MFC after:2 weeks Modified: head/share/man/man4/usb_quirk.4 head/sys/dev/usb/quirk/usb_quirk.c Modified: head/share/man/man4/usb_quirk.4 == --- head/share/man/man4/usb_quirk.4 Thu Sep 24 17:36:18 2015 (r288179) +++ head/share/man/man4/usb_quirk.4 Thu Sep 24 17:37:30 2015 (r288180) @@ -16,7 +16,7 @@ .\" .\" $FreeBSD$ .\" -.Dd May 7, 2015 +.Dd September 24, 2015 .Dt USB_QUIRK 4 .Os .Sh NAME @@ -177,7 +177,53 @@ ejects after HID command .Pp See .Pa /sys/dev/usb/quirk/usb_quirk.h -for the complete list of supported quirks. +or run "usbconfig dump_quirk_names" for the complete list of supported quirks. +.Sh LOADER TUNABLE +The following tunable can be set at the +.Xr loader 8 +prompt before booting the kernel, or stored in +.Xr loader.conf 5 . +.Bl -tag -width indent +.It Va hw.usb.quirk.%d +The value is a string whose format is: +.Bd -literal -offset indent +.Qo VendorId ProductId LowRevision HighRevision UQ_QUIRK,... Qc +.Ed +.Pp +Installs the quirks +.Ic UQ_QUIRK,... +for all USB devices matching +.Ic VendorId , +.Ic ProductId +and has a hardware revision between and including +.Ic LowRevision +and +.Ic HighRevision . +.Pp +.Ic VendorId , +.Ic ProductId , +.Ic LowRevision +and +.Ic HighRevision +are all 16 bits numbers which can be decimal or hexadecimal based. +.Pp +A maximum of 100 variables +.Ic hw.usb.quirk.0, .1, ..., .99 +can be defined. +.Pp +If a matching entry is found in the kernel's internal quirks table, it +is replaced by the new definition. +.Pp +Else a new entry is created given that the quirk table is not full. +.Pp +The kernel iterates over the +.Ic hw.usb.quirk.N +variables starting at +.Ic N = 0 +and stops at +.Ic N = 99 +or the first non-existing one. +.El .Sh EXAMPLES After attaching a .Nm u3g @@ -186,6 +232,13 @@ device which appears as a USB device on .Bd -literal -offset indent usbconfig -d ugen0.3 add_quirk UQ_MSC_EJECT_WAIT .Ed +.Pp +To install a quirk at boot time, place one or several lines like the +following in +.Xr loader.conf 5 : +.Bd -literal -offset indent +hw.usb.quirk.0="0x04d9 0xfa50 0 0x UQ_KBD_IGNORE" +.Ed .Sh SEE ALSO .Xr usbconfig 8 .Sh HISTORY Modified: head/sys/dev/usb/quirk/usb_quirk.c == --- head/sys/dev/usb/quirk/usb_quirk.c Thu Sep 24 17:36:18 2015 (r288179) +++ head/sys/dev/usb/quirk/usb_quirk.c Thu Sep 24 17:37:30 2015 (r288180) @@ -61,6 +61,7 @@ MODULE_VERSION(usb_quirk, 1); #defineUSB_DEV_QUIRKS_MAX 384 #defineUSB_SUB_QUIRKS_MAX 8 +#defineUSB_QUIRK_ENVROOT "hw.usb.quirk." struct usb_quirk_entry { uint16_t vid; @@ -608,8 +609,32 @@ static const char *usb_quirk_str[USB_QUI static const char * usb_quirkstr(uint16_t quirk) { - return ((quirk < USB_QUIRK_MAX) ? - usb_quirk_str[quirk] : "USB_QUIRK_UNKNOWN"); + return ((quirk < USB_QUIRK_MAX && usb_quirk_str[quirk] != NULL) ? + usb_quirk_str[quirk] : "UQ_UNKNOWN"); +} + +/** + * usb_strquirk + * + * This function converts a string into a USB quirk code. + * + * Returns: + * Less than USB_QUIRK_MAX: Quirk code + * Else: Quirk code not found + **/ +static uint16_t +usb_strquirk(const char *str, size_t len) +{ + const char *quirk; + uint16_t x; + + for (x = 0; x != USB_QUIRK_MAX; x++) { + quirk = usb_quirkstr(x); + if (strncmp(str, quirk, len) == 0 && + quirk[len] == 0) + break; + } + return (x); } /** @@ -854,12 +879,122 @@ usb_quirk_ioctl(unsigned long cmd, caddr return (ENOIOCTL); } +/** + * usb_quirk_strtou16 + * + * Helper function to scan a 16-bit integer. + **/ +static uint16_t +usb_quirk_strtou16(const char **pptr, const char *name, const char *what) +{ + unsigned long value; + char *end; + + value = strtoul(*pptr, , 0); + if (value > 65535 || *pptr == end || (*end != ' ' && *end != '\t')) { + printf("%s: %s 16-bit %s value set to zero\n", + name, what, *end == 0 ? "incomplete" : "invalid"); + return (0);
svn commit: r288208 - head/usr.sbin/ctld
Author: jpaetzel Date: Fri Sep 25 03:46:06 2015 New Revision: 288208 URL: https://svnweb.freebsd.org/changeset/base/288208 Log: Fix typo. Sponsored by: iXsystems Modified: head/usr.sbin/ctld/ctld.c Modified: head/usr.sbin/ctld/ctld.c == --- head/usr.sbin/ctld/ctld.c Fri Sep 25 02:52:54 2015(r288207) +++ head/usr.sbin/ctld/ctld.c Fri Sep 25 03:46:06 2015(r288208) @@ -1149,7 +1149,7 @@ valid_iscsi_name(const char *name) } } else { log_warnx("invalid target name \"%s\"; should start with " - "either \".iqn\", \"eui.\", or \"naa.\"", + "either \"iqn.\", \"eui.\", or \"naa.\"", name); } return (true); ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r288203 - head
Author: emaste Date: Fri Sep 25 00:30:53 2015 New Revision: 288203 URL: https://svnweb.freebsd.org/changeset/base/288203 Log: Remove EOL whitespace from Makefile.inc1 Modified: head/Makefile.inc1 Modified: head/Makefile.inc1 == --- head/Makefile.inc1 Fri Sep 25 00:23:36 2015(r288202) +++ head/Makefile.inc1 Fri Sep 25 00:30:53 2015(r288203) @@ -267,7 +267,7 @@ BMAKE= MAKEOBJDIRPREFIX=${WORLDTMP} \ -DNO_CPU_CFLAGS MK_WARNS=no MK_CTF=no \ MK_CLANG_EXTRAS=no MK_CLANG_FULL=no \ MK_LLDB=no MK_TESTS=no \ - MK_INCLUDES=yes + MK_INCLUDES=yes # build-tools stage TMAKE= MAKEOBJDIRPREFIX=${OBJTREE} \ @@ -1255,7 +1255,7 @@ update: # ELF Tool Chain libraries are needed for ELF tools and dtrace tools. .if ${BOOTSTRAPPING} < 116 -_elftoolchain_libs= lib/libelf lib/libdwarf +_elftoolchain_libs= lib/libelf lib/libdwarf .endif legacy: @@ -1279,7 +1279,7 @@ legacy: # binaries is usually quite narrow. Bootstrap tools use the host's compiler and # libraries, augmented by -legacy. # -_bt= _bootstrap-tools +_bt= _bootstrap-tools .if ${MK_GAMES} != "no" _strfile= games/fortune/strfile ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r288204 - in head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs: . sys
Author: delphij Date: Fri Sep 25 01:05:44 2015 New Revision: 288204 URL: https://svnweb.freebsd.org/changeset/base/288204 Log: MFV r288063: make dataset property de-registration operation O(1) A change to a property on a dataset must be propagated to its descendants in case that property is inherited. For datasets whose information is not currently loaded into memory (e.g. a snapshot that isn't currently mounted), there is nothing to do; the property change will take effect the next time that dataset is loaded. To handle updates to datasets that are in-core, ZFS registers a callback entry for each property of each loaded dataset with the dsl directory that holds that dataset. There is a dsl directory associated with each live dataset that references both the live dataset and any snapshots of the live dataset. A property change is effected by doing a traversal of the tree of dsl directories for a pool, starting at the directory sourcing the change, and invoking these callbacks. The current implementation both registers and de-registers properties individually for each loaded dataset. While registration for a property is O(1) (insert into a list), de-registration is O(n) (search list and then remove). The 'n' for de-registration, however, is not limited to the size (number of snapshots + 1) of the dsl directory. The eviction portion of the life cycle for the in core state of datasets is asynchronous, which allows multiple copies of the dataset information to be in-core at once. Only one of these copies is active at any time with the rest going through tear down processing, but all copies contribute to the cost of performing a dsl_prop_unregister(). One way to create multiple, in-flight copies of dataset information is by performing "zfs list" operations from multiple threads concurrently. In-core dataset information is loaded on demand and then evicted when reference counts drops to zero. For datasets that are not mounted, there is no persistent reference count to keep them resident. So, a list operation will load them, compute the information required to do the list operation, and then evict them. When performing this operation from multiple threads it is possible that some of the in-core dataset information will be reused, but also possible to lose the race and load the dataset again, even while the same information is being torn down. Compounding the performance issue further is a change made for illumos issue 5056 which made dataset eviction single threaded. In environments using automation to manage ZFS datasets, it is now possible to create enough of a backlog of dataset evictions to consume excessive amounts of kernel memory and to bog down the system. The fix employed here is to make property de-registration O(1). With this change in place, it is hoped that a single thread is more than sufficient to handle eviction processing. If it isn't, the problem can be solved by increasing the number of threads devoted to the eviction taskq. sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dir.c: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_prop.c: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_dataset.h: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_dir.h: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_prop.h: Associate dsl property callback records with both the dsl directory and the dsl dataset that is registering the callback. Both connections are protected by the dsl directory's "dd_lock". When linking callbacks into a dsl directory, group them by the property type. This helps reduce the space penalty for the double association (the property name pointer is stored once per dsl_dir instead of in each record) and reduces the number of strcmp() calls required to do callback processing when updating a single property. Property types are stored in a linked list since currently ZFS registers a maximum of 10 property types for each dataset. Note that the property buckets/records associated with a dsl directory are created on demand, but only freed when the dsl directory is freed. Given the static nature of property types and their small number, there is no benefit to freeing the few bytes of memory used to represent the property record earlier. When a property record becomes empty, the dsl directory is either going to become unreferenced a little later in this thread of execution, or there is a high chance that another dataset is going to be loaded that would recreate the bucket anyway. Replace dsl_prop_unregister() with dsl_prop_unregister_all(). All callers of dsl_prop_unregister() are trying to remove all property registrations for a given dsl dataset
svn commit: r288207 - head/share/vt/fonts
Author: emaste Date: Fri Sep 25 02:52:54 2015 New Revision: 288207 URL: https://svnweb.freebsd.org/changeset/base/288207 Log: Add double size 16x32 VGA ROM font This was created from vgarom-8x16.hex, and should be useful for higher resolution displays. Sponsored by: The FreeBSD Foundation Added: head/share/vt/fonts/vgarom-16x32.hex (contents, props changed) Modified: head/share/vt/fonts/Makefile Modified: head/share/vt/fonts/Makefile == --- head/share/vt/fonts/MakefileFri Sep 25 01:17:52 2015 (r288206) +++ head/share/vt/fonts/MakefileFri Sep 25 02:52:54 2015 (r288207) @@ -4,6 +4,7 @@ FILES= gallant.fnt \ vgarom-8x8.fnt \ vgarom-8x14.fnt \ vgarom-8x16.fnt \ + vgarom-16x32.fnt \ vgarom-thin-8x8.fnt \ vgarom-thin-8x16.fnt Added: head/share/vt/fonts/vgarom-16x32.hex == --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/share/vt/fonts/vgarom-16x32.hexFri Sep 25 02:52:54 2015 (r288207) @@ -0,0 +1,587 @@ +# $FreeBSD$ +# Height: 32 +# Width: 16 +: +0020: +0021:03C003C00FF00FF00FF00FF00FF00FF003C003C003C003C003C003C003C003C003C003C0 +0022:3C3C3C3C3C3C3C3C3C3C3C3C0C300C30 +0023:3CF03CF03CF03CF0FFFCFFFC3CF03CF03CF03CF03CF03CF0FFFCFFFC3CF03CF03CF03CF0 +0024:03C003C003C003C03FF03FF0F03CF03CF00CF00CF000F0003FF03FF0003C003C003C003CC03CC03CF03CF03C3FF03FF003C003C003C003C0 +0025:F00CF00CF03CF03C00F000F003C003C00F000F003C003C00F03CF03CC03CC03C +0026:0FC00FC03CF03CF03CF03CF00FC00FC03F3C3F3CF3F0F3F0F0F0F0F0F0F0F0F0F0F0F0F03F3C3F3C +0027:0F000F000F000F000F000F003C003C00 +0028:00F000F003C003C00F000F000F000F000F000F000F000F000F000F000F000F0003C003C000F000F0 +0029:0F000F0003C003C000F000F000F000F000F000F000F000F000F000F000F000F003C003C00F000F00 +002A:3C3C3C3C0FF00FF00FF00FF03C3C3C3C +002B:03C003C003C003C03FFC3FFC03C003C003C003C0 +002C:03C003C003C003C003C003C00F000F00 +002D:FFFCFFFC +002E:03C003C003C003C0 +002F:000C000C003C003C00F000F003C003C00F000F003C003C00F000F000C000C000 +0030:0FC00FC03CF03CF0F03CF03CF03CF03CF33CF33CF33CF33CF03CF03CF03CF03C3CF03CF00FC00FC0 +0031:03C003C00FC00FC03FC03FC003C003C003C003C003C003C003C003C003C003C003C003C03FFC3FFC +0032:3FF03FF0F03CF03C003C003C00F000F003C003C00F000F003C003C00F000F000F03CF03CFFFCFFFC +0033:3FF03FF0F03CF03C003C003C003C003C0FF00FF0003C003C003C003C003C003CF03CF03C3FF03FF0 +0034:00F000F003F003F00FF00FF03CF03CF0F0F0F0F0FFFCFFFC00F000F000F000F000F000F003FC03FC +0035:FFFCFFFCF000F000F000F000F000F000FFF0FFF0003C003C003C003C003C003CF03CF03C3FF03FF0 +0036:0FC00FC03C003C00F000F000F000F000FFF0FFF0F03CF03CF03CF03CF03CF03CF03CF03C3FF03FF0 +0037:FFFCFFFCF03CF03C003C003C003C003C00F000F003C003C00F000F000F000F000F000F000F000F00 +0038:3FF03FF0F03CF03CF03CF03CF03CF03C3FF03FF0F03CF03CF03CF03CF03CF03CF03CF03C3FF03FF0 +0039:3FF03FF0F03CF03CF03CF03CF03CF03C3FFC3FFC003C003C003C003C003C003C00F000F03FC03FC0