linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* (no subject)
@ 2004-08-15 12:19 Dave Airlie
  2004-08-15 12:34 ` your mail Christoph Hellwig
  0 siblings, 1 reply; 348+ messages in thread
From: Dave Airlie @ 2004-08-15 12:19 UTC (permalink / raw)
  To: torvalds, Andrew Morton; +Cc: linux-kernel


Hi Linus/Andrew,

I'd like to merge up the DRM tree to the stable branch, these patches have
been in -mm since I added them, they include a new i915 drm from Tungsten
Graphics, and the DRM now uses PCI properly if no framebuffer is loaded
(it falls back if framebuffer is enabled...), the next DRM changes are
lined up on a CVS branch - they start detemplating the DRM...

Please do a

	bk pull bk://drm.bkbits.net/drm-2.6

This will include the latest DRM changes and will update the following files:

 drivers/char/drm/Kconfig         |   17
 drivers/char/drm/Makefile        |    2
 drivers/char/drm/drm.h           |    4
 drivers/char/drm/drmP.h          |   18
 drivers/char/drm/drm_bufs.h      |    1
 drivers/char/drm/drm_drv.h       |  188 ++++++---
 drivers/char/drm/drm_ioctl.h     |    2
 drivers/char/drm/drm_os_linux.h  |    4
 drivers/char/drm/drm_pciids.h    |    8
 drivers/char/drm/drm_proc.h      |   17
 drivers/char/drm/drm_stub.h      |  201 +++++++---
 drivers/char/drm/gamma_old_dma.h |   69 ++-
 drivers/char/drm/i810_dma.c      |    7
 drivers/char/drm/i830_dma.c      |   12
 drivers/char/drm/i915.h          |   95 ++++
 drivers/char/drm/i915_dma.c      |  760 +++++++++++++++++++++++++++++++++++++++
 drivers/char/drm/i915_drm.h      |  162 ++++++++
 drivers/char/drm/i915_drv.c      |   31 +
 drivers/char/drm/i915_drv.h      |  228 +++++++++++
 drivers/char/drm/i915_irq.c      |  173 ++++++++
 drivers/char/drm/i915_mem.c      |  361 ++++++++++++++++++
 drivers/char/drm/sis_mm.c        |    7
 22 files changed, 2194 insertions(+), 173 deletions(-)

through these ChangeSets:

<airlied@starflyer.(none)> (04/08/02 1.1823)
   Fix up multiple devices issues with creating /proc/dri/

   From: Jon Smirl
   Approved-by: Dave Airlie <airlied@linux.ie>

<airlied@starflyer.(none)> (04/08/02 1.1822)
   add hotplug support function

   From: Jon Smirl
   Approved-by: Dave Airlie <airlied@linux.ie>

<airlied@starflyer.(none)> (04/08/02 1.1821)
   fixup prototype..

<airlied@starflyer.(none)> (04/07/31 1.1820)
   switch to using i915_dma_cleanup as this conflicts on BSD builds..

<airlied@starflyer.(none)> (04/07/31 1.1819)
   sparse: use of user space pointer in kernel...

   Approved-by: Dave Airlie <airlied@linux.ie>

<airlied@starflyer.(none)> (04/07/31 1.1818)
   sparse: 0->NULL conversions.

   From: Dave Airlie

<airlied@starflyer.(none)> (04/07/31 1.1817)
   the patch below optimises the drm code to not do put_user() on memory the
   kernel allocated and then mmap-installed to userspace, but instead makes it
   use the kernel virtual address directly instead.

   From: Arjan van de Ven <arjanv@redhat.com>
   Approved-by: Dave Airlie <airlied@linux.ie>

<airlied@starflyer.(none)> (04/07/26 1.1816)
   ATI Rage 128 and Radeon DRM unconditionally depend on PCI

   Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>

<airlied@starflyer.(none)> (04/07/26 1.1815)
   Correct a couple of packet length calculations. - keithw

<airlied@starflyer.(none)> (04/07/25 1.1814)
   define user if not already.. this isn't needed in kernel but for building against the kernel headers it is ...

<airlied@starflyer.(none)> (04/07/25 1.1813)
   sync up device/driver tracking with CVS,

   Approved-by: Dave Airlie <airlied@linux.ie>

<airlied@starflyer.(none)> (04/07/25 1.1812)
   fix whitespace on tabbing

<airlied@starflyer.(none)> (04/07/25 1.1811)
   add some annotations Als patch missed
   add annotations for i915 driver

<airlied@starflyer.(none)> (04/07/25 1.1810)
   add missing prototype

<airlied@starflyer.(none)> (04/07/25 1.1809)
   fixup annotation

<airlied@starflyer.(none)> (04/07/25 1.1808)
   patch from Tom Arbuckle for missing bus_address

   Approved-by: Dave Airlie <airlied@linux.ie>

<airlied@starflyer.(none)> (04/07/20 1.1807)
   use NULLs instead of 0s

   Approved-by: Dave Airlie <airlied@linux.ie>

<airlied@starflyer.(none)> (04/07/20 1.1806)
   fixup drm_stub so it works with two-headed cards properly...

   Approved-by: Dave Airlie <airlied@linux.ie>

<airlied@starflyer.(none)> (04/07/15 1.1784.4.6)
   Add new i915 driver from Tungsten Graphics Inc. This driver covers the i830
   chipsets also, a new X 2D + 3D driver are needed to use this but they have
   been integrated into at least the X.org tree at this point and I think the
   XFree86 tree. There are probably a few cleanups necessary for this driver.

   From: Keith Whitwell <keith@tungstengraphics.com>
   Approved-by: Dave Airlie <airlied@linux.ie>

<airlied@starflyer.(none)> (04/07/15 1.1784.4.5)
   Fix issue with keeping count of registered DRMs with new driver model

   Submitted-by: Dave Airlie <airlied@linux.ie>

<airlied@starflyer.(none)> (04/07/06 1.1784.4.4)
   changes for better hotplug and proper PCI device support from Jon Smirl and
   Dave Airlie, along with a big fix from Paul Mackerras.

   Note: these are complex due to the need for the DRM to fallback if the
   framebuffer driver has already taken the device.

   These changes have been in the DRM CVS tree for about 3 months, style
   comments are appreciated...


-- 
David Airlie, Software Engineer
http://www.skynet.ie/~airlied / airlied at skynet.ie
pam_smb / Linux DECstation / Linux VAX / ILUG person


^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2023-10-16 12:31 Gilbert Adikankwu
  2023-10-16 12:34 ` your mail Julia Lawall
  0 siblings, 1 reply; 348+ messages in thread
From: Gilbert Adikankwu @ 2023-10-16 12:31 UTC (permalink / raw)
  To: Julia Lawall; +Cc: outreachy, gregkh, linux-staging, linux-kernel

linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org  
Bcc: 
Subject: Re: [PATCH] staging: emxx_udc: Remove unnecessary parentheses around
 condition tests
Reply-To: 
In-Reply-To: <6b60ed7-9d97-2071-44f8-83b173191ed@inria.fr>

On Mon, Oct 16, 2023 at 02:15:06PM +0200, Julia Lawall wrote:
> 
> 
> On Mon, 16 Oct 2023, Gilbert Adikankwu wrote:
> 
> > Fix 47 warnings detected by checkpatch.pl about unnecessary parenthesis
> > around condition tests.
> 
> If you need to make any changes to the patch, there is no need to give the
> count of the changes.  It doesn't matter if it's 47, 46, 35, etc.
> 
> julia
>
Hi Julia, 

I added the number because I saw I similar commit on the logs that did
so. (commit b83970f23f36f0e2968872140e69f68118d82fe3)
> >
> > Signed-off-by: Gilbert Adikankwu <gilbertadikankwu@gmail.com>
> > ---
> >  drivers/staging/emxx_udc/emxx_udc.c | 72 ++++++++++++++---------------
> >  1 file changed, 36 insertions(+), 36 deletions(-)
> >
> > diff --git a/drivers/staging/emxx_udc/emxx_udc.c b/drivers/staging/emxx_udc/emxx_udc.c
> > index eb63daaca702..e8ddd691b788 100644
> > --- a/drivers/staging/emxx_udc/emxx_udc.c
> > +++ b/drivers/staging/emxx_udc/emxx_udc.c
> > @@ -149,8 +149,8 @@ static void _nbu2ss_ep0_complete(struct usb_ep *_ep, struct usb_request *_req)
> >  			/* SET_FEATURE */
> >  			recipient = (u8)(p_ctrl->bRequestType & USB_RECIP_MASK);
> >  			selector  = le16_to_cpu(p_ctrl->wValue);
> > -			if ((recipient == USB_RECIP_DEVICE) &&
> > -			    (selector == USB_DEVICE_TEST_MODE)) {
> > +			if (recipient == USB_RECIP_DEVICE &&
> > +			    selector == USB_DEVICE_TEST_MODE) {
> >  				wIndex = le16_to_cpu(p_ctrl->wIndex);
> >  				test_mode = (u32)(wIndex >> 8);
> >  				_nbu2ss_set_test_mode(udc, test_mode);
> > @@ -287,7 +287,7 @@ static int _nbu2ss_epn_exit(struct nbu2ss_udc *udc, struct nbu2ss_ep *ep)
> >  	u32		num;
> >  	u32		data;
> >
> > -	if ((ep->epnum == 0) || (udc->vbus_active == 0))
> > +	if (ep->epnum == 0 || udc->vbus_active == 0)
> >  		return	-EINVAL;
> >
> >  	num = ep->epnum - 1;
> > @@ -336,7 +336,7 @@ static void _nbu2ss_ep_dma_init(struct nbu2ss_udc *udc, struct nbu2ss_ep *ep)
> >  	u32		data;
> >
> >  	data = _nbu2ss_readl(&udc->p_regs->USBSSCONF);
> > -	if (((ep->epnum == 0) || (data & (1 << ep->epnum)) == 0))
> > +	if (ep->epnum == 0 || (data & (1 << ep->epnum)) == 0)
> >  		return;		/* Not Support DMA */
> >
> >  	num = ep->epnum - 1;
> > @@ -380,7 +380,7 @@ static void _nbu2ss_ep_dma_exit(struct nbu2ss_udc *udc, struct nbu2ss_ep *ep)
> >  		return;		/* VBUS OFF */
> >
> >  	data = _nbu2ss_readl(&preg->USBSSCONF);
> > -	if ((ep->epnum == 0) || ((data & (1 << ep->epnum)) == 0))
> > +	if (ep->epnum == 0 || (data & (1 << ep->epnum)) == 0)
> >  		return;		/* Not Support DMA */
> >
> >  	num = ep->epnum - 1;
> > @@ -560,7 +560,7 @@ static int ep0_out_overbytes(struct nbu2ss_udc *udc, u8 *p_buf, u32 length)
> >  	union usb_reg_access  temp_32;
> >  	union usb_reg_access  *p_buf_32 = (union usb_reg_access *)p_buf;
> >
> > -	if ((length > 0) && (length < sizeof(u32))) {
> > +	if (length > 0 && length < sizeof(u32)) {
> >  		temp_32.dw = _nbu2ss_readl(&udc->p_regs->EP0_READ);
> >  		for (i = 0 ; i < length ; i++)
> >  			p_buf_32->byte.DATA[i] = temp_32.byte.DATA[i];
> > @@ -608,7 +608,7 @@ static int ep0_in_overbytes(struct nbu2ss_udc *udc,
> >  	union usb_reg_access  temp_32;
> >  	union usb_reg_access  *p_buf_32 = (union usb_reg_access *)p_buf;
> >
> > -	if ((i_remain_size > 0) && (i_remain_size < sizeof(u32))) {
> > +	if (i_remain_size > 0 && i_remain_size < sizeof(u32)) {
> >  		for (i = 0 ; i < i_remain_size ; i++)
> >  			temp_32.byte.DATA[i] = p_buf_32->byte.DATA[i];
> >  		_nbu2ss_ep_in_end(udc, 0, temp_32.dw, i_remain_size);
> > @@ -701,7 +701,7 @@ static int _nbu2ss_ep0_in_transfer(struct nbu2ss_udc *udc,
> >  		return result;
> >  	}
> >
> > -	if ((i_remain_size < sizeof(u32)) && (result != EP0_PACKETSIZE)) {
> > +	if (i_remain_size < sizeof(u32) && result != EP0_PACKETSIZE) {
> >  		p_buffer += result;
> >  		result += ep0_in_overbytes(udc, p_buffer, i_remain_size);
> >  		req->div_len = result;
> > @@ -738,7 +738,7 @@ static int _nbu2ss_ep0_out_transfer(struct nbu2ss_udc *udc,
> >  		req->req.actual += result;
> >  		i_recv_length -= result;
> >
> > -		if ((i_recv_length > 0) && (i_recv_length < sizeof(u32))) {
> > +		if (i_recv_length > 0 && i_recv_length < sizeof(u32)) {
> >  			p_buffer += result;
> >  			i_remain_size -= result;
> >
> > @@ -891,8 +891,8 @@ static int _nbu2ss_epn_out_pio(struct nbu2ss_udc *udc, struct nbu2ss_ep *ep,
> >
> >  	req->req.actual += result;
> >
> > -	if ((req->req.actual == req->req.length) ||
> > -	    ((req->req.actual % ep->ep.maxpacket) != 0)) {
> > +	if (req->req.actual == req->req.length ||
> > +	    (req->req.actual % ep->ep.maxpacket) != 0) {
> >  		result = 0;
> >  	}
> >
> > @@ -914,8 +914,8 @@ static int _nbu2ss_epn_out_data(struct nbu2ss_udc *udc, struct nbu2ss_ep *ep,
> >
> >  	i_buf_size = min((req->req.length - req->req.actual), data_size);
> >
> > -	if ((ep->ep_type != USB_ENDPOINT_XFER_INT) && (req->req.dma != 0) &&
> > -	    (i_buf_size  >= sizeof(u32))) {
> > +	if (ep->ep_type != USB_ENDPOINT_XFER_INT && req->req.dma != 0 &&
> > +	    i_buf_size  >= sizeof(u32)) {
> >  		nret = _nbu2ss_out_dma(udc, req, num, i_buf_size);
> >  	} else {
> >  		i_buf_size = min_t(u32, i_buf_size, ep->ep.maxpacket);
> > @@ -954,8 +954,8 @@ static int _nbu2ss_epn_out_transfer(struct nbu2ss_udc *udc,
> >  			}
> >  		}
> >  	} else {
> > -		if ((req->req.actual == req->req.length) ||
> > -		    ((req->req.actual % ep->ep.maxpacket) != 0)) {
> > +		if (req->req.actual == req->req.length ||
> > +		    (req->req.actual % ep->ep.maxpacket) != 0) {
> >  			result = 0;
> >  		}
> >  	}
> > @@ -1106,8 +1106,8 @@ static int _nbu2ss_epn_in_data(struct nbu2ss_udc *udc, struct nbu2ss_ep *ep,
> >
> >  	num = ep->epnum - 1;
> >
> > -	if ((ep->ep_type != USB_ENDPOINT_XFER_INT) && (req->req.dma != 0) &&
> > -	    (data_size >= sizeof(u32))) {
> > +	if (ep->ep_type != USB_ENDPOINT_XFER_INT && req->req.dma != 0 &&
> > +	    data_size >= sizeof(u32)) {
> >  		nret = _nbu2ss_in_dma(udc, ep, req, num, data_size);
> >  	} else {
> >  		data_size = min_t(u32, data_size, ep->ep.maxpacket);
> > @@ -1238,7 +1238,7 @@ static void _nbu2ss_endpoint_toggle_reset(struct nbu2ss_udc *udc, u8 ep_adrs)
> >  	u8		num;
> >  	u32		data;
> >
> > -	if ((ep_adrs == 0) || (ep_adrs == 0x80))
> > +	if (ep_adrs == 0 || ep_adrs == 0x80)
> >  		return;
> >
> >  	num = (ep_adrs & 0x7F) - 1;
> > @@ -1261,7 +1261,7 @@ static void _nbu2ss_set_endpoint_stall(struct nbu2ss_udc *udc,
> >  	struct nbu2ss_ep *ep;
> >  	struct fc_regs __iomem *preg = udc->p_regs;
> >
> > -	if ((ep_adrs == 0) || (ep_adrs == 0x80)) {
> > +	if (ep_adrs == 0 || ep_adrs == 0x80) {
> >  		if (bstall) {
> >  			/* Set STALL */
> >  			_nbu2ss_bitset(&preg->EP0_CONTROL, EP0_STL);
> > @@ -1392,8 +1392,8 @@ static inline int _nbu2ss_req_feature(struct nbu2ss_udc *udc, bool bset)
> >  	u8	ep_adrs;
> >  	int	result = -EOPNOTSUPP;
> >
> > -	if ((udc->ctrl.wLength != 0x0000) ||
> > -	    (direction != USB_DIR_OUT)) {
> > +	if (udc->ctrl.wLength != 0x0000 ||
> > +	    direction != USB_DIR_OUT) {
> >  		return -EINVAL;
> >  	}
> >
> > @@ -1480,7 +1480,7 @@ static int std_req_get_status(struct nbu2ss_udc *udc)
> >  	u8	ep_adrs;
> >  	int	result = -EINVAL;
> >
> > -	if ((udc->ctrl.wValue != 0x0000) || (direction != USB_DIR_IN))
> > +	if (udc->ctrl.wValue != 0x0000 || direction != USB_DIR_IN)
> >  		return result;
> >
> >  	length =
> > @@ -1542,9 +1542,9 @@ static int std_req_set_address(struct nbu2ss_udc *udc)
> >  	int		result = 0;
> >  	u32		wValue = le16_to_cpu(udc->ctrl.wValue);
> >
> > -	if ((udc->ctrl.bRequestType != 0x00)	||
> > -	    (udc->ctrl.wIndex != 0x0000)	||
> > -		(udc->ctrl.wLength != 0x0000)) {
> > +	if (udc->ctrl.bRequestType != 0x00	||
> > +	    udc->ctrl.wIndex != 0x0000		||
> > +		udc->ctrl.wLength != 0x0000) {
> >  		return -EINVAL;
> >  	}
> >
> > @@ -1564,9 +1564,9 @@ static int std_req_set_configuration(struct nbu2ss_udc *udc)
> >  {
> >  	u32 config_value = (u32)(le16_to_cpu(udc->ctrl.wValue) & 0x00ff);
> >
> > -	if ((udc->ctrl.wIndex != 0x0000)	||
> > -	    (udc->ctrl.wLength != 0x0000)	||
> > -		(udc->ctrl.bRequestType != 0x00)) {
> > +	if (udc->ctrl.wIndex != 0x0000	||
> > +	    udc->ctrl.wLength != 0x0000	||
> > +		udc->ctrl.bRequestType != 0x00) {
> >  		return -EINVAL;
> >  	}
> >
> > @@ -1838,8 +1838,8 @@ static void _nbu2ss_ep_done(struct nbu2ss_ep *ep,
> >  	}
> >
> >  #ifdef USE_DMA
> > -	if ((ep->direct == USB_DIR_OUT) && (ep->epnum > 0) &&
> > -	    (req->req.dma != 0))
> > +	if (ep->direct == USB_DIR_OUT && ep->epnum > 0 &&
> > +	    req->req.dma != 0)
> >  		_nbu2ss_dma_unmap_single(udc, ep, req, USB_DIR_OUT);
> >  #endif
> >
> > @@ -1931,7 +1931,7 @@ static inline void _nbu2ss_epn_in_dma_int(struct nbu2ss_udc *udc,
> >  		mpkt = ep->ep.maxpacket;
> >  		size = preq->actual % mpkt;
> >  		if (size > 0) {
> > -			if (((preq->actual & 0x03) == 0) && (size < mpkt))
> > +			if ((preq->actual & 0x03) == 0 && size < mpkt)
> >  				_nbu2ss_ep_in_end(udc, ep->epnum, 0, 0);
> >  		} else {
> >  			_nbu2ss_epn_in_int(udc, ep, req);
> > @@ -2428,8 +2428,8 @@ static int nbu2ss_ep_enable(struct usb_ep *_ep,
> >  	}
> >
> >  	ep_type = usb_endpoint_type(desc);
> > -	if ((ep_type == USB_ENDPOINT_XFER_CONTROL) ||
> > -	    (ep_type == USB_ENDPOINT_XFER_ISOC)) {
> > +	if (ep_type == USB_ENDPOINT_XFER_CONTROL ||
> > +	    ep_type == USB_ENDPOINT_XFER_ISOC) {
> >  		pr_err(" *** %s, bat bmAttributes\n", __func__);
> >  		return -EINVAL;
> >  	}
> > @@ -2438,7 +2438,7 @@ static int nbu2ss_ep_enable(struct usb_ep *_ep,
> >  	if (udc->vbus_active == 0)
> >  		return -ESHUTDOWN;
> >
> > -	if ((!udc->driver) || (udc->gadget.speed == USB_SPEED_UNKNOWN)) {
> > +	if (!udc->driver || udc->gadget.speed == USB_SPEED_UNKNOWN) {
> >  		dev_err(ep->udc->dev, " *** %s, udc !!\n", __func__);
> >  		return -ESHUTDOWN;
> >  	}
> > @@ -2603,8 +2603,8 @@ static int nbu2ss_ep_queue(struct usb_ep *_ep,
> >  		}
> >  	}
> >
> > -	if ((ep->epnum > 0) && (ep->direct == USB_DIR_OUT) &&
> > -	    (req->req.dma != 0))
> > +	if (ep->epnum > 0 && ep->direct == USB_DIR_OUT &&
> > +	    req->req.dma != 0)
> >  		_nbu2ss_dma_map_single(udc, ep, req, USB_DIR_OUT);
> >  #endif
> >
> > --
> > 2.34.1
> >
> >
> >

^ permalink raw reply	[flat|nested] 348+ messages in thread
* [PATCH] maple_tree: Fix a few documentation issues, 
@ 2023-05-10 19:01 Thomas Gleixner
  2023-05-15 19:27 ` your mail Liam R. Howlett
  0 siblings, 1 reply; 348+ messages in thread
From: Thomas Gleixner @ 2023-05-10 19:01 UTC (permalink / raw)
  To: LKML; +Cc: Liam R. Howlett, Matthew Wilcox, linux-mm, Shanker Donthineni

The documentation of mt_next() claims that it starts the search at the
provided index. That's incorrect as it starts the search after the provided
index.

The documentation of mt_find() is slightly confusing. "Handles locking" is
not really helpful as it does not explain how the "locking" works. Also the
documentation of index talks about a range, while in reality the index
is updated on a succesful search to the index of the found entry plus one.

Fix similar issues for mt_find_after() and mt_prev().

Remove the completely confusing and pointless "Note: Will not return the
zero entry." comment from mt_for_each() and document @__index correctly.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
 include/linux/maple_tree.h |    4 +---
 lib/maple_tree.c           |   23 ++++++++++++++++++-----
 2 files changed, 19 insertions(+), 8 deletions(-)

--- a/include/linux/maple_tree.h
+++ b/include/linux/maple_tree.h
@@ -659,10 +659,8 @@ void *mt_next(struct maple_tree *mt, uns
  * mt_for_each - Iterate over each entry starting at index until max.
  * @__tree: The Maple Tree
  * @__entry: The current entry
- * @__index: The index to update to track the location in the tree
+ * @__index: The index to start the search from. Subsequently used as iterator.
  * @__max: The maximum limit for @index
- *
- * Note: Will not return the zero entry.
  */
 #define mt_for_each(__tree, __entry, __index, __max) \
 	for (__entry = mt_find(__tree, &(__index), __max); \
--- a/lib/maple_tree.c
+++ b/lib/maple_tree.c
@@ -5947,7 +5947,10 @@ EXPORT_SYMBOL_GPL(mas_next);
  * @index: The start index
  * @max: The maximum index to check
  *
- * Return: The entry at @index or higher, or %NULL if nothing is found.
+ * Takes RCU read lock internally to protect the search, which does not
+ * protect the returned pointer after dropping RCU read lock.
+ *
+ * Return: The entry higher than @index or %NULL if nothing is found.
  */
 void *mt_next(struct maple_tree *mt, unsigned long index, unsigned long max)
 {
@@ -6012,7 +6015,10 @@ EXPORT_SYMBOL_GPL(mas_prev);
  * @index: The start index
  * @min: The minimum index to check
  *
- * Return: The entry at @index or lower, or %NULL if nothing is found.
+ * Takes RCU read lock internally to protect the search, which does not
+ * protect the returned pointer after dropping RCU read lock.
+ *
+ * Return: The entry before @index or %NULL if nothing is found.
  */
 void *mt_prev(struct maple_tree *mt, unsigned long index, unsigned long min)
 {
@@ -6487,9 +6493,14 @@ EXPORT_SYMBOL(mtree_destroy);
  * mt_find() - Search from the start up until an entry is found.
  * @mt: The maple tree
  * @index: Pointer which contains the start location of the search
- * @max: The maximum value to check
+ * @max: The maximum value of the search range
+ *
+ * Takes RCU read lock internally to protect the search, which does not
+ * protect the returned pointer after dropping RCU read lock.
  *
- * Handles locking.  @index will be incremented to one beyond the range.
+ * In case that an entry is found @index contains the index of the found
+ * entry plus one, so it can be used as iterator index to find the next
+ * entry.
  *
  * Return: The entry at or after the @index or %NULL
  */
@@ -6548,7 +6559,9 @@ EXPORT_SYMBOL(mt_find);
  * @index: Pointer which contains the start location of the search
  * @max: The maximum value to check
  *
- * Handles locking, detects wrapping on index == 0
+ * Same as mt_find() except that it checks @index for 0 before
+ * searching. If @index == 0, the search is aborted. This covers a wrap
+ * around of @index to 0 in an iterator loop.
  *
  * Return: The entry at or after the @index or %NULL
  */

^ permalink raw reply	[flat|nested] 348+ messages in thread
[parent not found: <CAP7CzPfLu6mm6f2fon-zez3PW6rDACEH6ihF2aG+1Dc7Zc2WuQ@mail.gmail.com>]
* (no subject)
@ 2021-08-21  8:59 Kari Argillander
  2021-08-22 13:13 ` your mail CGEL
  0 siblings, 1 reply; 348+ messages in thread
From: Kari Argillander @ 2021-08-21  8:59 UTC (permalink / raw)
  To: cgel.zte
  Cc: viro, christian.brauner, jamorris, gladkov.alexey, yang.yang29,
	tj, paul.gortmaker, linux-fsdevel, linux-kernel, Zeal Robot

Bcc:
Subject: Re: [PATCH] proc: prevent mount proc on same mountpoint in one pid
 namespace
Reply-To:
In-Reply-To: <20210821083105.30336-1-yang.yang29@zte.com.cn>

On Sat, Aug 21, 2021 at 01:31:05AM -0700, cgel.zte@gmail.com wrote:
> From: Yang Yang <yang.yang29@zte.com.cn>
> 
> Patch "proc: allow to mount many instances of proc in one pid namespace"
> aims to mount many instances of proc on different mountpoint, see
> tools/testing/selftests/proc/proc-multiple-procfs.c.
> 
> But there is a side-effects, user can mount many instances of proc on
> the same mountpoint in one pid namespace, which is not allowed before.
> This duplicate mount makes no sense but wastes memory and CPU, and user
> may be confused why kernel allows it.
> 
> The logic of this patch is: when try to mount proc on /mnt, check if
> there is a proc instance mount on /mnt in the same pid namespace. If
> answer is yes, return -EBUSY.
> 
> Since this check can't be done in proc_get_tree(), which call
> get_tree_nodev() and will create new super_block unconditionally.
> And other nodev fs may faces the same case, so add a new hook in
> fs_context_operations.
> 
> Reported-by: Zeal Robot <zealci@zte.com.cn>
> Signed-off-by: Yang Yang <yang.yang29@zte.com.cn>
> ---
>  fs/namespace.c             |  9 +++++++++
>  fs/proc/root.c             | 15 +++++++++++++++
>  include/linux/fs_context.h |  1 +
>  3 files changed, 25 insertions(+)
> 
> diff --git a/fs/namespace.c b/fs/namespace.c
> index f79d9471cb76..84da649a70c5 100644
> --- a/fs/namespace.c
> +++ b/fs/namespace.c
> @@ -2878,6 +2878,7 @@ static int do_new_mount_fc(struct fs_context *fc, struct path *mountpoint,
>  static int do_new_mount(struct path *path, const char *fstype, int sb_flags,
>  			int mnt_flags, const char *name, void *data)
>  {
> +	int (*check_mntpoint)(struct fs_context *fc, struct path *path);
>  	struct file_system_type *type;
>  	struct fs_context *fc;
>  	const char *subtype = NULL;
> @@ -2906,6 +2907,13 @@ static int do_new_mount(struct path *path, const char *fstype, int sb_flags,
>  	if (IS_ERR(fc))
>  		return PTR_ERR(fc);
>  
> +	/* check if there is a same super_block mount on path*/
> +	check_mntpoint = fc->ops->check_mntpoint;
> +	if (check_mntpoint)
> +		err = check_mntpoint(fc, path);
> +	if (err < 0)
> +		goto err_fc;
> +
>  	if (subtype)
>  		err = vfs_parse_fs_string(fc, "subtype",
>  					  subtype, strlen(subtype));
> @@ -2920,6 +2928,7 @@ static int do_new_mount(struct path *path, const char *fstype, int sb_flags,
>  	if (!err)
>  		err = do_new_mount_fc(fc, path, mnt_flags);
>  
> +err_fc:
>  	put_fs_context(fc);
>  	return err;
>  }
> diff --git a/fs/proc/root.c b/fs/proc/root.c
> index c7e3b1350ef8..0971d6b0bec2 100644
> --- a/fs/proc/root.c
> +++ b/fs/proc/root.c
> @@ -237,11 +237,26 @@ static void proc_fs_context_free(struct fs_context *fc)
>  	kfree(ctx);
>  }
>  
> +static int proc_check_mntpoint(struct fs_context *fc, struct path *path)
> +{
> +	struct super_block *mnt_sb = path->mnt->mnt_sb;
> +	struct proc_fs_info *fs_info;
> +
> +	if (strcmp(mnt_sb->s_type->name, "proc") == 0) {
> +		fs_info = mnt_sb->s_fs_info;
> +		if (fs_info->pid_ns == task_active_pid_ns(current) &&
> +		    path->mnt->mnt_root == path->dentry)
> +			return -EBUSY;
> +	}
> +	return 0;
> +}
> +
>  static const struct fs_context_operations proc_fs_context_ops = {
>  	.free		= proc_fs_context_free,
>  	.parse_param	= proc_parse_param,
>  	.get_tree	= proc_get_tree,
>  	.reconfigure	= proc_reconfigure,
> +	.check_mntpoint	= proc_check_mntpoint,
>  };
>  
>  static int proc_init_fs_context(struct fs_context *fc)
> diff --git a/include/linux/fs_context.h b/include/linux/fs_context.h
> index 6b54982fc5f3..090a05fb2d7d 100644
> --- a/include/linux/fs_context.h
> +++ b/include/linux/fs_context.h
> @@ -119,6 +119,7 @@ struct fs_context_operations {
>  	int (*parse_monolithic)(struct fs_context *fc, void *data);
>  	int (*get_tree)(struct fs_context *fc);
>  	int (*reconfigure)(struct fs_context *fc);
> +	int (*check_mntpoint)(struct fs_context *fc, struct path *path);

Don't you think this should be it's own patch. It is after all internal
api change. This also needs documentation. It would be confusing if
someone convert to new mount api and there is one line which just
address some proc stuff but even commit message does not address does
every fs needs to add this. 

Documentation is very good shape right now and we are in face that
everyone is migrating to use new mount api so everyting should be well
documented.

>  };
>  
>  /*
> -- 
> 2.25.1
> 

^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2021-08-16  2:46 Kari Argillander
  2021-08-16 12:27 ` your mail Christoph Hellwig
  0 siblings, 1 reply; 348+ messages in thread
From: Kari Argillander @ 2021-08-16  2:46 UTC (permalink / raw)
  To: Konstantin Komarov, Christoph Hellwig
  Cc: Kari Argillander, ntfs3, linux-kernel, linux-fsdevel,
	Pali Rohár, Matthew Wilcox

Date: Mon, 16 Aug 2021 04:08:46 +0300
Subject: [RFC PATCH 0/4] fs/ntfs3: Use new mount api and change some opts

This series modify ntfs3 to use new mount api as Christoph Hellwig wish
for.
https://lore.kernel.org/linux-fsdevel/20210810090234.GA23732@lst.de/

It also modify mount options noatime (not needed) and make new alias
for nls because kernel is changing to use it as described in here
https://lore.kernel.org/linux-fsdevel/20210808162453.1653-1-pali@kernel.org/

I would like really like to get fsparam_flag_no also for no_acs_rules
but then we have to make new name for it. Other possibility is to
modify mount api so it mount option can be no/no_. I think that would
maybe be good change. 

I did not quite like how I did nls table loading because now it always
first load default table and if user give option then default table is
dropped and if reconfigure is happening and this was same as before then
it is dropped. I try to make loading in fill_super and fs_reconfigure
but that just look ugly. This is quite readible so I leave it like this.
We also do not mount/remount so often that this probebly does not
matter. It seems that if new mount api had possibility to give default
value for mount option then there is not this kind of problem.

I would hope that these will added top of the now going ntfs3 patch
series. I do not have so many contributions to kernel yet and I would
like to get my name going there so that in future it would be easier to
contribute kernel.

Kari Argillander (4):
  fs/ntfs3: Use new api for mounting
  fs/ntfs3: Remove unnecesarry mount option noatime
  fs/ntfs3: Make mount option nohidden more universal
  fs/ntfs3: Add iocharset= mount option as alias for nls=

 Documentation/filesystems/ntfs3.rst |   4 -
 fs/ntfs3/super.c                    | 391 ++++++++++++++--------------
 2 files changed, 196 insertions(+), 199 deletions(-)

-- 
2.25.1


^ permalink raw reply	[flat|nested] 348+ messages in thread
* [PATCH] drivers/gpu/drm/ttm/ttm_page_allo.c: adjust ttm pages refcount fix the bug: Feb  6 17:13:13 aaa-PC kernel: [  466.271034] BUG: Bad page state in process blur_image  pfn:7aee2 Feb  6 17:13:13 aaa-PC kernel: [  466.271037] page:980000025fca4170 count:0 mapcount:0 mapping:980000025a0dca60 index:0x0 Feb  6 17:13:13 aaa-PC kernel: [  466.271039] flags: 0x1e01fff000000() Feb  6 17:13:13 aaa-PC kernel: [  466.271042] raw: 0001e01fff000000 0000000000000100 0000000000000200 980000025a0dca60 Feb  6 17:13:13 aaa-PC kernel: [  466.271044] raw: 0000000000000000 0000000000000000 00000000ffffffff Feb  6 17:13:13 aaa-PC kernel: [  466.271046] page dumped because: non-NULL mapping Feb  6 17:13:13 aaa-PC kernel: [  466.271047] Modules linked in: bnep fuse bluetooth ecdh_generic sha256_generic cfg80211 rfkill vfat fat serio_raw uio_pdrv_genirq binfmt_misc ip_tables amdgpu chash radeon r8168 loongson gpu_sched Feb  6 17:13:13 aaa-PC kernel: [  466.271059] CPU: 3 PID: 9554 Comm:  blur_image Tainted: G    B             4.19.0-loongson-3-desktop #3036 Feb  6 17:13:13 aaa-PC kernel: [  466.271061] Hardware name: Haier Kunlun-LS3A4000-LS7A-desktop/Kunlun-LS3A4000-LS7A-desktop, BIOS Kunlun-V4.0.12V4.0 LS3A4000 03/19/2020 Feb  6 17:13:13 aaa-PC kernel: [  466.271063] Stack : 000000000000007b 000000007400cce0 0000000000000000 0000000000000007 Feb  6 17:13:13 aaa-PC kernel: [  466.271067]         0000000000000000 0000000000000000 0000000000002a82 ffffffff8202c910 Feb  6 17:13:13 aaa-PC kernel: [  466.271070]         0000000000000000 0000000000002a82 0000000000000000 ffffffff81e20000 Feb  6 17:13:13 aaa-PC kernel: [  466.271074]         0000000000000000 ffffffff8021301c ffffffff82040000 6e754b20534f4942 Feb  6 17:13:13 aaa-PC kernel: [  466.271078]         ffff000000000000 0000000000000000 000000007400cce0 0000000000000000 Feb  6 17:13:13 aaa-PC kernel: [  466.271082]         9800000007155d40 ffffffff81cc5470 0000000000000005 6db6db6db6db0000 Feb  6 17:13:13  aaa-PC kernel: [  466.271086]         0000000000000003 fffffffffffffffb 0000000000006000 98000002559f4000 Feb  6 17:13:13 aaa-PC kernel: [  466.271090]         980000024a448000 980000024a44b7f0 9800000007155d50 ffffffff819f5158 Feb  6 17:13:13 aaa-PC kernel: [  466.271094]         0000000000000000 0000000000000000 0000000000000000 0000000000000000 Feb  6 17:13:13 aaa-PC kernel: [  466.271097]         9800000007155d40 ffffffff802310c4 ffffffff81e70000 ffffffff819f5158 Feb  6 17:13:13 aaa-PC kernel: [  466.271101]         ... Feb  6 17:13:13 aaa-PC kernel: [  466.271103] Call Trace: Feb  6 17:13:13 aaa-PC kernel: [  466.271107] [<ffffffff802310c4>] show_stack+0x44/0x1c0 Feb  6 17:13:13 aaa-PC kernel: [  466.271110] [<ffffffff819f5158>] dump_stack+0x1d8/0x240 Feb  6 17:13:13 aaa-PC kernel: [  466.271113] [<ffffffff80491c10>] bad_page+0x210/0x2c0 Feb  6 17:13:13 aaa-PC kernel: [  466.271116] [<ffffffff804931c8>] free_pcppages_bulk+0x708/0x900 Feb  6 17:13:13 aaa-PC kernel: [  46 6.271119] [<ffffffff804980cc>] free_unref_page_list+0x1cc/0x2c0 Feb  6 17:13:13 aaa-PC kernel: [  466.271122] [<ffffffff804ad2c8>] release_pages+0x648/0x900 Feb  6 17:13:13 aaa-PC kernel: [  466.271125] [<ffffffff804f3b48>] tlb_flush_mmu_free+0x88/0x100 Feb  6 17:13:13 aaa-PC kernel: [  466.271128] [<ffffffff804f8a24>] zap_pte_range+0xa24/0x1480 Feb  6 17:13:13 aaa-PC kernel: [  466.271132] [<ffffffff804f98b0>] unmap_page_range+0x1f0/0x500 Feb  6 17:13:13 aaa-PC kernel: [  466.271135] [<ffffffff804fa054>] unmap_vmas+0x154/0x200 Feb  6 17:13:13 aaa-PC kernel: [  466.271138] [<ffffffff8051190c>] exit_mmap+0x20c/0x380 Feb  6 17:13:13 aaa-PC kernel: [  466.271142] [<ffffffff802bb9c8>] mmput+0x148/0x300 Feb  6 17:13:13 aaa-PC kernel: [  466.271145] [<ffffffff802c80d8>] do_exit+0x6d8/0x1900 Feb  6 17:13:13 aaa-PC kernel: [  466.271148] [<ffffffff802cb288>] do_group_exit+0x88/0x1c0 Feb  6 17:13:13 aaa-PC kernel: [  466.271151] [<ffffffff802cb3d8>] sys_exit_group+0x18/0x40 Feb  6 17 :13:13 aaa-PC kernel: [  466.271155] [<ffffffff8023f954>] syscall_common+0x34/0xa4
@ 2021-04-07  1:27 songqiang
  2021-04-07  8:25 ` your mail Huang Rui
  0 siblings, 1 reply; 348+ messages in thread
From: songqiang @ 2021-04-07  1:27 UTC (permalink / raw)
  To: christian.koenig, ray.huang, airlied, daniel
  Cc: dri-devel, linux-kernel, songqiang

Signed-off-by: songqiang <songqiang@uniontech.com>
---
 drivers/gpu/drm/ttm/ttm_page_alloc.c | 18 ++++++++++++++----
 1 file changed, 14 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/ttm/ttm_page_alloc.c b/drivers/gpu/drm/ttm/ttm_page_alloc.c
index 14660f723f71..f3698f0ad4d7 100644
--- a/drivers/gpu/drm/ttm/ttm_page_alloc.c
+++ b/drivers/gpu/drm/ttm/ttm_page_alloc.c
@@ -736,8 +736,16 @@ static void ttm_put_pages(struct page **pages, unsigned npages, int flags,
 					if (++p != pages[i + j])
 					    break;
 
-				if (j == HPAGE_PMD_NR)
+				if (j == HPAGE_PMD_NR) {
 					order = HPAGE_PMD_ORDER;
+					for (j = 1; j < HPAGE_PMD_NR; ++j)
+						page_ref_dec(pages[i+j]);
+				}
 			}
 #endif
 
@@ -868,10 +876,12 @@ static int ttm_get_pages(struct page **pages, unsigned npages, int flags,
 				p = alloc_pages(huge_flags, HPAGE_PMD_ORDER);
 				if (!p)
 					break;
-
-				for (j = 0; j < HPAGE_PMD_NR; ++j)
+				for (j = 0; j < HPAGE_PMD_NR; ++j) {
 					pages[i++] = p++;
-
+					if (j > 0)
+						page_ref_inc(pages[i-1]);
+				}
 				npages -= HPAGE_PMD_NR;
 			}
 		}




^ permalink raw reply related	[flat|nested] 348+ messages in thread
* (no subject)
@ 2021-04-01 21:16 Bhaumik Bhatt
  2021-04-07  6:56 ` your mail Manivannan Sadhasivam
  0 siblings, 1 reply; 348+ messages in thread
From: Bhaumik Bhatt @ 2021-04-01 21:16 UTC (permalink / raw)
  To: manivannan.sadhasivam
  Cc: linux-arm-msm, hemantk, jhugo, linux-kernel, carl.yin,
	naveen.kumar, loic.poulain, Bhaumik Bhatt

Subject: [PATCH v8 0/9] Updates to MHI channel handling

MHI specification shows a state machine with support for STOP channel command
and the validity of certain state transitions. MHI host currently does not
provide any mechanism to stop a channel and restart it without resetting it.
There are also times when the device moves on to a different execution
environment while client drivers on the host are unaware of it and still
attempt to reset the channels facing unnecessary timeouts.

This series addresses the above areas to provide support for stopping an MHI
channel, resuming it back, improved documentation and improving upon channel
state machine handling in general.

This set of patches was tested on arm64 and x86_64 architecture.

v8:
-Split the state machine improvements patch to three patches as per review

v7:
-Tested on x86_64 architecture
-Drop the patch "Do not clear channel context more than once" as issue is fixed
differently using "bus: mhi: core: Fix double dma free()"
-Update the commit text to better reflect changes on state machine improvements

v6:
-Dropped the patch which introduced start/stop transfer APIs for lack of users
-Updated error handling and debug prints on channel handling improvements patch
-Improved commit text to better explain certain patches based on review comments
-Removed references to new APIs from the documentation improvement patch

v5:
-Added reviewed-by tags from Hemant I missed earlier
-Added patch to prevent kernel warnings on clearing channel context twice

v4:
-Updated commit text/descriptions and addressed checkpatch checks
-Added context validity check before starting/stopping channels from new API
-Added patch to clear channel context configuration after reset/unprepare

v3:
-Updated documentation for channel transfer APIs to highlight differences
-Create separate patch for "allowing channel to be disabled from stopped state"

v2:
-Renamed the newly introduced APIs to mhi_start_transfer() / mhi_stop_transfer()
-Added improved documentation to avoid confusion with the new APIs
-Removed the __ prefix from mhi_unprepare_channel() API for consistency.

Bhaumik Bhatt (9):
  bus: mhi: core: Allow sending the STOP channel command
  bus: mhi: core: Clear context for stopped channels from remove()
  bus: mhi: core: Improvements to the channel handling state machine
  bus: mhi: core: Update debug messages to use client device
  bus: mhi: core: Hold device wake for channel update commands
  bus: mhi: core: Clear configuration from channel context during reset
  bus: mhi: core: Check channel execution environment before issuing
    reset
  bus: mhi: core: Remove __ prefix for MHI channel unprepare function
  bus: mhi: Improve documentation on channel transfer setup APIs

 drivers/bus/mhi/core/init.c     |  22 ++++-
 drivers/bus/mhi/core/internal.h |  12 +++
 drivers/bus/mhi/core/main.c     | 190 ++++++++++++++++++++++++----------------
 include/linux/mhi.h             |  18 +++-
 4 files changed, 162 insertions(+), 80 deletions(-)

-- 
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project


^ permalink raw reply	[flat|nested] 348+ messages in thread
[parent not found: <20210322213644.333112726@goodmis.org>]
[parent not found: <20210322212156.440428241@goodmis.org>]
* [PATCH] lib/find_bit: Add find_prev_*_bit functions.
@ 2020-12-02  1:10 Yun Levi
  2020-12-02  9:47 ` Andy Shevchenko
  0 siblings, 1 reply; 348+ messages in thread
From: Yun Levi @ 2020-12-02  1:10 UTC (permalink / raw)
  To: dushistov, arnd, akpm, gustavo, vilhelm.gray, richard.weiyang,
	andriy.shevchenko, joseph.qi, skalluru, yury.norov, jpoimboe
  Cc: linux-kernel, linux-arch

Inspired find_next_*bit function series, add find_prev_*_bit series.
I'm not sure whether it'll be used right now But, I add these functions
for future usage.

Signed-off-by: Levi Yun <ppbuk5246@gmail.com>
---
 fs/ufs/util.h                     |  24 +++---
 include/asm-generic/bitops/find.h |  69 ++++++++++++++++
 include/asm-generic/bitops/le.h   |  33 ++++++++
 include/linux/bitops.h            |  34 +++++---
 lib/find_bit.c                    | 126 +++++++++++++++++++++++++++++-
 5 files changed, 260 insertions(+), 26 deletions(-)

diff --git a/fs/ufs/util.h b/fs/ufs/util.h
index 4931bec1a01c..7c87c77d10ca 100644
--- a/fs/ufs/util.h
+++ b/fs/ufs/util.h
@@ -2,7 +2,7 @@
 /*
  *  linux/fs/ufs/util.h
  *
- * Copyright (C) 1998
+ * Copyright (C) 1998
  * Daniel Pirkl <daniel.pirkl@email.cz>
  * Charles University, Faculty of Mathematics and Physics
  */
@@ -263,7 +263,7 @@ extern int ufs_prepare_chunk(struct page *page,
loff_t pos, unsigned len);
 /*
  * These functions manipulate ufs buffers
  */
-#define ubh_bread(sb,fragment,size) _ubh_bread_(uspi,sb,fragment,size)
+#define ubh_bread(sb,fragment,size) _ubh_bread_(uspi,sb,fragment,size)
 extern struct ufs_buffer_head * _ubh_bread_(struct
ufs_sb_private_info *, struct super_block *, u64 , u64);
 extern struct ufs_buffer_head * ubh_bread_uspi(struct
ufs_sb_private_info *, struct super_block *, u64, u64);
 extern void ubh_brelse (struct ufs_buffer_head *);
@@ -296,7 +296,7 @@ static inline void *get_usb_offset(struct
ufs_sb_private_info *uspi,
                                   unsigned int offset)
 {
        unsigned int index;
-
+
        index = offset >> uspi->s_fshift;
        offset &= ~uspi->s_fmask;
        return uspi->s_ubh.bh[index]->b_data + offset;
@@ -411,9 +411,9 @@ static inline unsigned _ubh_find_next_zero_bit_(
                offset = 0;
        }
        return (base << uspi->s_bpfshift) + pos - begin;
-}
+}

-static inline unsigned find_last_zero_bit (unsigned char * bitmap,
+static inline unsigned __ubh_find_last_zero_bit(unsigned char * bitmap,
        unsigned size, unsigned offset)
 {
        unsigned bit, i;
@@ -453,7 +453,7 @@ static inline unsigned _ubh_find_last_zero_bit_(
                            size + (uspi->s_bpf - start), uspi->s_bpf)
                        - (uspi->s_bpf - start);
                size -= count;
-               pos = find_last_zero_bit (ubh->bh[base]->b_data,
+               pos = __ubh_find_last_zero_bit(ubh->bh[base]->b_data,
                        start, start - count);
                if (pos > start - count || !size)
                        break;
@@ -461,7 +461,7 @@ static inline unsigned _ubh_find_last_zero_bit_(
                start = uspi->s_bpf;
        }
        return (base << uspi->s_bpfshift) + pos - begin;
-}
+}

 #define ubh_isblockclear(ubh,begin,block)
(!_ubh_isblockset_(uspi,ubh,begin,block))

@@ -483,7 +483,7 @@ static inline int _ubh_isblockset_(struct
ufs_sb_private_info * uspi,
                mask = 0x01 << (block & 0x07);
                return (*ubh_get_addr (ubh, begin + (block >> 3)) &
mask) == mask;
        }
-       return 0;
+       return 0;
 }

 #define ubh_clrblock(ubh,begin,block) _ubh_clrblock_(uspi,ubh,begin,block)
@@ -492,8 +492,8 @@ static inline void _ubh_clrblock_(struct
ufs_sb_private_info * uspi,
 {
        switch (uspi->s_fpb) {
        case 8:
-               *ubh_get_addr (ubh, begin + block) = 0x00;
-               return;
+               *ubh_get_addr (ubh, begin + block) = 0x00;
+               return;
        case 4:
                *ubh_get_addr (ubh, begin + (block >> 1)) &= ~(0x0f <<
((block & 0x01) << 2));
                return;
@@ -531,9 +531,9 @@ static inline void ufs_fragacct (struct
super_block * sb, unsigned blockmap,
 {
        struct ufs_sb_private_info * uspi;
        unsigned fragsize, pos;
-
+
        uspi = UFS_SB(sb)->s_uspi;
-
+
        fragsize = 0;
        for (pos = 0; pos < uspi->s_fpb; pos++) {
                if (blockmap & (1 << pos)) {
diff --git a/include/asm-generic/bitops/find.h
b/include/asm-generic/bitops/find.h
index 9fdf21302fdf..ca18b2ec954c 100644
--- a/include/asm-generic/bitops/find.h
+++ b/include/asm-generic/bitops/find.h
@@ -16,6 +16,20 @@ extern unsigned long find_next_bit(const unsigned
long *addr, unsigned long
                size, unsigned long offset);
 #endif

+#ifndef find_prev_bit
+/**
+ * find_prev_bit - find the prev set bit in a memory region
+ * @addr: The address to base the search on
+ * @offset: The bitnumber to start searching at
+ * @size: The bitmap size in bits
+ *
+ * Returns the bit number for the prev set bit
+ * If no bits are set, returns @size.
+ */
+extern unsigned long find_prev_bit(const unsigned long *addr, unsigned long
+               size, unsigned long offset);
+#endif
+
 #ifndef find_next_and_bit
 /**
  * find_next_and_bit - find the next set bit in both memory regions
@@ -32,6 +46,22 @@ extern unsigned long find_next_and_bit(const
unsigned long *addr1,
                unsigned long offset);
 #endif

+#ifndef find_prev_and_bit
+/**
+ * find_prev_and_bit - find the prev set bit in both memory regions
+ * @addr1: The first address to base the search on
+ * @addr2: The second address to base the search on
+ * @offset: The bitnumber to start searching at
+ * @size: The bitmap size in bits
+ *
+ * Returns the bit number for the prev set bit
+ * If no bits are set, returns @size.
+ */
+extern unsigned long find_prev_and_bit(const unsigned long *addr1,
+               const unsigned long *addr2, unsigned long size,
+               unsigned long offset);
+#endif
+
 #ifndef find_next_zero_bit
 /**
  * find_next_zero_bit - find the next cleared bit in a memory region
@@ -46,6 +76,20 @@ extern unsigned long find_next_zero_bit(const
unsigned long *addr, unsigned
                long size, unsigned long offset);
 #endif

+#ifndef find_prev_zero_bit
+/**
+ * find_prev_zero_bit - find the prev cleared bit in a memory region
+ * @addr: The address to base the search on
+ * @offset: The bitnumber to start searching at
+ * @size: The bitmap size in bits
+ *
+ * Returns the bit number of the prev zero bit
+ * If no bits are zero, returns @size.
+ */
+extern unsigned long find_prev_zero_bit(const unsigned long *addr, unsigned
+               long size, unsigned long offset);
+#endif
+
 #ifdef CONFIG_GENERIC_FIND_FIRST_BIT

 /**
@@ -80,6 +124,31 @@ extern unsigned long find_first_zero_bit(const
unsigned long *addr,

 #endif /* CONFIG_GENERIC_FIND_FIRST_BIT */

+#ifndef find_last_bit
+/**
+ * find_last_bit - find the last set bit in a memory region
+ * @addr: The address to start the search at
+ * @size: The number of bits to search
+ *
+ * Returns the bit number of the last set bit, or size.
+ */
+extern unsigned long find_last_bit(const unsigned long *addr,
+                                  unsigned long size);
+#endif
+
+#ifndef find_last_zero_bit
+/**
+ * find_last_zero_bit - find the last cleared bit in a memory region
+ * @addr: The address to start the search at
+ * @size: The maximum number of bits to search
+ *
+ * Returns the bit number of the first cleared bit.
+ * If no bits are zero, returns @size.
+ */
+extern unsigned long find_last_zero_bit(const unsigned long *addr,
+                                        unsigned long size);
+#endif
+
 /**
  * find_next_clump8 - find next 8-bit clump with set bits in a memory region
  * @clump: location to store copy of found clump
diff --git a/include/asm-generic/bitops/le.h b/include/asm-generic/bitops/le.h
index 188d3eba3ace..d0bd15bc34d9 100644
--- a/include/asm-generic/bitops/le.h
+++ b/include/asm-generic/bitops/le.h
@@ -27,6 +27,24 @@ static inline unsigned long
find_first_zero_bit_le(const void *addr,
        return find_first_zero_bit(addr, size);
 }

+static inline unsigned long find_prev_zero_bit_le(const void *addr,
+               unsigned long size, unsigned long offset)
+{
+       return find_prev_zero_bit(addr, size, offset);
+}
+
+static inline unsigned long find_prev_bit_le(const void *addr,
+               unsigned long size, unsigned long offset)
+{
+       return find_prev_bit(addr, size, offset);
+}
+
+static inline unsigned long find_last_zero_bit_le(const void *addr,
+               unsigned long size)
+{
+       return find_last_zero_bit(addr, size);
+}
+
 #elif defined(__BIG_ENDIAN)

 #define BITOP_LE_SWIZZLE       ((BITS_PER_LONG-1) & ~0x7)
@@ -41,11 +59,26 @@ extern unsigned long find_next_bit_le(const void *addr,
                unsigned long size, unsigned long offset);
 #endif

+#ifndef find_prev_zero_bit_le
+extern unsigned long find_prev_zero_bit_le(const void *addr,
+               unsigned long size, unsigned long offset);
+#endif
+
+#ifndef find_prev_bit_le
+extern unsigned long find_prev_bit_le(const void *addr,
+               unsigned long size, unsigned long offset);
+#endif
+
 #ifndef find_first_zero_bit_le
 #define find_first_zero_bit_le(addr, size) \
        find_next_zero_bit_le((addr), (size), 0)
 #endif

+#ifndef find_last_zero_bit_le
+#define find_last_zero_bit_le(addr, size) \
+       find_prev_zero_bit_le((addr), (size), (size - 1))
+#endif
+
 #else
 #error "Please fix <asm/byteorder.h>"
 #endif
diff --git a/include/linux/bitops.h b/include/linux/bitops.h
index 5b74bdf159d6..124c68929861 100644
--- a/include/linux/bitops.h
+++ b/include/linux/bitops.h
@@ -50,6 +50,28 @@ extern unsigned long __sw_hweight64(__u64 w);
             (bit) < (size);                                    \
             (bit) = find_next_zero_bit((addr), (size), (bit) + 1))

+#define for_each_set_bit_reverse(bit, addr, size) \
+       for ((bit) = find_last_bit((addr), (size));             \
+            (bit) < (size);                                    \
+            (bit) = find_prev_bit((addr), (size), (bit)))
+
+/* same as for_each_set_bit_reverse() but use bit as value to start with */
+#define for_each_set_bit_from_reverse(bit, addr, size) \
+       for ((bit) = find_prev_bit((addr), (size), (bit));      \
+            (bit) < (size);                                    \
+            (bit) = find_prev_bit((addr), (size), (bit - 1)))
+
+#define for_each_clear_bit_reverse(bit, addr, size) \
+       for ((bit) = find_last_zero_bit((addr), (size));        \
+            (bit) < (size);                                    \
+            (bit) = find_prev_zero_bit((addr), (size), (bit)))
+
+/* same as for_each_clear_bit_reverse() but use bit as value to start with */
+#define for_each_clear_bit_from_reverse(bit, addr, size) \
+       for ((bit) = find_prev_zero_bit((addr), (size), (bit)); \
+            (bit) < (size);                                    \
+            (bit) = find_next_zero_bit((addr), (size), (bit - 1)))
+
 /**
  * for_each_set_clump8 - iterate over bitmap for each 8-bit clump with set bits
  * @start: bit offset to start search and to store the current iteration offset
@@ -283,17 +305,5 @@ static __always_inline void __assign_bit(long nr,
volatile unsigned long *addr,
 })
 #endif

-#ifndef find_last_bit
-/**
- * find_last_bit - find the last set bit in a memory region
- * @addr: The address to start the search at
- * @size: The number of bits to search
- *
- * Returns the bit number of the last set bit, or size.
- */
-extern unsigned long find_last_bit(const unsigned long *addr,
-                                  unsigned long size);
-#endif
-
 #endif /* __KERNEL__ */
 #endif
diff --git a/lib/find_bit.c b/lib/find_bit.c
index 4a8751010d59..cbe06abd3d21 100644
--- a/lib/find_bit.c
+++ b/lib/find_bit.c
@@ -69,6 +69,58 @@ static unsigned long _find_next_bit(const unsigned
long *addr1,
 }
 #endif

+#if !defined(find_prev_bit) || !defined(find_prev_zero_bit) ||
         \
+       !defined(find_prev_bit_le) || !defined(find_prev_zero_bit_le)
||        \
+       !defined(find_prev_and_bit)
+/*
+ * This is a common helper function for find_prev_bit, find_prev_zero_bit, and
+ * find_prev_and_bit. The differences are:
+ *  - The "invert" argument, which is XORed with each fetched word before
+ *    searching it for one bits.
+ *  - The optional "addr2", which is anded with "addr1" if present.
+ */
+static unsigned long _find_prev_bit(const unsigned long *addr1,
+               const unsigned long *addr2, unsigned long nbits,
+               unsigned long start, unsigned long invert, unsigned long le)
+{
+       unsigned long tmp, mask;
+
+       if (unlikely(start >= nbits))
+               return nbits;
+
+       tmp = addr1[start / BITS_PER_LONG];
+       if (addr2)
+               tmp &= addr2[start / BITS_PER_LONG];
+       tmp ^= invert;
+
+       /* Handle 1st word. */
+       mask = BITMAP_LAST_WORD_MASK(start + 1);
+       if (le)
+               mask = swab(mask);
+
+       tmp &= mask;
+
+       start = round_down(start, BITS_PER_LONG);
+
+       while (!tmp) {
+               start -= BITS_PER_LONG;
+               if (start >= nbits)
+                       return nbits;
+
+               tmp = addr1[start / BITS_PER_LONG];
+               if (addr2)
+                       tmp &= addr2[start / BITS_PER_LONG];
+               tmp ^= invert;
+       }
+
+       if (le)
+               tmp = swab(tmp);
+
+       return start + __fls(tmp);
+}
+#endif
+
+
 #ifndef find_next_bit
 /*
  * Find the next set bit in a memory region.
@@ -81,6 +133,18 @@ unsigned long find_next_bit(const unsigned long
*addr, unsigned long size,
 EXPORT_SYMBOL(find_next_bit);
 #endif

+#ifndef find_prev_bit
+/*
+ * Find the prev set bit in a memory region.
+ */
+unsigned long find_prev_bit(const unsigned long *addr, unsigned long size,
+                           unsigned long offset)
+{
+       return _find_prev_bit(addr, NULL, size, offset, 0UL, 0);
+}
+EXPORT_SYMBOL(find_prev_bit);
+#endif
+
 #ifndef find_next_zero_bit
 unsigned long find_next_zero_bit(const unsigned long *addr, unsigned long size,
                                 unsigned long offset)
@@ -90,7 +154,16 @@ unsigned long find_next_zero_bit(const unsigned
long *addr, unsigned long size,
 EXPORT_SYMBOL(find_next_zero_bit);
 #endif

-#if !defined(find_next_and_bit)
+#ifndef find_prev_zero_bit
+unsigned long find_prev_zero_bit(const unsigned long *addr, unsigned long size,
+                                unsigned long offset)
+{
+       return _find_prev_bit(addr, NULL, size, offset, ~0UL, 0);
+}
+EXPORT_SYMBOL(find_prev_zero_bit);
+#endif
+
+#ifndef find_next_and_bit
 unsigned long find_next_and_bit(const unsigned long *addr1,
                const unsigned long *addr2, unsigned long size,
                unsigned long offset)
@@ -100,6 +173,16 @@ unsigned long find_next_and_bit(const unsigned long *addr1,
 EXPORT_SYMBOL(find_next_and_bit);
 #endif

+#ifndef find_prev_and_bit
+unsigned long find_prev_and_bit(const unsigned long *addr1,
+               const unsigned long *addr2, unsigned long size,
+               unsigned long offset)
+{
+       return _find_prev_bit(addr1, addr2, size, offset, 0UL, 0);
+}
+EXPORT_SYMBOL(find_prev_and_bit);
+#endif
+
 #ifndef find_first_bit
 /*
  * Find the first set bit in a memory region.
@@ -141,7 +224,7 @@ unsigned long find_last_bit(const unsigned long
*addr, unsigned long size)
 {
        if (size) {
                unsigned long val = BITMAP_LAST_WORD_MASK(size);
-               unsigned long idx = (size-1) / BITS_PER_LONG;
+               unsigned long idx = (size - 1) / BITS_PER_LONG;

                do {
                        val &= addr[idx];
@@ -156,6 +239,27 @@ unsigned long find_last_bit(const unsigned long
*addr, unsigned long size)
 EXPORT_SYMBOL(find_last_bit);
 #endif

+#ifndef find_last_zero_bit
+unsigned long find_last_zero_bit(const unsigned long *addr, unsigned long size)
+{
+       if (size) {
+               unsigned long val = BITMAP_LAST_WORD_MASK(size);
+               unsigned long idx = (size - 1) / BITS_PER_LONG;
+
+               do {
+                       val &= ~addr[idx];
+                       if (val)
+                               return idx * BITS_PER_LONG + __fls(val);
+
+                       val = ~0ul;
+               } while (idx--);
+       }
+
+       return size;
+}
+EXPORT_SYMBOL(find_last_zero_bit);
+#endif
+
 #ifdef __BIG_ENDIAN

 #ifndef find_next_zero_bit_le
@@ -167,6 +271,15 @@ unsigned long find_next_zero_bit_le(const void
*addr, unsigned
 EXPORT_SYMBOL(find_next_zero_bit_le);
 #endif

+#ifndef find_prev_zero_bit_le
+unsigned long find_prev_zero_bit_le(const void *addr, unsigned
+               long size, unsigned long offset)
+{
+       return _find_prev_bit(addr, NULL, size, offset, ~0UL, 1);
+}
+EXPORT_SYMBOL(find_prev_zero_bit_le);
+#endif
+
 #ifndef find_next_bit_le
 unsigned long find_next_bit_le(const void *addr, unsigned
                long size, unsigned long offset)
@@ -176,6 +289,15 @@ unsigned long find_next_bit_le(const void *addr, unsigned
 EXPORT_SYMBOL(find_next_bit_le);
 #endif

+#ifdef find_prev_bit_le
+unsigned long find_prev_bit_le(const void *addr, unsigned
+               long size, unsigned long offset)
+{
+       return _find_prev_bit(addr, NULL, size, offset, 0UL, 1);
+}
+EXPORT_SYMBOL(find_prev_bit_le);
+#endif
+
 #endif /* __BIG_ENDIAN */

 unsigned long find_next_clump8(unsigned long *clump, const unsigned long *addr,
--
2.29.2

^ permalink raw reply related	[flat|nested] 348+ messages in thread
* Re: [PATCH v4] arm64: dts: qcom: Add support for Xiaomi Poco F1 (Beryllium)
@ 2020-08-05 11:02 Amit Pundir
  2020-08-06 22:31 ` Konrad Dybcio
  0 siblings, 1 reply; 348+ messages in thread
From: Amit Pundir @ 2020-08-05 11:02 UTC (permalink / raw)
  To: Andy Gross, Bjorn Andersson, Rob Herring, John Stultz, Sumit Semwal
  Cc: linux-arm-msm, dt, lkml

On Wed, 5 Aug 2020 at 16:21, Amit Pundir <amit.pundir@linaro.org> wrote:
>
> Add initial dts support for Xiaomi Poco F1 (Beryllium).
>
> This initial support is based on upstream Dragonboard 845c
> (sdm845) device. With this dts, Beryllium boots AOSP up to
> ADB shell over USB-C.
>
> Supported functionality includes UFS, USB-C (peripheral),
> microSD card and Vol+/Vol-/power keys. Bluetooth should work
> too but couldn't be verified from adb command line, it is
> verified when enabled from UI with few WIP display patches.
>
> Just like initial db845c support, initializing the SMMU is
> clearing the mapping used for the splash screen framebuffer,
> which causes the device to hang during boot and recovery
> needs a hard power reset. This can be worked around using:
>
>     fastboot oem select-display-panel none
>
> To switch ON the display back run:
>
>     fastboot oem select-display-panel
>
> But this only works on Beryllium devices running bootloader
> version BOOT.XF.2.0-00369-SDM845LZB-1 that shipped with
> Android-9 based release. Newer bootloader version do not
> support switching OFF the display panel at all. So we need
> a few additional smmu patches (under review) from here to
> boot to shell:
> https://github.com/pundiramit/linux/commits/beryllium-mainline
>
> Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
> ---
> v4: Added more downstream reserved memory regions. It probably
>     need more work, but for now I see adsp/cdsp/wlan remoteprocs
>     powering up properly. Also removed the regulator nodes not
>     required for the device, as suggested by Bjorn.

Forgot to mention that I added couple of clocks to protected clocks in v4,
which need for display to work.

> v3: Added a reserved-memory region from downstream kernel to fix
>     a boot regression with recent dma-pool changes in v5.8-rc6.
> v2: Updated machine compatible string for seemingly inevitable
>     future quirks.
>
>  arch/arm64/boot/dts/qcom/Makefile             |   1 +
>  arch/arm64/boot/dts/qcom/sdm845-beryllium.dts | 383 ++++++++++++++++++++++++++
>  2 files changed, 384 insertions(+)
>  create mode 100644 arch/arm64/boot/dts/qcom/sdm845-beryllium.dts
>
> diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
> index 0f2c33d611df..3ef1b48bc0cb 100644
> --- a/arch/arm64/boot/dts/qcom/Makefile
> +++ b/arch/arm64/boot/dts/qcom/Makefile
> @@ -21,6 +21,7 @@ dtb-$(CONFIG_ARCH_QCOM)       += sdm845-cheza-r1.dtb
>  dtb-$(CONFIG_ARCH_QCOM)        += sdm845-cheza-r2.dtb
>  dtb-$(CONFIG_ARCH_QCOM)        += sdm845-cheza-r3.dtb
>  dtb-$(CONFIG_ARCH_QCOM)        += sdm845-db845c.dtb
> +dtb-$(CONFIG_ARCH_QCOM)        += sdm845-beryllium.dtb
>  dtb-$(CONFIG_ARCH_QCOM)        += sdm845-mtp.dtb
>  dtb-$(CONFIG_ARCH_QCOM)        += sdm850-lenovo-yoga-c630.dtb
>  dtb-$(CONFIG_ARCH_QCOM)        += sm8150-mtp.dtb
> diff --git a/arch/arm64/boot/dts/qcom/sdm845-beryllium.dts b/arch/arm64/boot/dts/qcom/sdm845-beryllium.dts
> new file mode 100644
> index 000000000000..0f9f61bf9fa4
> --- /dev/null
> +++ b/arch/arm64/boot/dts/qcom/sdm845-beryllium.dts
> @@ -0,0 +1,383 @@
> +// SPDX-License-Identifier: GPL-2.0
> +
> +/dts-v1/;
> +
> +#include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
> +#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
> +#include "sdm845.dtsi"
> +#include "pm8998.dtsi"
> +#include "pmi8998.dtsi"
> +
> +/ {
> +       model = "Xiaomi Technologies Inc. Beryllium";
> +       compatible = "xiaomi,beryllium", "qcom,sdm845";
> +
> +       /* required for bootloader to select correct board */
> +       qcom,board-id = <69 0>;
> +       qcom,msm-id = <321 0x20001>;
> +
> +       aliases {
> +               hsuart0 = &uart6;
> +       };
> +
> +       gpio-keys {
> +               compatible = "gpio-keys";
> +               autorepeat;
> +
> +               pinctrl-names = "default";
> +               pinctrl-0 = <&vol_up_pin_a>;
> +
> +               vol-up {
> +                       label = "Volume Up";
> +                       linux,code = <KEY_VOLUMEUP>;
> +                       gpios = <&pm8998_gpio 6 GPIO_ACTIVE_LOW>;
> +               };
> +       };
> +
> +       vreg_s4a_1p8: vreg-s4a-1p8 {
> +               compatible = "regulator-fixed";
> +               regulator-name = "vreg_s4a_1p8";
> +
> +               regulator-min-microvolt = <1800000>;
> +               regulator-max-microvolt = <1800000>;
> +               regulator-always-on;
> +       };
> +};
> +
> +&adsp_pas {
> +       status = "okay";
> +       firmware-name = "qcom/sdm845/adsp.mdt";
> +};
> +
> +&apps_rsc {
> +       pm8998-rpmh-regulators {
> +               compatible = "qcom,pm8998-rpmh-regulators";
> +               qcom,pmic-id = "a";
> +
> +               vreg_l1a_0p875: ldo1 {
> +                       regulator-min-microvolt = <880000>;
> +                       regulator-max-microvolt = <880000>;
> +                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> +               };
> +
> +               vreg_l5a_0p8: ldo5 {
> +                       regulator-min-microvolt = <800000>;
> +                       regulator-max-microvolt = <800000>;
> +                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> +               };
> +
> +               vreg_l7a_1p8: ldo7 {
> +                       regulator-min-microvolt = <1800000>;
> +                       regulator-max-microvolt = <1800000>;
> +                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> +               };
> +
> +               vreg_l12a_1p8: ldo12 {
> +                       regulator-min-microvolt = <1800000>;
> +                       regulator-max-microvolt = <1800000>;
> +                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> +               };
> +
> +               vreg_l13a_2p95: ldo13 {
> +                       regulator-min-microvolt = <1800000>;
> +                       regulator-max-microvolt = <2960000>;
> +                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> +               };
> +
> +               vreg_l17a_1p3: ldo17 {
> +                       regulator-min-microvolt = <1304000>;
> +                       regulator-max-microvolt = <1304000>;
> +                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> +               };
> +
> +               vreg_l20a_2p95: ldo20 {
> +                       regulator-min-microvolt = <2960000>;
> +                       regulator-max-microvolt = <2968000>;
> +                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> +               };
> +
> +               vreg_l21a_2p95: ldo21 {
> +                       regulator-min-microvolt = <2960000>;
> +                       regulator-max-microvolt = <2968000>;
> +                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> +               };
> +
> +               vreg_l24a_3p075: ldo24 {
> +                       regulator-min-microvolt = <3088000>;
> +                       regulator-max-microvolt = <3088000>;
> +                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> +               };
> +
> +               vreg_l25a_3p3: ldo25 {
> +                       regulator-min-microvolt = <3300000>;
> +                       regulator-max-microvolt = <3312000>;
> +                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> +               };
> +
> +               vreg_l26a_1p2: ldo26 {
> +                       regulator-min-microvolt = <1200000>;
> +                       regulator-max-microvolt = <1200000>;
> +                       regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> +               };
> +       };
> +};
> +
> +&cdsp_pas {
> +       status = "okay";
> +       firmware-name = "qcom/sdm845/cdsp.mdt";
> +};
> +
> +&gcc {
> +       protected-clocks = <GCC_QSPI_CORE_CLK>,
> +                          <GCC_QSPI_CORE_CLK_SRC>,
> +                          <GCC_QSPI_CNOC_PERIPH_AHB_CLK>,
> +                          <GCC_LPASS_Q6_AXI_CLK>,
> +                          <GCC_LPASS_SWAY_CLK>;
> +};
> +
> +&gpu {
> +       zap-shader {
> +               memory-region = <&gpu_mem>;
> +               firmware-name = "qcom/sdm845/a630_zap.mbn";
> +       };
> +};
> +
> +/* Reserved memory changes from downstream */
> +/delete-node/ &adsp_mem;
> +/delete-node/ &wlan_msa_mem;
> +/delete-node/ &mpss_region;
> +/delete-node/ &venus_mem;
> +/delete-node/ &cdsp_mem;
> +/delete-node/ &mba_region;
> +/delete-node/ &slpi_mem;
> +/delete-node/ &spss_mem;
> +/delete-node/ &rmtfs_mem;
> +/ {
> +       reserved-memory {
> +               // This removed_region is needed to boot the device
> +               // TODO: Find out the user of this reserved memory
> +               removed_region: memory@88f00000 {
> +                       reg = <0 0x88f00000 0 0x1a00000>;
> +                       no-map;
> +               };
> +
> +               adsp_mem: memory@8c500000 {
> +                       reg = <0 0x8c500000 0 0x1e00000>;
> +                       no-map;
> +               };
> +
> +               wlan_msa_mem: memory@8e300000 {
> +                       reg = <0 0x8e300000 0 0x100000>;
> +                       no-map;
> +               };
> +
> +               mpss_region: memory@8e400000 {
> +                       reg = <0 0x8e400000 0 0x7800000>;
> +                       no-map;
> +               };
> +
> +               venus_mem: memory@95c00000 {
> +                       reg = <0 0x95c00000 0 0x500000>;
> +                       no-map;
> +               };
> +
> +               cdsp_mem: memory@96100000 {
> +                       reg = <0 0x96100000 0 0x800000>;
> +                       no-map;
> +               };
> +
> +               mba_region: memory@96900000 {
> +                       reg = <0 0x96900000 0 0x200000>;
> +                       no-map;
> +               };
> +
> +               slpi_mem: memory@96b00000 {
> +                       reg = <0 0x96b00000 0 0x1400000>;
> +                       no-map;
> +               };
> +
> +               spss_mem: memory@97f00000 {
> +                       reg = <0 0x97f00000 0 0x100000>;
> +                       no-map;
> +               };
> +
> +               rmtfs_mem: memory@f6301000 {
> +                       compatible = "qcom,rmtfs-mem";
> +                       reg = <0 0xf6301000 0 0x200000>;
> +                       no-map;
> +
> +                       qcom,client-id = <1>;
> +                       qcom,vmid = <15>;
> +               };
> +       };
> +};
> +
> +&mss_pil {
> +       status = "okay";
> +       firmware-name = "qcom/sdm845/mba.mbn", "qcom/sdm845/modem.mdt";
> +};
> +
> +&pm8998_gpio {
> +       vol_up_pin_a: vol-up-active {
> +               pins = "gpio6";
> +               function = "normal";
> +               input-enable;
> +               bias-pull-up;
> +               qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
> +       };
> +};
> +
> +&pm8998_pon {
> +       resin {
> +               compatible = "qcom,pm8941-resin";
> +               interrupts = <0x0 0x8 1 IRQ_TYPE_EDGE_BOTH>;
> +               debounce = <15625>;
> +               bias-pull-up;
> +               linux,code = <KEY_VOLUMEDOWN>;
> +       };
> +};
> +
> +&qupv3_id_0 {
> +       status = "okay";
> +};
> +
> +&sdhc_2 {
> +       status = "okay";
> +
> +       pinctrl-names = "default";
> +       pinctrl-0 = <&sdc2_default_state &sdc2_card_det_n>;
> +
> +       vmmc-supply = <&vreg_l21a_2p95>;
> +       vqmmc-supply = <&vreg_l13a_2p95>;
> +
> +       bus-width = <4>;
> +       cd-gpios = <&tlmm 126 GPIO_ACTIVE_HIGH>;
> +};
> +
> +&tlmm {
> +       gpio-reserved-ranges = <0 4>, <81 4>;
> +
> +       sdc2_default_state: sdc2-default {
> +               clk {
> +                       pins = "sdc2_clk";
> +                       bias-disable;
> +
> +                       /*
> +                        * It seems that mmc_test reports errors if drive
> +                        * strength is not 16 on clk, cmd, and data pins.
> +                        */
> +                       drive-strength = <16>;
> +               };
> +
> +               cmd {
> +                       pins = "sdc2_cmd";
> +                       bias-pull-up;
> +                       drive-strength = <10>;
> +               };
> +
> +               data {
> +                       pins = "sdc2_data";
> +                       bias-pull-up;
> +                       drive-strength = <10>;
> +               };
> +       };
> +
> +       sdc2_card_det_n: sd-card-det-n {
> +               pins = "gpio126";
> +               function = "gpio";
> +               bias-pull-up;
> +       };
> +};
> +
> +&uart6 {
> +       status = "okay";
> +
> +       bluetooth {
> +               compatible = "qcom,wcn3990-bt";
> +
> +               vddio-supply = <&vreg_s4a_1p8>;
> +               vddxo-supply = <&vreg_l7a_1p8>;
> +               vddrf-supply = <&vreg_l17a_1p3>;
> +               vddch0-supply = <&vreg_l25a_3p3>;
> +               max-speed = <3200000>;
> +       };
> +};
> +
> +&usb_1 {
> +       status = "okay";
> +};
> +
> +&usb_1_dwc3 {
> +       dr_mode = "peripheral";
> +};
> +
> +&usb_1_hsphy {
> +       status = "okay";
> +
> +       vdd-supply = <&vreg_l1a_0p875>;
> +       vdda-pll-supply = <&vreg_l12a_1p8>;
> +       vdda-phy-dpdm-supply = <&vreg_l24a_3p075>;
> +
> +       qcom,imp-res-offset-value = <8>;
> +       qcom,hstx-trim-value = <QUSB2_V2_HSTX_TRIM_21_6_MA>;
> +       qcom,preemphasis-level = <QUSB2_V2_PREEMPHASIS_5_PERCENT>;
> +       qcom,preemphasis-width = <QUSB2_V2_PREEMPHASIS_WIDTH_HALF_BIT>;
> +};
> +
> +&usb_1_qmpphy {
> +       status = "okay";
> +
> +       vdda-phy-supply = <&vreg_l26a_1p2>;
> +       vdda-pll-supply = <&vreg_l1a_0p875>;
> +};
> +
> +&ufs_mem_hc {
> +       status = "okay";
> +
> +       reset-gpios = <&tlmm 150 GPIO_ACTIVE_LOW>;
> +
> +       vcc-supply = <&vreg_l20a_2p95>;
> +       vcc-max-microamp = <800000>;
> +};
> +
> +&ufs_mem_phy {
> +       status = "okay";
> +
> +       vdda-phy-supply = <&vreg_l1a_0p875>;
> +       vdda-pll-supply = <&vreg_l26a_1p2>;
> +};
> +
> +&wifi {
> +       status = "okay";
> +
> +       vdd-0.8-cx-mx-supply = <&vreg_l5a_0p8>;
> +       vdd-1.8-xo-supply = <&vreg_l7a_1p8>;
> +       vdd-1.3-rfa-supply = <&vreg_l17a_1p3>;
> +       vdd-3.3-ch0-supply = <&vreg_l25a_3p3>;
> +};
> +
> +/* PINCTRL - additions to nodes defined in sdm845.dtsi */
> +
> +&qup_uart6_default {
> +       pinmux {
> +               pins = "gpio45", "gpio46", "gpio47", "gpio48";
> +               function = "qup6";
> +       };
> +
> +       cts {
> +               pins = "gpio45";
> +               bias-disable;
> +       };
> +
> +       rts-tx {
> +               pins = "gpio46", "gpio47";
> +               drive-strength = <2>;
> +               bias-disable;
> +       };
> +
> +       rx {
> +               pins = "gpio48";
> +               bias-pull-up;
> +       };
> +};
> --
> 2.7.4
>

^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2020-06-09 11:38 Gaurav Singh
  2020-06-09 11:54 ` your mail Greg KH
  0 siblings, 1 reply; 348+ messages in thread
From: Gaurav Singh @ 2020-06-09 11:38 UTC (permalink / raw)
  To: gaurav1086, Alexei Starovoitov, Daniel Borkmann,
	Martin KaFai Lau, Song Liu, Yonghong Song, Andrii Nakryiko,
	John Fastabend, KP Singh, David S. Miller, Jakub Kicinski,
	Jesper Dangaard Brouer,
	open list:BPF (Safe dynamic programs and tools),
	open list:BPF (Safe dynamic programs and tools),
	open list

Please find the patch below.

Thanks and regards,
Gaurav.

From Gaurav Singh <gaurav1086@gmail.com> # This line is ignored.
From: Gaurav Singh <gaurav1086@gmail.com>
Reply-To: 
Subject: 
In-Reply-To: 



^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2020-05-06  5:52 Jiaxun Yang
  2020-05-07 11:00 ` your mail Thomas Bogendoerfer
  0 siblings, 1 reply; 348+ messages in thread
From: Jiaxun Yang @ 2020-05-06  5:52 UTC (permalink / raw)
  To: linux-mips
  Cc: Jiaxun Yang, clang-built-linux, Maciej W . Rozycki, Fangrui Song,
	Kees Cook, Nathan Chancellor, Thomas Bogendoerfer, Paul Burton,
	Masahiro Yamada, Jouni Hogander, Kevin Darbyshire-Bryant,
	Borislav Petkov, Heiko Carstens, linux-kernel

Subject: [PATCH v6] MIPS: Truncate link address into 32bit for 32bit kernel
In-Reply-To: <20200413062651.3992652-1-jiaxun.yang@flygoat.com>

LLD failed to link vmlinux with 64bit load address for 32bit ELF
while bfd will strip 64bit address into 32bit silently.
To fix LLD build, we should truncate load address provided by platform
into 32bit for 32bit kernel.

Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Link: https://github.com/ClangBuiltLinux/linux/issues/786
Link: https://sourceware.org/bugzilla/show_bug.cgi?id=25784
Reviewed-by: Fangrui Song <maskray@google.com>
Reviewed-by: Kees Cook <keescook@chromium.org>
Tested-by: Nathan Chancellor <natechancellor@gmail.com>
Cc: Maciej W. Rozycki <macro@linux-mips.org>
---
V2: Take MaskRay's shell magic.

V3: After spent an hour on dealing with special character issue in
Makefile, I gave up to do shell hacks and write a util in C instead.
Thanks Maciej for pointing out Makefile variable problem.

v4: Finally we managed to find a Makefile method to do it properly
thanks to Kees. As it's too far from the initial version, I removed
Review & Test tag from Nick and Fangrui and Cc instead.

v5: Care vmlinuz as well.

v6: Rename to LIKER_LOAD_ADDRESS 
---
 arch/mips/Makefile                 | 13 ++++++++++++-
 arch/mips/boot/compressed/Makefile |  2 +-
 arch/mips/kernel/vmlinux.lds.S     |  2 +-
 3 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/arch/mips/Makefile b/arch/mips/Makefile
index e1c44aed8156..68c0f22fefc0 100644
--- a/arch/mips/Makefile
+++ b/arch/mips/Makefile
@@ -288,12 +288,23 @@ ifdef CONFIG_64BIT
   endif
 endif
 
+# When linking a 32-bit executable the LLVM linker cannot cope with a
+# 32-bit load address that has been sign-extended to 64 bits.  Simply
+# remove the upper 32 bits then, as it is safe to do so with other
+# linkers.
+ifdef CONFIG_64BIT
+	load-ld			= $(load-y)
+else
+	load-ld			= $(subst 0xffffffff,0x,$(load-y))
+endif
+
 KBUILD_AFLAGS	+= $(cflags-y)
 KBUILD_CFLAGS	+= $(cflags-y)
-KBUILD_CPPFLAGS += -DVMLINUX_LOAD_ADDRESS=$(load-y)
+KBUILD_CPPFLAGS += -DVMLINUX_LOAD_ADDRESS=$(load-y) -DLINKER_LOAD_ADDRESS=$(load-ld)
 KBUILD_CPPFLAGS += -DDATAOFFSET=$(if $(dataoffset-y),$(dataoffset-y),0)
 
 bootvars-y	= VMLINUX_LOAD_ADDRESS=$(load-y) \
+		  LINKER_LOAD_ADDRESS=$(load-ld) \
 		  VMLINUX_ENTRY_ADDRESS=$(entry-y) \
 		  PLATFORM="$(platform-y)" \
 		  ITS_INPUTS="$(its-y)"
diff --git a/arch/mips/boot/compressed/Makefile b/arch/mips/boot/compressed/Makefile
index 0df0ee8a298d..3d391256ab7e 100644
--- a/arch/mips/boot/compressed/Makefile
+++ b/arch/mips/boot/compressed/Makefile
@@ -90,7 +90,7 @@ ifneq ($(zload-y),)
 VMLINUZ_LOAD_ADDRESS := $(zload-y)
 else
 VMLINUZ_LOAD_ADDRESS = $(shell $(obj)/calc_vmlinuz_load_addr \
-		$(obj)/vmlinux.bin $(VMLINUX_LOAD_ADDRESS))
+		$(obj)/vmlinux.bin $(LINKER_LOAD_ADDRESS))
 endif
 UIMAGE_LOADADDR = $(VMLINUZ_LOAD_ADDRESS)
 
diff --git a/arch/mips/kernel/vmlinux.lds.S b/arch/mips/kernel/vmlinux.lds.S
index a5f00ec73ea6..5226cd8e4bee 100644
--- a/arch/mips/kernel/vmlinux.lds.S
+++ b/arch/mips/kernel/vmlinux.lds.S
@@ -55,7 +55,7 @@ SECTIONS
 	/* . = 0xa800000000300000; */
 	. = 0xffffffff80300000;
 #endif
-	. = VMLINUX_LOAD_ADDRESS;
+	. = LINKER_LOAD_ADDRESS;
 	/* read-only */
 	_text = .;	/* Text and read-only data */
 	.text : {

^ permalink raw reply related	[flat|nested] 348+ messages in thread
[parent not found: <20191026192359.27687-1-frank-w@public-files.de>]
[parent not found: <20190626145238.19708-1-bigeasy@linutronix.de>]
[parent not found: <20190411060536.22409-1-npiggin@gmail.com>]
[parent not found: <20190323171738.GA26736@titus.pi.local>]
[parent not found: <20190319144116.400-1-mlevitsk@redhat.com>]
[parent not found: <20190319022012.11051-1-thirtythreeforty@gmail.com>]
[parent not found: <20190225201635.4648-1-hannes@cmpxchg.org>]
[parent not found: <20180827145032.9522-1-hch@lst.de>]
[parent not found: <20180724222212.8742-1-tsotsos@gmail.com>]
[parent not found: <2018071901551081442221@163.com>]
[parent not found: <201807160555.w6G5t9Dc075492@mse.aten.com.tw>]
* Re: [PATCH v2] staging: rts5208: add check on NULL before dereference
@ 2018-06-13 17:00 Andy Shevchenko
       [not found] ` <20180613173128.32384-1-vasilyev@ispras.ru>
  0 siblings, 1 reply; 348+ messages in thread
From: Andy Shevchenko @ 2018-06-13 17:00 UTC (permalink / raw)
  To: Anton Vasilyev
  Cc: Dan Carpenter, Sinan Kaya, Johannes Thumshirn, Gaurav Pathak,
	Hannes Reinecke, devel, Linux Kernel Mailing List, ldv-project

On Wed, Jun 13, 2018 at 7:55 PM, Anton Vasilyev <vasilyev@ispras.ru> wrote:
> If rtsx_probe() fails to allocate dev->chip, then NULL pointer
> dereference occurs at release_everything()->rtsx_release_resources().
>
> Found by Linux Driver Verification project (linuxtesting.org).
>

You forgot to adjust subject and commit message to the new reality
which is brought by this change.

> Signed-off-by: Anton Vasilyev <vasilyev@ispras.ru>
> ---
> v2: Add error handling into rtsx_probe based on Dan Carpenter's comment.
> I do not have corresponding hardware, so patch was tested by compilation only.
>
> I faced with inaccuracy at rtsx_remove() and original rtsx_probe():
> there is quiesce_and_remove_host() call with scsi_remove_host() inside,
> whereas release_everything() calls scsi_host_put() after this
> scsi_remove_host() call. This is strange for me.
>
> Also I do not know is it require to check result value of
> rtsx_init_chip() call on rtsx_probe().
> ---
>  drivers/staging/rts5208/rtsx.c | 38 +++++++++++++++++++++++-----------
>  1 file changed, 26 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/staging/rts5208/rtsx.c b/drivers/staging/rts5208/rtsx.c
> index 70e0b8623110..69e6abe14abf 100644
> --- a/drivers/staging/rts5208/rtsx.c
> +++ b/drivers/staging/rts5208/rtsx.c
> @@ -857,7 +857,7 @@ static int rtsx_probe(struct pci_dev *pci,
>         dev->chip = kzalloc(sizeof(*dev->chip), GFP_KERNEL);
>         if (!dev->chip) {
>                 err = -ENOMEM;
> -               goto errout;
> +               goto chip_alloc_fail;
>         }
>
>         spin_lock_init(&dev->reg_lock);
> @@ -879,7 +879,7 @@ static int rtsx_probe(struct pci_dev *pci,
>         if (!dev->remap_addr) {
>                 dev_err(&pci->dev, "ioremap error\n");
>                 err = -ENXIO;
> -               goto errout;
> +               goto ioremap_fail;
>         }
>
>         /*
> @@ -894,7 +894,7 @@ static int rtsx_probe(struct pci_dev *pci,
>         if (!dev->rtsx_resv_buf) {
>                 dev_err(&pci->dev, "alloc dma buffer fail\n");
>                 err = -ENXIO;
> -               goto errout;
> +               goto dma_alloc_fail;
>         }
>         dev->chip->host_cmds_ptr = dev->rtsx_resv_buf;
>         dev->chip->host_cmds_addr = dev->rtsx_resv_buf_addr;
> @@ -915,7 +915,7 @@ static int rtsx_probe(struct pci_dev *pci,
>
>         if (rtsx_acquire_irq(dev) < 0) {
>                 err = -EBUSY;
> -               goto errout;
> +               goto irq_acquire_fail;
>         }
>
>         pci_set_master(pci);
> @@ -935,14 +935,14 @@ static int rtsx_probe(struct pci_dev *pci,
>         if (IS_ERR(th)) {
>                 dev_err(&pci->dev, "Unable to start control thread\n");
>                 err = PTR_ERR(th);
> -               goto errout;
> +               goto control_thread_fail;
>         }
>         dev->ctl_thread = th;
>
>         err = scsi_add_host(host, &pci->dev);
>         if (err) {
>                 dev_err(&pci->dev, "Unable to add the scsi host\n");
> -               goto errout;
> +               goto scsi_add_host_fail;
>         }
>
>         /* Start up the thread for delayed SCSI-device scanning */
> @@ -950,18 +950,16 @@ static int rtsx_probe(struct pci_dev *pci,
>         if (IS_ERR(th)) {
>                 dev_err(&pci->dev, "Unable to start the device-scanning thread\n");
>                 complete(&dev->scanning_done);
> -               quiesce_and_remove_host(dev);
>                 err = PTR_ERR(th);
> -               goto errout;
> +               goto scan_thread_fail;
>         }
>
>         /* Start up the thread for polling thread */
>         th = kthread_run(rtsx_polling_thread, dev, "rtsx-polling");
>         if (IS_ERR(th)) {
>                 dev_err(&pci->dev, "Unable to start the device-polling thread\n");
> -               quiesce_and_remove_host(dev);
>                 err = PTR_ERR(th);
> -               goto errout;
> +               goto scan_thread_fail;
>         }
>         dev->polling_thread = th;
>
> @@ -970,9 +968,25 @@ static int rtsx_probe(struct pci_dev *pci,
>         return 0;
>
>         /* We come here if there are any problems */
> -errout:
> +scan_thread_fail:
> +       quiesce_and_remove_host(dev);
> +scsi_add_host_fail:
> +       complete(&dev->cmnd_ready);
> +       wait_for_completion(&dev->control_exit);
> +control_thread_fail:
> +       free_irq(dev->irq, (void *)dev);
> +       rtsx_release_chip(dev->chip);
> +irq_acquire_fail:
> +       dev->chip->host_cmds_ptr = NULL;
> +       dev->chip->host_sg_tbl_ptr = NULL;
> +       if (dev->chip->msi_en)
> +               pci_disable_msi(dev->pci);
> +dma_alloc_fail:
> +       iounmap(dev->remap_addr);
> +ioremap_fail:
> +       kfree(dev->chip);
> +chip_alloc_fail:
>         dev_err(&pci->dev, "%s failed\n", __func__);
> -       release_everything(dev);
>
>         return err;
>  }
> --
> 2.17.1
>



-- 
With Best Regards,
Andy Shevchenko

^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2017-12-07  9:26 Alexander Kappner
  2017-12-07 10:38 ` your mail Greg Kroah-Hartman
  0 siblings, 1 reply; 348+ messages in thread
From: Alexander Kappner @ 2017-12-07  9:26 UTC (permalink / raw)
  To: mathias.nyman, Greg Kroah-Hartman, linux-usb, linux-kernel
  Cc: Alexander Kappner

Date: Wed, 6 Dec 2017 15:28:37 -0800
Subject: [PATCH] usb-core: Fix potential null pointer dereference in xhci-debugfs.c

My kernel crashed just after resuming from hibernate and starting usbmuxd
(a user-space daemon for iOS device pairing) with several USB devices
connected (dmesg attached).

Backtrace leads to:

0xffffffff8170465d is in xhci_debugfs_create_endpoint
(drivers/usb/host/xhci-debugfs.c:381).
376                                       int ep_index)
377     {
378             struct xhci_ep_priv     *epriv;
379             struct xhci_slot_priv   *spriv = dev->debugfs_private;
380
381             if (spriv->eps[ep_index])
382                     return;
383
384             epriv = kzalloc(sizeof(*epriv), GFP_KERNEL);
385             if (!epriv)

The read violation happens at address 0x40 and sizeof(struct
xhci_ep_priv)=0x40, so it seems ep_index is 1 and spriv is NULL here.

spriv gets allocated in xhci_debugfs_create_slot:

...
priv = kzalloc(sizeof(*priv), GFP_KERNEL);
if (!priv)
    return;
...

There's no separate error path if this allocation fails, so we might be
left with NULL in priv. Subsequent users of priv thus need to check for
this NULL - so this is what the patch does.

There might be other ways of triggering this null pointer dereference,
including when xhci_resume frees the device structures (e.g. after
returning from a hibernate), but I wasn't able to find or reproduce it. 

[63953.758083] BUG: unable to handle kernel NULL pointer dereference at
0000000000000040
[63953.758090] IP: xhci_debugfs_create_endpoint+0x1d/0xa0
[63953.758091] PGD bb911d067 P4D bb911d067 PUD 10500ff067 PMD 0
[63953.758093] Oops: 0000 [#1] PREEMPT SMP
[63953.758094] Modules linked in: ipheth tun nvidia_modeset(PO) iwlmvm
mac80211 iwlwifi nvidia(PO) btusb btrtl btbcm btintel bluetooth cfg80211
qmi_wwan ecdh_generic thinkpad_acpi rfkill
[63953.758103] CPU: 4 PID: 27091 Comm: usbmuxd Tainted: P           O
4.14.0.1-12769-g1deab8c #1
[63953.758104] Hardware name: LENOVO 20ENCTO1WW/20ENCTO1WW, BIOS N1EET62W
(1.35 ) 11/10/2016
[63953.758105] task: ffff8810527ba0c0 task.stack: ffffc9000a8ec000
[63953.758107] RIP: 0010:xhci_debugfs_create_endpoint+0x1d/0xa0
[63953.758108] RSP: 0018:ffffc9000a8efc80 EFLAGS: 00010206
[63953.758109] RAX: 0000000000000000 RBX: ffff88105a71c000 RCX:
0000000000030000
[63953.758110] RDX: 0000000000000003 RSI: ffff880c0b57e000 RDI:
ffff88105a71c238
[63953.758110] RBP: 0000000000000003 R08: ffff881063800600 R09:
0000000000000003
[63953.758111] R10: ffff88105a71c238 R11: 0000000000000001 R12:
0000000000000011
[63953.758112] R13: 0000000000000018 R14: 0000000000000000 R15:
0000000000000000
[63953.758113] FS:  00007f0a77715700(0000) GS:ffff8810a3d00000(0000)
knlGS:0000000000000000
[63953.758114] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[63953.758115] CR2: 0000000000000040 CR3: 00000003f91a8006 CR4:
00000000003606e0
[63953.758115] DR0: 0000000000000000 DR1: 0000000000000000 DR2:
0000000000000000
[63953.758116] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7:
0000000000000400
[63953.758117] Call Trace:
[63953.758120]  xhci_add_endpoint+0x127/0x2b0
[63953.758123]  usb_hcd_alloc_bandwidth+0x1ad/0x300
[63953.758125]  usb_set_configuration+0x1c8/0x880
[63953.758128]  usbdev_do_ioctl+0xc41/0x1120
[63953.758130]  usbdev_ioctl+0xa/0x10
[63953.758151]  do_vfs_ioctl+0x8b/0x5c0
[63953.758153]  ? __fget+0x6c/0xb0
[63953.758155]  SyS_ioctl+0x76/0x90
[63953.758157]  do_syscall_64+0x6b/0x290
[63953.758173]  entry_SYSCALL64_slow_path+0x25/0x25
[63953.758175] RIP: 0033:0x7f0a76a151c7
[63953.758175] RSP: 002b:00007ffd1431b0c8 EFLAGS: 00000202 ORIG_RAX:
0000000000000010
[63953.758177] RAX: ffffffffffffffda RBX: 00000000023239a0 RCX:
00007f0a76a151c7
[63953.758178] RDX: 00007ffd1431b0dc RSI: 0000000080045505 RDI:
000000000000000e
[63953.758178] RBP: 00000000023240c0 R08: 00007ffd1431b008 R09:
0000000000000004
[63953.758179] R10: 00007ffd1431aec0 R11: 0000000000000202 R12:
00000000023240c0
[63953.758180] R13: 0000000000000001 R14: 0000000000000056 R15:
0000000000000038
[63953.758182] Code: e9 39 ff ff ff 66 0f 1f 84 00 00 00 00 00 0f 1f 44 00
00 41 57 41 56 41 55 41 54 55 48 63 ea 53 4c 8b b6 88 15 00 00 4d 8d 2c ee
<49> 83 7d 28 00 74 0b 5b 5d 41 5c 41 5d 41 5e 41 5f c3 48 8b 3d
[63953.758202] RIP: xhci_debugfs_create_endpoint+0x1d/0xa0 RSP:
ffffc9000a8efc80
[63953.758203] CR2: 0000000000000040
[63953.758204] ---[ end trace 1f7ea9a959f02054 ]---

Signed-off-by: Alexander Kappner <agk@godking.net>
---
 drivers/usb/host/xhci-debugfs.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/usb/host/xhci-debugfs.c b/drivers/usb/host/xhci-debugfs.c
index 4f7895d..1cea59c 100644
--- a/drivers/usb/host/xhci-debugfs.c
+++ b/drivers/usb/host/xhci-debugfs.c
@@ -378,6 +378,9 @@ void xhci_debugfs_create_endpoint(struct xhci_hcd *xhci,
 	struct xhci_ep_priv	*epriv;
 	struct xhci_slot_priv	*spriv = dev->debugfs_private;
 
+	if (!spriv)
+		return;
+
 	if (spriv->eps[ep_index])
 		return;
 
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 348+ messages in thread
* (no subject)
@ 2017-08-18 17:42 Rajneesh Bhardwaj
  2017-08-18 17:53 ` your mail Rajneesh Bhardwaj
  0 siblings, 1 reply; 348+ messages in thread
From: Rajneesh Bhardwaj @ 2017-08-18 17:42 UTC (permalink / raw)
  To: Andy Shevchenko
  Cc: Peter Zijlstra (Intel),
	Platform Driver, dvhart, Andy Shevchenko, linux-kernel,
	Vishwanath Somayaji, dbasehore, rjw, rajatja

Bcc: 
Subject: Re: [PATCH] platform/x86: intel_pmc_core: Add Package C-states
 residency info
Reply-To: 
In-Reply-To: <CAHp75Vd5Wnio-RCEBENtonYWOJF2+88FDvqkUv1HzV3CdcaaPA@mail.gmail.com>

On Fri, Aug 18, 2017 at 08:17:32PM +0300, Andy Shevchenko wrote:
> +PeterZ (since I mentioned his name)
> 
> On Fri, Aug 18, 2017 at 5:58 PM, Rajneesh Bhardwaj
> <rajneesh.bhardwaj@intel.com> wrote:
> > On Fri, Aug 18, 2017 at 03:57:34PM +0300, Andy Shevchenko wrote:
> >> On Fri, Aug 18, 2017 at 3:37 PM, Rajneesh Bhardwaj
> >> <rajneesh.bhardwaj@intel.com> wrote:
> >> > This patch introduces a new debugfs entry to read current Package C-state
> >> > residency values and, one new kernel API to read the Package C-10 residency
> >> > counter.
> >> >
> >> > Package C-state residency MSRs provide useful debug information about system
> >> > idle states. In idle states system must enter deeper Package C-states.
> 
> >> Why this patch is needed?
> >
> > Andy, I'll try to give some background for this.
> >
> > This is needed to enhance the S0ix failure debug capabilities from within
> > the kernel. On ChromeOS we have S0ix failsafe kernel framework that is used
> > to validate S0ix and report the blockers in case of a failure.
> > https://patchwork.kernel.org/patch/9148999/
> 
> (It's not part of upstream)

Sorry i sent an older link. There are fresh attempts to get this into
mainline kernel and looks like there is a traction for it.
https://patchwork.kernel.org/patch/9831229/

Package C-state (PC10) validation is discussed there.

> 
> > So far only intel_pmc_slp_s0_counter_read is called by this framework to
> > check whether the previous attempt to enter S0ix was success or not.
> 
> I harder see even a single user of that API in current kernel. It
> should be unexported and removed I think.
> 
> >  Having
> > another PC10 counter related exported function enhances the S0ix debug since
> > PC10 state is a prerequisite to enter S0ix.
> >
> >> See, we have turbostat and cpupower user space tools which do this
> >> without any additional code to be written in kernel. What prevents
> >> your user space application do the same?
> >>
> >> Moreover, we have events for cstate, I assume perf or something alike
> >> can monitor those counters as well.
> >
> > You're right, perhaps the debugfs is redundant when we have those user space
> > tools but such tools are not available readily for all platforms/distros.
> > Interfaces like /dev/cpu/*/msr that turbostat uses are not available on all
> > the platforms.
> > PMC driver is a debug driver so i thought its better to show Package C-state
> > related info for low power debug here.
> >
> >>
> >> Sorry, NAK.
> >
> > This patch has two parts i.e. exported PC10 API and the debugfs. Based on
> > the above explanation, if the patch is not good as is, please let me know if
> > i should drop the debugfs part and respin a v2 with just the exported API or
> > drop this totally.
> >
> > Thanks for the feedback and thanks for taking time to review!
> 
> Reading above makes me think that entire design of this is misguided.
> Since the most of values are counters they better to be accessed in a
> way how perf does.
> 
> In case you need *in-kernel* facility, do some APIs (if it's not done
> yet) for events drivers first.
> cstate event driver is already in upstream.
> 
> Sorry, NAK for entire patch until it would be blessed by people like Peter Z.
> 
> -- 
> With Best Regards,
> Andy Shevchenko

-- 
Best Regards,
Rajneesh

^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2017-06-04 11:59 Yury Norov
  2017-06-14 20:16 ` your mail Yury Norov
  0 siblings, 1 reply; 348+ messages in thread
From: Yury Norov @ 2017-06-04 11:59 UTC (permalink / raw)
  To: Catalin Marinas, linux-arm-kernel, linux-kernel, linux-doc,
	Arnd Bergmann
  Cc: Yury Norov, Andrew Pinski, Andrew Pinski, Adam Borowski,
	Chris Metcalf, Steve Ellcey, Maxim Kuvyrkov,
	Ramana Radhakrishnan, Florian Weimer, Bamvor Zhangjian,
	Andreas Schwab, Chris Metcalf, Heiko Carstens, schwidefsky,
	broonie, Joseph Myers, christoph.muellner, szabolcs.nagy,
	klimov.linux, Nathan_Lynch, agraf, Prasun.Kapoor, geert,
	philipp.tomsich, manuel.montezelo, linyongting, davem,
	zhouchengming1

Subject: [PATCH v7 resend 2 00/20] ILP32 for ARM64

Hi Catalin,
 
Here is a rebase of latest kernel patchset against next-20170602. There's almost
no changes, but there are some conflicts that are not trivial, and I'd like to
refresh the submission therefore.

How are your experiments with testing and benchmarking of ILP32 are going? In
my current tests I see 0 failures on LTP. Benchmarking on SPEC CPU2006 and
LMBench shows no difference for LP64 and expected performance boost for ILP32
(compared to LP64 results).

Steve Ellcey is handling upstream submission of Glibc patches. The patches are
ready and have been reviewed and reworked per community’s comments. There are
no outstanding userspace ABI issues from Glibc. Glibc submission is now waiting
on ILP32 kernel submission.

Catalin, regarding rootfs, is OpenSuSe’s build sufficient for your experiments?
I’ve also seen Wookey merging patches for ILP32 triplet to binutils and pushing
them to Debian.

One last thing I wanted to check with you about is ILP32 PCS - does, in your
view, ARM Ltd. needs to publish any additional docs for ABI to become official?

Below is the regular description.

Thanks.
Yury

--------

This series enables aarch64 with ilp32 mode.

As supporting work, it introduces ARCH_32BIT_OFF_T configuration
option that is enabled for existing 32-bit architectures but disabled
for new arches (so 64-bit off_t is is used by new userspace). Also it
deprecates getrlimit and setrlimit syscalls prior to prlimit64.

This version is based on linux-next from 2017-03-01. It works with
glibc-2.25, and tested with LTP, glibc testsuite, trinity, lmbench,
CPUSpec.

Patches 1, 2, 3 and 8 are general, and may be applied separately.

This is the rebase of v7 - still no major changes has been made.

Kernel and GLIBC trees:
https://github.com/norov/linux/tree/ilp32-20170602
https://github.com/norov/glibc/tree/dev9

(GLIBC patches are managed by Steve Ellcey, so my tree is only for
reference.)

Changes:
v3: https://lkml.org/lkml/2014/9/3/704
v4: https://lkml.org/lkml/2015/4/13/691
v5: https://lkml.org/lkml/2015/9/29/911
v6: https://lkml.org/lkml/2016/5/23/661
v7: RFC nowrap:  https://lkml.org/lkml/2016/6/17/990
v7: RFC2 nowrap: https://lkml.org/lkml/2016/8/17/245
v7: RFC3 nowrap: https://lkml.org/lkml/2016/10/21/883
v7: https://lkml.org/lkml/2017/1/9/213
v7: Resend: http://lists.infradead.org/pipermail/linux-arm-kernel/2017-March/490801.html
v7: Resend 2:
    - vdso-ilp32 Makefile synced with lp64 Makefile (patch 19);
    - rebased on next-20170602.

Andrew Pinski (6):
  arm64: rename COMPAT to AARCH32_EL0 in Kconfig
  arm64: ensure the kernel is compiled for LP64
  arm64:uapi: set __BITS_PER_LONG correctly for ILP32 and LP64
  arm64: ilp32: add sys_ilp32.c and a separate table (in entry.S) to use
    it
  arm64: ilp32: introduce ilp32-specific handlers for sigframe and
    ucontext
  arm64:ilp32: add ARM64_ILP32 to Kconfig

Philipp Tomsich (1):
  arm64:ilp32: add vdso-ilp32 and use for signal return

Yury Norov (13):
  compat ABI: use non-compat openat and open_by_handle_at variants
  32-bit ABI: introduce ARCH_32BIT_OFF_T config option
  asm-generic: Drop getrlimit and setrlimit syscalls from default list
  arm64: ilp32: add documentation on the ILP32 ABI for ARM64
  thread: move thread bits accessors to separated file
  arm64: introduce is_a32_task and is_a32_thread (for AArch32 compat)
  arm64: ilp32: add is_ilp32_compat_{task,thread} and TIF_32BIT_AARCH64
  arm64: introduce binfmt_elf32.c
  arm64: ilp32: introduce binfmt_ilp32.c
  arm64: ilp32: share aarch32 syscall handlers
  arm64: signal: share lp64 signal routines to ilp32
  arm64: signal32: move ilp32 and aarch32 common code to separated file
  arm64: ptrace: handle ptrace_request differently for aarch32 and ilp32

 Documentation/arm64/ilp32.txt                 |  45 +++++++
 arch/Kconfig                                  |   4 +
 arch/arc/Kconfig                              |   1 +
 arch/arc/include/uapi/asm/unistd.h            |   1 +
 arch/arm/Kconfig                              |   1 +
 arch/arm64/Kconfig                            |  19 ++-
 arch/arm64/Makefile                           |   8 ++
 arch/arm64/include/asm/compat.h               |  19 +--
 arch/arm64/include/asm/elf.h                  |  37 ++----
 arch/arm64/include/asm/fpsimd.h               |   2 +-
 arch/arm64/include/asm/ftrace.h               |   2 +-
 arch/arm64/include/asm/hwcap.h                |   6 +-
 arch/arm64/include/asm/is_compat.h            |  90 ++++++++++++++
 arch/arm64/include/asm/memory.h               |   5 +-
 arch/arm64/include/asm/processor.h            |  11 +-
 arch/arm64/include/asm/ptrace.h               |   2 +-
 arch/arm64/include/asm/seccomp.h              |   2 +-
 arch/arm64/include/asm/signal32.h             |   9 +-
 arch/arm64/include/asm/signal32_common.h      |  27 ++++
 arch/arm64/include/asm/signal_common.h        |  33 +++++
 arch/arm64/include/asm/signal_ilp32.h         |  38 ++++++
 arch/arm64/include/asm/syscall.h              |   2 +-
 arch/arm64/include/asm/thread_info.h          |   4 +-
 arch/arm64/include/asm/unistd.h               |   6 +-
 arch/arm64/include/asm/vdso.h                 |   6 +
 arch/arm64/include/uapi/asm/bitsperlong.h     |   9 +-
 arch/arm64/include/uapi/asm/unistd.h          |  13 ++
 arch/arm64/kernel/Makefile                    |   8 +-
 arch/arm64/kernel/asm-offsets.c               |   9 +-
 arch/arm64/kernel/binfmt_elf32.c              |  38 ++++++
 arch/arm64/kernel/binfmt_ilp32.c              |  85 +++++++++++++
 arch/arm64/kernel/cpufeature.c                |   8 +-
 arch/arm64/kernel/cpuinfo.c                   |  20 +--
 arch/arm64/kernel/entry.S                     |  34 +++++-
 arch/arm64/kernel/entry32.S                   |  80 ------------
 arch/arm64/kernel/entry32_common.S            | 107 ++++++++++++++++
 arch/arm64/kernel/entry_ilp32.S               |  22 ++++
 arch/arm64/kernel/head.S                      |   2 +-
 arch/arm64/kernel/hw_breakpoint.c             |   8 +-
 arch/arm64/kernel/perf_regs.c                 |   2 +-
 arch/arm64/kernel/process.c                   |   7 +-
 arch/arm64/kernel/ptrace.c                    |  80 ++++++++++--
 arch/arm64/kernel/signal.c                    | 102 ++++++++++------
 arch/arm64/kernel/signal32.c                  | 107 ----------------
 arch/arm64/kernel/signal32_common.c           | 135 ++++++++++++++++++++
 arch/arm64/kernel/signal_ilp32.c              | 170 ++++++++++++++++++++++++++
 arch/arm64/kernel/sys_ilp32.c                 | 100 +++++++++++++++
 arch/arm64/kernel/traps.c                     |   5 +-
 arch/arm64/kernel/vdso-ilp32/.gitignore       |   2 +
 arch/arm64/kernel/vdso-ilp32/Makefile         |  80 ++++++++++++
 arch/arm64/kernel/vdso-ilp32/vdso-ilp32.S     |  33 +++++
 arch/arm64/kernel/vdso-ilp32/vdso-ilp32.lds.S |  95 ++++++++++++++
 arch/arm64/kernel/vdso.c                      |  69 +++++++++--
 arch/arm64/kernel/vdso/gettimeofday.S         |  20 ++-
 arch/arm64/kernel/vdso/vdso.S                 |   6 +-
 arch/blackfin/Kconfig                         |   1 +
 arch/c6x/include/uapi/asm/unistd.h            |   1 +
 arch/cris/Kconfig                             |   1 +
 arch/frv/Kconfig                              |   1 +
 arch/h8300/Kconfig                            |   1 +
 arch/h8300/include/uapi/asm/unistd.h          |   1 +
 arch/hexagon/Kconfig                          |   1 +
 arch/hexagon/include/uapi/asm/unistd.h        |   1 +
 arch/m32r/Kconfig                             |   1 +
 arch/m68k/Kconfig                             |   1 +
 arch/metag/Kconfig                            |   1 +
 arch/metag/include/uapi/asm/unistd.h          |   1 +
 arch/microblaze/Kconfig                       |   1 +
 arch/mips/Kconfig                             |   1 +
 arch/mn10300/Kconfig                          |   1 +
 arch/nios2/Kconfig                            |   1 +
 arch/nios2/include/uapi/asm/unistd.h          |   1 +
 arch/openrisc/Kconfig                         |   1 +
 arch/openrisc/include/uapi/asm/unistd.h       |   1 +
 arch/parisc/Kconfig                           |   1 +
 arch/powerpc/Kconfig                          |   1 +
 arch/score/Kconfig                            |   1 +
 arch/score/include/uapi/asm/unistd.h          |   1 +
 arch/sh/Kconfig                               |   1 +
 arch/sparc/Kconfig                            |   1 +
 arch/tile/Kconfig                             |   1 +
 arch/tile/include/uapi/asm/unistd.h           |   1 +
 arch/tile/kernel/compat.c                     |   3 +
 arch/unicore32/Kconfig                        |   1 +
 arch/unicore32/include/uapi/asm/unistd.h      |   1 +
 arch/x86/Kconfig                              |   1 +
 arch/x86/um/Kconfig                           |   1 +
 arch/xtensa/Kconfig                           |   1 +
 drivers/clocksource/arm_arch_timer.c          |   2 +-
 include/linux/fcntl.h                         |   2 +-
 include/linux/thread_bits.h                   |  63 ++++++++++
 include/linux/thread_info.h                   |  66 ++--------
 include/uapi/asm-generic/unistd.h             |  10 +-
 93 files changed, 1601 insertions(+), 413 deletions(-)
 create mode 100644 Documentation/arm64/ilp32.txt
 create mode 100644 arch/arm64/include/asm/is_compat.h
 create mode 100644 arch/arm64/include/asm/signal32_common.h
 create mode 100644 arch/arm64/include/asm/signal_common.h
 create mode 100644 arch/arm64/include/asm/signal_ilp32.h
 create mode 100644 arch/arm64/kernel/binfmt_elf32.c
 create mode 100644 arch/arm64/kernel/binfmt_ilp32.c
 create mode 100644 arch/arm64/kernel/entry32_common.S
 create mode 100644 arch/arm64/kernel/entry_ilp32.S
 create mode 100644 arch/arm64/kernel/signal32_common.c
 create mode 100644 arch/arm64/kernel/signal_ilp32.c
 create mode 100644 arch/arm64/kernel/sys_ilp32.c
 create mode 100644 arch/arm64/kernel/vdso-ilp32/.gitignore
 create mode 100644 arch/arm64/kernel/vdso-ilp32/Makefile
 create mode 100644 arch/arm64/kernel/vdso-ilp32/vdso-ilp32.S
 create mode 100644 arch/arm64/kernel/vdso-ilp32/vdso-ilp32.lds.S
 create mode 100644 include/linux/thread_bits.h

-- 
2.11.0

^ permalink raw reply	[flat|nested] 348+ messages in thread
* [PATCH -v2 0/9] mm: make movable onlining suck less
@ 2017-04-10 11:03 Michal Hocko
  2017-04-15 12:17 ` Michal Hocko
  0 siblings, 1 reply; 348+ messages in thread
From: Michal Hocko @ 2017-04-10 11:03 UTC (permalink / raw)
  To: linux-mm
  Cc: Andrew Morton, Mel Gorman, Vlastimil Babka, Andrea Arcangeli,
	Jerome Glisse, Reza Arbab, Yasuaki Ishimatsu, qiuxishi,
	Kani Toshimitsu, slaoub, Joonsoo Kim, Andi Kleen, David Rientjes,
	Daniel Kiper, Igor Mammedov, Vitaly Kuznetsov, LKML,
	Dan Williams, Heiko Carstens, Lai Jiangshan, Martin Schwidefsky,
	Michal Hocko, Tobias Regnery

Hi,
The last version of this series has been posted here [1]. It has seen
some more serious testing (thanks to Reza Arbab) and fixes for the found
issues. I have also decided to drop patch 1 [2] because it turned out to
be more complicated than I initially thought [3]. Few more patches were
added to deal with expectation on zone/node initialization.

I have rebased on top of the current mmotm-2017-04-07-15-53. It
conflicts with HMM because it touches memory hotplug as
well. We have discussed [4] with Jérôme and he agreed to
rebase on top of this rework [5] so I have reverted his series
before applyig mine. I will help him to resolve the resulting
conflicts. You can find the whole series including the HMM revers in
git://git.kernel.org/pub/scm/linux/kernel/git/mhocko/mm.git branch
attempts/rewrite-mem_hotplug

Motivation:
Movable onlining is a real hack with many downsides - mainly
reintroduction of lowmem/highmem issues we used to have on 32b systems -
but it is the only way to make the memory hotremove more reliable which
is something that people are asking for.

The current semantic of memory movable onlinening is really cumbersome,
however. The main reason for this is that the udev driven approach is
basically unusable because udev races with the memory probing while only
the last memory block or the one adjacent to the existing zone_movable
are allowed to be onlined movable. In short the criterion for the
successful online_movable changes under udev's feet. A reliable udev
approach would require a 2 phase approach where the first successful
movable online would have to check all the previous blocks and online
them in descending order. This is hard to be considered sane.

This patchset aims at making the onlining semantic more usable. First of
all it allows to online memory movable as long as it doesn't clash with
the existing ZONE_NORMAL. That means that ZONE_NORMAL and ZONE_MOVABLE
cannot overlap. Currently I preserve the original ordering semantic so
the zone always precedes the movable zone but I have plans to remove this
restriction in future because it is not really necessary.

First 3 patches are cleanups which should be ready to be merged right
away (unless I have missed something subtle of course).

Patch 4 deals with ZONE_DEVICE dependencies down the __add_pages path.

Patch 5 deals with implicit assumptions of register_one_node on pgdat
initialization.

Patch 6 is the core of the change. In order to make it easier to review
I have tried it to be as minimalistic as possible and the large code
removal is moved to patch 9.

Patch 7 is a trivial follow up cleanup. Patch 8 fixes sparse warnings
and finally patch 9 removes the unused code.

I have tested the patches in kvm:
# qemu-system-x86_64 -enable-kvm -monitor pty -m 2G,slots=4,maxmem=4G -numa node,mem=1G -numa node,mem=1G ...

and then probed the additional memory by
(qemu) object_add memory-backend-ram,id=mem1,size=1G
(qemu) device_add pc-dimm,id=dimm1,memdev=mem1

Then I have used this simple script to probe the memory block by hand
# cat probe_memblock.sh
#!/bin/sh

BLOCK_NR=$1

# echo $((0x100000000+$BLOCK_NR*(128<<20))) > /sys/devices/system/memory/probe

# for i in $(seq 10); do sh probe_memblock.sh $i; done
# grep . /sys/devices/system/memory/memory3?/valid_zones 2>/dev/null 
/sys/devices/system/memory/memory33/valid_zones:Normal Movable                                                                                                                                                     
/sys/devices/system/memory/memory34/valid_zones:Normal Movable                                                                                                                                                     
/sys/devices/system/memory/memory35/valid_zones:Normal Movable                                                                                                                                                     
/sys/devices/system/memory/memory36/valid_zones:Normal Movable                                                                                                                                                     
/sys/devices/system/memory/memory37/valid_zones:Normal Movable                                                                                                                                                     
/sys/devices/system/memory/memory38/valid_zones:Normal Movable                                                                                                                                                     
/sys/devices/system/memory/memory39/valid_zones:Normal Movable

The main difference to the original implementation is that all new
memblocks can be both online_kernel and online_movable initially
because there is no clash obviously. For the comparison the original
implementation would have

/sys/devices/system/memory/memory33/valid_zones:Normal                                                                                                                                                     
/sys/devices/system/memory/memory34/valid_zones:Normal                                                                                                                                                     
/sys/devices/system/memory/memory35/valid_zones:Normal                                                                                                                                                     
/sys/devices/system/memory/memory36/valid_zones:Normal                                                                                                                                                     
/sys/devices/system/memory/memory37/valid_zones:Normal                                                                                                                                                     
/sys/devices/system/memory/memory38/valid_zones:Normal                                                                                                                                                     
/sys/devices/system/memory/memory39/valid_zones:Normal Movable

Now
# echo online_movable > /sys/devices/system/memory/memory34/state                                                                                                                                      
# grep . /sys/devices/system/memory/memory3?/valid_zones 2>/dev/null                                                                                                                                   
/sys/devices/system/memory/memory33/valid_zones:Normal Movable                                                                                                                                                     
/sys/devices/system/memory/memory34/valid_zones:Movable                                                                                                                                                            
/sys/devices/system/memory/memory35/valid_zones:Movable                                                                                                                                                            
/sys/devices/system/memory/memory36/valid_zones:Movable                                                                                                                                                            
/sys/devices/system/memory/memory37/valid_zones:Movable                                                                                                                                                            
/sys/devices/system/memory/memory38/valid_zones:Movable
/sys/devices/system/memory/memory39/valid_zones:Movable

Block 33 can still be online both kernel and movable while all
the remaining can be only movable.
/proc/zonelist says
Node 0, zone   Normal
  pages free     0
        min      0
        low      0
        high     0
        spanned  0
        present  0
--
Node 0, zone  Movable
  pages free     32753
        min      85
        low      117
        high     149
        spanned  32768
        present  32768

A new memblock at a lower address will result in a new memblock (32)
which will still allow both Normal and Movable.
# sh probe_memblock.sh 0
# grep . /sys/devices/system/memory/memory3[2-5]/valid_zones 2>/dev/null
/sys/devices/system/memory/memory32/valid_zones:Normal Movable
/sys/devices/system/memory/memory33/valid_zones:Normal Movable
/sys/devices/system/memory/memory34/valid_zones:Movable
/sys/devices/system/memory/memory35/valid_zones:Movable

and online_kernel will convert it to the zone normal properly
while 33 can be still onlined both ways.
# echo online_kernel > /sys/devices/system/memory/memory32/state
# grep . /sys/devices/system/memory/memory3[2-5]/valid_zones 2>/dev/null
/sys/devices/system/memory/memory32/valid_zones:Normal
/sys/devices/system/memory/memory33/valid_zones:Normal Movable
/sys/devices/system/memory/memory34/valid_zones:Movable
/sys/devices/system/memory/memory35/valid_zones:Movable

/proc/zoneinfo will now tell
Node 0, zone   Normal
  pages free     65441
        min      165
        low      230
        high     295
        spanned  65536
        present  65536
--
Node 0, zone  Movable
  pages free     32740
        min      82
        low      114
        high     146
        spanned  32768
        present  32768

so both zones have one memblock spanned and present.

Onlining 39 should associate this block to the movable zone
# echo online > /sys/devices/system/memory/memory39/state

/proc/zoneinfo will now tell
Node 0, zone   Normal
  pages free     32765
        min      80
        low      112
        high     144
        spanned  32768
        present  32768
--
Node 0, zone  Movable
  pages free     65501
        min      160
        low      225
        high     290
        spanned  196608
        present  65536

so we will have a movable zone which spans 6 memblocks, 2 present and 4
representing a hole.

Offlining both movable blocks will lead to the zone with no present
pages which is the expected behavior I believe.
# echo offline > /sys/devices/system/memory/memory39/state
# echo offline > /sys/devices/system/memory/memory34/state
# grep -A6 "Movable\|Normal" /proc/zoneinfo 
Node 0, zone   Normal
  pages free     32735
        min      90
        low      122
        high     154
        spanned  32768
        present  32768
--
Node 0, zone  Movable
  pages free     0
        min      0
        low      0
        high     0
        spanned  196608
        present  0

Any thoughts, complains, suggestions?

As a bonus we will get a nice cleanup in the memory hotplug codebase
 arch/ia64/mm/init.c            |  11 +-
 arch/powerpc/mm/mem.c          |  12 +-
 arch/s390/mm/init.c            |  32 +--
 arch/sh/mm/init.c              |  10 +-
 arch/x86/mm/init_32.c          |   7 +-
 arch/x86/mm/init_64.c          |  11 +-
 drivers/base/memory.c          |  74 ++++---
 drivers/base/node.c            |  58 ++----
 include/linux/memory_hotplug.h |  19 +-
 include/linux/mmzone.h         |  16 +-
 include/linux/node.h           |  35 +++-
 kernel/memremap.c              |   6 +-
 mm/memory_hotplug.c            | 451 ++++++++++++++---------------------------
 mm/page_alloc.c                |   8 +-
 mm/sparse.c                    |   3 +-
 15 files changed, 284 insertions(+), 469 deletions(-)

Shortlog says:
Michal Hocko (9):
      mm: remove return value from init_currently_empty_zone
      mm, memory_hotplug: use node instead of zone in can_online_high_movable
      mm: drop page_initialized check from get_nid_for_pfn
      mm, memory_hotplug: get rid of is_zone_device_section
      mm, memory_hotplug: split up register_one_node
      mm, memory_hotplug: do not associate hotadded memory to zones until online
      mm, memory_hotplug: replace for_device by want_memblock in arch_add_memory
      mm, memory_hotplug: fix the section mismatch warning
      mm, memory_hotplug: remove unused cruft after memory hotplug rework

[1] http://lkml.kernel.org/r/20170330115454.32154-1-mhocko@kernel.org
[2] http://lkml.kernel.org/r/20170331073954.GF27098@dhcp22.suse.cz
[3] http://lkml.kernel.org/r/20170405081400.GE6035@dhcp22.suse.cz
[4] http://lkml.kernel.org/r/20170407121349.GB16392@dhcp22.suse.cz
[5] http://lkml.kernel.org/r/20170407182752.GA17852@redhat.com

^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2016-11-15 20:29 Christoph Lameter
  2016-11-16 10:40 ` your mail Peter Zijlstra
  0 siblings, 1 reply; 348+ messages in thread
From: Christoph Lameter @ 2016-11-15 20:29 UTC (permalink / raw)
  To: Peter Zijlstra
  Cc: Daniel Vacek, Daniel Bristot de Oliveira, Tommaso Cucinotta,
	LKML, linux-rt-users, Steven Rostedt, Ingo Molnar


> > There is a deadlock, Peter!!!
>
> Describe please? Also, have you tried disabling RT_RUNTIME_SHARE ?
>


The description was given earlier in the the thread and the drawbacks of
using RT_RUNTIME_SHARE as well.

^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2016-09-20 22:21 Andrew Banman
  2016-09-20 22:23 ` your mail andrew banman
  0 siblings, 1 reply; 348+ messages in thread
From: Andrew Banman @ 2016-09-20 22:21 UTC (permalink / raw)
  To: mingo, akpm; +Cc: tglx, hpa, travis, rja, sivanich, x86, linux-kernel, abanman

>From Andrew Banman <abanman@sgi.com> # This line is ignored.
From: Andrew Banman <abanman@sgi.com>
Subject: [PATCH 0/9] arch/x86/platform/uv: add UV4 support to BAU
In-Reply-To: 

The following patch set adds support for UV4 architecture to the Broadcast
Assist Unit (BAU). Major hardware changes to the BAU require these fixes to
ensure correct operation and to avoid illegal MMR writes.

 arch/x86/include/asm/uv/uv_bau.h |  45 ++----------------------------
 arch/x86/platform/uv/tlb_uv.c    | 114 ++++++++++++++++++++++++---------------------------------------
-------------

The patch set can be thought of in three logical groups:

1) General cleanup.

 [PATCH 1/9] arch/x86/platform/uv: BAU cleanup: update printks
 [PATCH 2/9] arch/x86/platform/uv: BAU cleanup: pq_init
 [PATCH 3/9] arch/x86/platform/uv: BAU replace uv_physnodeaddr

 These housekeeping patches make the subsequent UV4 patches clearer,
 and they should be done in any case.


2) Implement a new scheme to abstract UV version-specific functions.

 [PATCH 4/9] arch/x86/platform/uv: BAU add generic function pointers
 [PATCH 5/9] arch/x86/platform/uv: BAU use generic function pointers

 We add a struct of function pointers to define version-specific BAU
 operations. The philosophy is to abstract functions that perform the same
 operation on all UV versions but have different implementations. This will
 simplify their use in the body of the driver code and greatly simplify the
 UV4 patches to follow.


3) Add UV4 functionality.

 [PATCH 6/9] arch/x86/platform/uv: BAU UV4 populate uvhub_version
 [PATCH 7/9] arch/x86/platform/uv: BAU UV4 disable software timeout
 [PATCH 8/9] arch/x86/platform/uv: BAU UV4 fix payload queue setup
 [PATCH 9/9] arch/x86/platform/uv: BAU UV4 add version-specific

 These patches feature a minimal set of changes to make the BAU on UV4
 operational.


This patch set has been tested for regressions on pre-UV4 architectures and
for correct functionality on UV4. The patches apply cleanly to 4.8-rc7.
Fine-tuned performance tweaking for UV4 will come in a future patch set.


Thank you,

Andrew Banman

^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2015-08-03  6:18 Shraddha Barke
  2015-08-03  7:12 ` your mail Sudip Mukherjee
  2015-08-03  7:24 ` Dan Carpenter
  0 siblings, 2 replies; 348+ messages in thread
From: Shraddha Barke @ 2015-08-03  6:18 UTC (permalink / raw)
  To: Oleg Drokin, Al Viro, Julia Lawall, aybuke ozdemir,
	Andreas Dilger, John L. Hammond, Frank Zago, Greg Kroah-Hartman,
	HPDD-discuss, devel, linux-kernel
  Cc: Shraddha Barke

>From b67c6c20455b04b77447ab4561e44f1a75dd978d Mon Sep 17 00:00:00 2001
From: Shraddha Barke <shraddha.6596@gmail.com>
Date: Mon, 3 Aug 2015 11:34:19 +0530
Subject: [PATCH] Staging : lustre : Use -EINVAL instead of -ENOSYS

ENOSYS means that a nonexistent system call was called. This should
not be used for invalid operations on otherwise valid syscalls.

Use -EINVAL instead of -ENOSYS. This fixes checkpatch warning message:

WARNING: ENOSYS means 'invalid syscall nr' and nothing else

Signed-off-by: Shraddha Barke <shraddha.6596@gmail.com>
---
 drivers/staging/lustre/lustre/llite/file.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/lustre/lustre/llite/file.c b/drivers/staging/lustre/lustre/llite/file.c
index 2c467bf..93619a8 100644
--- a/drivers/staging/lustre/lustre/llite/file.c
+++ b/drivers/staging/lustre/lustre/llite/file.c
@@ -2786,7 +2786,7 @@ ll_file_flock(struct file *file, int cmd, struct file_lock *file_lock)
 static int
 ll_file_noflock(struct file *file, int cmd, struct file_lock *file_lock)
 {
-	return -ENOSYS;
+	return -EINVAL;
 }
 
 /**
-- 
2.1.0


^ permalink raw reply related	[flat|nested] 348+ messages in thread
[parent not found: <20150121201024.GA4548@obsidianresearch.com>]
* (no subject)
@ 2014-10-15  8:10 Christoph Lameter
  2014-10-27 15:07 ` your mail Tejun Heo
  0 siblings, 1 reply; 348+ messages in thread
From: Christoph Lameter @ 2014-10-15  8:10 UTC (permalink / raw)
  To: Tejun Heo; +Cc: linux-kernel

Subject: Convert remaining __get_cpu_var uses

During the 3.18 merge period additional __get_cpu_var uses were
added. The patch converts these to this_cpu_ptr().

[This does not address the powerpc issue where the conversion
patches were routed directly to the powerpc maintainers but were
not applied in the merge period. Will have to be handled separately]

Signed-off-by: Christoph Lameter <cl@linux.com>

Index: linux/arch/arm/xen/mm32.c
===================================================================
--- linux.orig/arch/arm/xen/mm32.c
+++ linux/arch/arm/xen/mm32.c
@@ -56,7 +56,7 @@ static struct notifier_block xen_mm32_cp
 static void* xen_mm32_remap_page(dma_addr_t handle)
 {
 	unsigned long virt = get_cpu_var(xen_mm32_scratch_virt);
-	pte_t *ptep = __get_cpu_var(xen_mm32_scratch_ptep);
+	pte_t *ptep = __this_cpu_read(xen_mm32_scratch_ptep);

 	*ptep = pfn_pte(handle >> PAGE_SHIFT, PAGE_KERNEL);
 	local_flush_tlb_kernel_page(virt);
Index: linux/arch/arm64/kernel/psci.c
===================================================================
--- linux.orig/arch/arm64/kernel/psci.c
+++ linux/arch/arm64/kernel/psci.c
@@ -511,7 +511,7 @@ static int cpu_psci_cpu_kill(unsigned in

 static int psci_suspend_finisher(unsigned long index)
 {
-	struct psci_power_state *state = __get_cpu_var(psci_power_state);
+	struct psci_power_state *state = __this_cpu_read(psci_power_state);

 	return psci_ops.cpu_suspend(state[index - 1],
 				    virt_to_phys(cpu_resume));
@@ -520,7 +520,7 @@ static int psci_suspend_finisher(unsigne
 static int __maybe_unused cpu_psci_cpu_suspend(unsigned long index)
 {
 	int ret;
-	struct psci_power_state *state = __get_cpu_var(psci_power_state);
+	struct psci_power_state *state = __this_cpu_read(psci_power_state);
 	/*
 	 * idle state index 0 corresponds to wfi, should never be called
 	 * from the cpu_suspend operations
Index: linux/kernel/irq_work.c
===================================================================
--- linux.orig/kernel/irq_work.c
+++ linux/kernel/irq_work.c
@@ -175,11 +175,11 @@ EXPORT_SYMBOL_GPL(irq_work_run);

 void irq_work_tick(void)
 {
-	struct llist_head *raised = &__get_cpu_var(raised_list);
+	struct llist_head *raised = this_cpu_ptr(&raised_list);

 	if (!llist_empty(raised) && !arch_irq_work_has_interrupt())
 		irq_work_run_list(raised);
-	irq_work_run_list(&__get_cpu_var(lazy_list));
+	irq_work_run_list(this_cpu_ptr(&lazy_list));
 }

 /*
Index: linux/kernel/time/tick-sched.c
===================================================================
--- linux.orig/kernel/time/tick-sched.c
+++ linux/kernel/time/tick-sched.c
@@ -235,7 +235,7 @@ void tick_nohz_full_kick(void)
 	if (!tick_nohz_full_cpu(smp_processor_id()))
 		return;

-	irq_work_queue(&__get_cpu_var(nohz_full_kick_work));
+	irq_work_queue(this_cpu_ptr(&nohz_full_kick_work));
 }

 /*

^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2014-09-01 15:47 sunwxg
  2014-09-01 17:01 ` your mail Dan Carpenter
  0 siblings, 1 reply; 348+ messages in thread
From: sunwxg @ 2014-09-01 15:47 UTC (permalink / raw)
  To: Greg Kroah-Hartman, Dulshani Gunawardhana, Josh Triplett,
	John L. Hammond, Andreas Dilger, Chi Pham, Oleg Drokin
  Cc: Sun Wang, devel, linux-kernel

From: Sun Wang <sun.wxg@gmail.com>

Subject: [PATCH] staging: lustre: lov_pack: fix coding style issue

Fix the style error checking by checkpatch.pl
ERROR: space required after that ','

Signed-off-by: Sun Wang <sun.wxg@gmail.com>

---
 drivers/staging/lustre/lustre/lov/lov_pack.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/lustre/lustre/lov/lov_pack.c b/drivers/staging/lustre/lustre/lov/lov_pack.c
index 20e5870..62ea223 100644
--- a/drivers/staging/lustre/lustre/lov/lov_pack.c
+++ b/drivers/staging/lustre/lustre/lov/lov_pack.c
@@ -95,7 +95,7 @@ void lov_dump_lmm_v1(int level, struct lov_mds_md_v1 *lmm)
 void lov_dump_lmm_v3(int level, struct lov_mds_md_v3 *lmm)
 {
 	lov_dump_lmm_common(level, lmm);
-	CDEBUG(level,"pool_name "LOV_POOLNAMEF"\n", lmm->lmm_pool_name);
+	CDEBUG(level, "pool_name "LOV_POOLNAMEF"\n", lmm->lmm_pool_name);
 	lov_dump_lmm_objects(level, lmm->lmm_objects,
 			     le16_to_cpu(lmm->lmm_stripe_count));
 }

^ permalink raw reply related	[flat|nested] 348+ messages in thread
[parent not found: <1409556896-21523-2-git-send-email-xiaoguang_wang5188@qq.com>]
* (no subject)
@ 2014-07-09  1:03 James Ban
  2014-07-09  7:56 ` your mail Mark Brown
  0 siblings, 1 reply; 348+ messages in thread
From: James Ban @ 2014-07-09  1:03 UTC (permalink / raw)
  To: Mark Brown; +Cc: Liam Girdwood, Support Opensource, LKML, David Dajun Chen

> -----Original Message-----
> From: Mark Brown [mailto:broonie@kernel.org]
> Sent: Tuesday, July 08, 2014 4:36 PM
> To: Opensource [James Seong-Won Ban]
> Cc: Liam Girdwood; Support Opensource; LKML; David Dajun Chen
> Subject: Re: [PATCH V4] regulator: DA9211 : new regulator driver
> 
> On Thu, Jul 03, 2014 at 04:29:03PM +0900, James Ban wrote:
> 
> This is greatly improved, thanks, however there are still a few issues which
> should be addressed:
> 
> > +static irqreturn_t da9211_irq_handler(int irq, void *data) {
> > +	struct da9211 *chip = data;
> > +	int reg_val, ret;
> > +
> > +	ret = regmap_read(chip->regmap, DA9211_REG_EVENT_B, &reg_val);
> > +	if (ret < 0)
> > +		goto error_i2c;
> > +
> > +	if (reg_val & DA9211_E_OV_CURR_A) {
> 
> > +	if (reg_val & DA9211_E_OV_CURR_B) {
> 
> > +
> > +	return IRQ_HANDLED;
> 
> This is buggy - the driver should only return IRQ_HANDLED if it handled the
> interrupt somehow, otherwise it should return IRQ_NONE and let the interrupt
> core handle things.  This is especially important since the device appears to
> require that interrupts are explicitly acknoweldged so if something is flagged
> but not handled the interrupt will just sit constantly asserted.
Basically all interrupts are masked when the chip wakes up. 
Only two interrupts are unmasked at the start of driver like below.
-------------
if (chip->chip_irq != 0) {
			ret = regmap_update_bits(chip->regmap,
				DA9211_REG_MASK_B, DA9211_M_OV_CURR_A << i, 1);
-----------------
So constant assertion which you are worry about could not happen.
Please let me know if you think other case.
> 
> > +static int da9211_regulator_init(struct da9211 *chip) {
> > +	struct regulator_config config = { };
> > +	int i, ret;
> > +	unsigned int data;
> > +
> > +	ret = regmap_update_bits(chip->regmap, DA9211_REG_PAGE_CON,
> > +			DA9211_REG_PAGE_MASK, DA9211_REG_PAGE2);
> > +	if (ret < 0) {
> > +		dev_err(chip->dev, "Failed to update PAGE reg: %d\n", ret);
> > +		goto err;
> > +	}
> 
> It would be better to model the paging in the register map in the regmap
> - the API has support for this, it's going to be more robust to use it.
I will change the code for the usage of the API.
> 
> > +		dev_info(chip->dev, "# IRQ configured [%d]\n", chip->chip_irq);
> 
> > +	for (i = 0; i < chip->num_regulator; i++)
> > +		regulator_unregister(chip->rdev[i]);
> 
> Use devm_regulator_register().
I will do it.
> 
> > +	if (chip->chip_irq != 0)
> > +		free_irq(chip->chip_irq, chip);
> 
> devm_request_threaded_irq().
I will use devm_request_threaded_irq and remove free_irq.

^ permalink raw reply	[flat|nested] 348+ messages in thread
[parent not found: <CAM0G4ztXWM5kw6dV4WRrTVJBMmeJDXuRnbeRBE603hM+7c=PCg@mail.gmail.com>]
[parent not found: <CAM0G4zvu1BHcOrSgBuobvb-+fVsNWXjXdzZdV51T70B9_ZC4XQ@mail.gmail.com>]
* (no subject)
@ 2014-01-23  9:06 Prabhakar Lad
  2014-01-23 19:55 ` your mail Mark Brown
  0 siblings, 1 reply; 348+ messages in thread
From: Prabhakar Lad @ 2014-01-23  9:06 UTC (permalink / raw)
  To: Mark Brown, broonie; +Cc: LKML

Hi Mark,

I see a issue with one of the davinci boards, where regulator_get() fails
from this patch "regulator: core: Provide a dummy regulator with full
constraints".
as I see regulator_get() supports dummy regulators by default.

So currently I am booting it traditional way (NON DT way) and
regulator_dev_lookup()
fails (return NULL)  and for this check it fails.

+    if (ret && ret != -ENODEV) {
         regulator = ERR_PTR(ret);
         goto out;
     }
In the NON-DT case the 'ret' is never updated in regulator_dev_lookup().

I tried adding regulator_has_full_constraints(); call in .init_machine
but results
the same. Any pointer would be helpfull.

Thanks,
--Prabhakar Lad

^ permalink raw reply	[flat|nested] 348+ messages in thread
[parent not found: <1388425244-10017-1-git-send-email-jdb@sitrep3.com>]
[parent not found: <CACaajQtCTW_PKA25q3-4o4XAV6sgZnyD+Skkw6mhUHpRBEgbjQ@mail.gmail.com>]
* (no subject)
@ 2012-10-10 15:06 Kent Yoder
  2012-10-10 15:12 ` your mail Kent Yoder
  0 siblings, 1 reply; 348+ messages in thread
From: Kent Yoder @ 2012-10-10 15:06 UTC (permalink / raw)
  Cc: linux-kernel, linux-security-module, tpmdd-devel, Kent Yoder

The following changes since commit ecefbd94b834fa32559d854646d777c56749ef1c:

  Merge tag 'kvm-3.7-1' of git://git.kernel.org/pub/scm/virt/kvm/kvm (2012-10-04 09:30:33 -0700)

are available in the git repository at:


  git://github.com/shpedoikal/linux.git tpmdd-fixes-v3.6

for you to fetch changes up to 1631cfb7cee28388b04aef6c0a73050f6fd76e4d:

  driver/char/tpm: fix regression causesd by ppi (2012-10-10 09:50:56 -0500)

----------------------------------------------------------------
Gang Wei (1):
      driver/char/tpm: fix regression causesd by ppi

 drivers/char/tpm/tpm.c     |  3 ++-
 drivers/char/tpm/tpm.h     |  9 +++++++--
 drivers/char/tpm/tpm_ppi.c | 18 ++++++++++--------
 3 files changed, 19 insertions(+), 11 deletions(-)


^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2012-10-04 16:50 Andrea Arcangeli
  2012-10-04 18:17 ` your mail Christoph Lameter
  0 siblings, 1 reply; 348+ messages in thread
From: Andrea Arcangeli @ 2012-10-04 16:50 UTC (permalink / raw)
  To: Christoph Lameter
  Cc: linux-kernel, linux-mm, Linus Torvalds, Andrew Morton,
	Peter Zijlstra, Ingo Molnar, Mel Gorman, Hugh Dickins,
	Rik van Riel, Johannes Weiner, Hillf Danton, Andrew Jones,
	Dan Smith, Thomas Gleixner, Paul Turner, Suresh Siddha,
	Mike Galbraith, Paul E. McKenney

Subject: Re: [PATCH 29/33] autonuma: page_autonuma
Reply-To: 
In-Reply-To: <0000013a2c223da2-632aa43e-21f8-4abd-a0ba-2e1b49881e3a-000000@email.amazonses.com>

Hi Christoph,

On Thu, Oct 04, 2012 at 02:16:14PM +0000, Christoph Lameter wrote:
> On Thu, 4 Oct 2012, Andrea Arcangeli wrote:
> 
> > Move the autonuma_last_nid from the "struct page" to a separate
> > page_autonuma data structure allocated in the memsection (with
> > sparsemem) or in the pgdat (with flatmem).
> 
> Note that there is a available word in struct page before the autonuma
> patches on x86_64 with CONFIG_HAVE_ALIGNED_STRUCT_PAGE.
> 
> In fact the page_autonuma fills up the structure to nicely fit in one 64
> byte cacheline.

Good point indeed.

So we could drop page_autonuma by creating a CONFIG_SLUB=y dependency
(AUTONUMA wouldn't be available in the kernel config if SLAB=y, and it
also wouldn't be available on 32bit archs but the latter isn't a
problem).

I think it's a reasonable alternative to page_autonuma. Certainly it
looks more appealing than taking over 16 precious bits from
page->flags. There are still pros and cons. I'm neutral on it so more
comments would be welcome ;).

Andrea

PS. randomly moved some in Cc over to Bcc as I overflowed the max
header allowed on linux-kernel oops!

^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2012-08-03 17:43 Tejun Heo
  2012-08-08 16:39 ` your mail Tejun Heo
  0 siblings, 1 reply; 348+ messages in thread
From: Tejun Heo @ 2012-08-03 17:43 UTC (permalink / raw)
  To: linux-kernel
  Cc: torvalds, akpm, padovan, marcel, peterz, mingo, davem,
	dougthompson, ibm-acpi, cbou, rui.zhang, tomi.valkeinen

delayed_work has been annoyingly missing the mechanism to modify timer
of a pending delayed_work - ie. mod_timer() counterpart.  delayed_work
users have been working around this using several methods - using an
explicit timer + work item, messing directly with delayed_work->timer,
and canceling before re-queueing, all of which are error-prone and/or
ugly.

Gustavo Padovan posted a RFC implementation[1] of mod_delayed_work() a
while back but it wasn't complete.  To properly implement
mod_delayed_work[_on](), it should be able to steal pending work items
which may be on timer or worklist or anywhere inbetween.  This is
similar to what __cancel_work_timer() does but it turns out that there
are a lot of holes around this area and try_to_grab_pending() needs
considerable amount of work to be used for other purposes too.

This patchset improves canceling and try_to_grab_pending(), use it to
implement mod_delayed_work[_on](), convert easy ones, and drop
__cancel_delayed_work_sync() which doesn't have relevant users
afterwards.

Changes from the first take[L] are,

* All updated patches rolled into the series and Acked-by's added.a

* Tomi Valkeinen pointed out that mod_delayed_work() can't be called
  from IRQ handlers and thus can't replace __cancel_delayed_work()
  users.  __cancel_delayed_work() users dropped from conversion.  This
  will be handled by a future patchset.

* Ensuring preemtion is disabled across PENDING manipulation doesn't
  make try_to_grab_pending() safe to use from bh context and making it
  impossible to replace even cancel_delayed_work() users.  Whole patch
  series updated so that IRQ is disabled across PENDING manipulation
  instead.  As most operations had to grab gcwq->lock anyway, this
  doesn't add extra IRQ toggling.

* try_to_grab_pending() and __cancel_work_timer() updated to take bool
  @is_dwork instead of @timer and disable IRQ on successful return.

This patchset contains the following fourteen patches.

 0001-workqueue-reorder-queueing-functions-so-that-_on-var.patch
 0002-workqueue-make-queueing-functions-return-bool.patch
 0003-workqueue-add-missing-smp_wmb-in-process_one_work.patch
 0004-workqueue-disable-irq-while-manipulating-PENDING.patch
 0005-workqueue-set-delayed_work-timer-function-on-initial.patch
 0006-workqueue-unify-local-CPU-queueing-handling.patch
 0007-workqueue-fix-zero-delay-handling-of-queue_delayed_w.patch
 0008-workqueue-move-try_to_grab_pending-upwards.patch
 0009-workqueue-introduce-WORK_OFFQ_FLAG_.patch
 0010-workqueue-factor-out-__queue_delayed_work-from-queue.patch
 0011-workqueue-reorganize-try_to_grab_pending-and-__cance.patch
 0012-workqueue-mark-a-work-item-being-canceled-as-such.patch
 0013-workqueue-implement-mod_delayed_work-_on.patch
 0014-workqueue-use-mod_delayed_work-instead-of-cancel-que.patch

0001-0003 are preparatory.

0004 removes the possibility of cancel_sync spinning for extended
period of time while another task holding PENDING is preempted or
interrupted.

0005-0007 clean up local queueing handling.

0008-0011 prepare for try_to_grab_pending() improvements.

0012 makes try_to_grab_pending() distinguish transient failure which
can be safely busy-retried and failure because the work item is being
canceled, which may take arbitrary amount of time.

0013 uses the improved try_to_grab_pending() to implement
mod_delayed_work[_on]().

0014 converts cancel + queue sequences to mod_delayed_work().

This patchset is also available at the following git branch.

 git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq.git review-wq-mod_delayed

If nobody objects, I'd like to route this series through wq/for-3.7.
Changes to other subsystems are fairly localized and conflicts, if
they occur, shouldn't be too painful to handle.

Although this ends up adding ~130 LOC, it contains a lot more
documentation, converted only the apparent ones, and IMHO is
worthwhile to have regardless as it removes an annoyance which is
pretty easy to encounter while using delayed_work.

Thanks.

 block/genhd.c                          |    6 
 drivers/edac/edac_mc.c                 |   17 
 drivers/infiniband/core/addr.c         |    4 
 drivers/infiniband/hw/nes/nes_hw.c     |    6 
 drivers/infiniband/hw/nes/nes_nic.c    |    5 
 drivers/net/wireless/ipw2x00/ipw2100.c |    8 
 drivers/net/wireless/zd1211rw/zd_usb.c |    3 
 drivers/platform/x86/thinkpad_acpi.c   |   20 
 drivers/power/charger-manager.c        |    9 
 drivers/power/ds2760_battery.c         |    9 
 drivers/power/jz4740-battery.c         |    6 
 drivers/thermal/thermal_sys.c          |   15 
 fs/afs/callback.c                      |    4 
 fs/afs/server.c                        |   10 
 fs/afs/vlocation.c                     |   14 
 fs/nfs/nfs4renewd.c                    |    3 
 include/linux/workqueue.h              |   47 +-
 kernel/workqueue.c                     |  732 ++++++++++++++++++++-------------
 net/core/dst.c                         |    4 
 net/rfkill/input.c                     |    3 
 20 files changed, 526 insertions(+), 399 deletions(-)

--
tejun

[1] http://thread.gmane.org/gmane.linux.kernel/1159922
[L] http://thread.gmane.org/gmane.linux.kernel/1334546

^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2012-02-21 15:39 Yang Honggang
  2012-02-21 11:34 ` your mail Hans J. Koch
  0 siblings, 1 reply; 348+ messages in thread
From: Yang Honggang @ 2012-02-21 15:39 UTC (permalink / raw)
  To: linux-kernel; +Cc: hjk

hi, everyone

Is there a mail list dedicated for UIO (userspace I/O)?
I want to contribute to UIO but did not find the right
mail list.

thx,

Joseph

^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2012-02-12  0:21 Richard Weinberger
  2012-02-12  0:25 ` your mail Jesper Juhl
                   ` (2 more replies)
  0 siblings, 3 replies; 348+ messages in thread
From: Richard Weinberger @ 2012-02-12  0:21 UTC (permalink / raw)
  To: linux-kernel
  Cc: user-mode-linux-devel, viro, akpm, alan, gregkh, Richard Weinberger

Can you please review this patch?

Thanks,
//richard

---
>From d8f5e7953def150bcc1e6a39dbbe589f1c68bcbd Mon Sep 17 00:00:00 2001
From: Richard Weinberger <richard@nod.at>
Date: Sun, 12 Feb 2012 01:12:49 +0100
Subject: [PATCH] um: Use tty_port

UML's line driver has to use tty_port.

Signed-off-by: Richard Weinberger <richard@nod.at>
---
 arch/um/drivers/line.c          |  212 +++++++++++---------------------------
 arch/um/drivers/line.h          |   13 ++-
 arch/um/drivers/ssl.c           |   16 +++-
 arch/um/drivers/stdio_console.c |   14 ++-
 4 files changed, 94 insertions(+), 161 deletions(-)

diff --git a/arch/um/drivers/line.c b/arch/um/drivers/line.c
index c1cf220..c789748 100644
--- a/arch/um/drivers/line.c
+++ b/arch/um/drivers/line.c
@@ -19,19 +19,29 @@ static irqreturn_t line_interrupt(int irq, void *data)
 {
 	struct chan *chan = data;
 	struct line *line = chan->line;
+	struct tty_struct *tty;
+
+	if (line) {
+		tty = tty_port_tty_get(&line->port);
+		chan_interrupt(&line->chan_list, &line->task, tty, irq);
+		tty_kref_put(tty);
+	}
 
-	if (line)
-		chan_interrupt(&line->chan_list, &line->task, line->tty, irq);
 	return IRQ_HANDLED;
 }
 
 static void line_timer_cb(struct work_struct *work)
 {
 	struct line *line = container_of(work, struct line, task.work);
+	struct tty_struct *tty;
 
-	if (!line->throttled)
-		chan_interrupt(&line->chan_list, &line->task, line->tty,
+	if (!line->throttled) {
+		tty = tty_port_tty_get(&line->port);
+		chan_interrupt(&line->chan_list, &line->task, tty,
 			       line->driver->read_irq);
+
+		tty_kref_put(tty);
+	}
 }
 
 /*
@@ -228,92 +238,6 @@ void line_set_termios(struct tty_struct *tty, struct ktermios * old)
 	/* nothing */
 }
 
-static const struct {
-	int  cmd;
-	char *level;
-	char *name;
-} tty_ioctls[] = {
-	/* don't print these, they flood the log ... */
-	{ TCGETS,      NULL,       "TCGETS"      },
-	{ TCSETS,      NULL,       "TCSETS"      },
-	{ TCSETSW,     NULL,       "TCSETSW"     },
-	{ TCFLSH,      NULL,       "TCFLSH"      },
-	{ TCSBRK,      NULL,       "TCSBRK"      },
-
-	/* general tty stuff */
-	{ TCSETSF,     KERN_DEBUG, "TCSETSF"     },
-	{ TCGETA,      KERN_DEBUG, "TCGETA"      },
-	{ TIOCMGET,    KERN_DEBUG, "TIOCMGET"    },
-	{ TCSBRKP,     KERN_DEBUG, "TCSBRKP"     },
-	{ TIOCMSET,    KERN_DEBUG, "TIOCMSET"    },
-
-	/* linux-specific ones */
-	{ TIOCLINUX,   KERN_INFO,  "TIOCLINUX"   },
-	{ KDGKBMODE,   KERN_INFO,  "KDGKBMODE"   },
-	{ KDGKBTYPE,   KERN_INFO,  "KDGKBTYPE"   },
-	{ KDSIGACCEPT, KERN_INFO,  "KDSIGACCEPT" },
-};
-
-int line_ioctl(struct tty_struct *tty, unsigned int cmd,
-				unsigned long arg)
-{
-	int ret;
-	int i;
-
-	ret = 0;
-	switch(cmd) {
-#ifdef TIOCGETP
-	case TIOCGETP:
-	case TIOCSETP:
-	case TIOCSETN:
-#endif
-#ifdef TIOCGETC
-	case TIOCGETC:
-	case TIOCSETC:
-#endif
-#ifdef TIOCGLTC
-	case TIOCGLTC:
-	case TIOCSLTC:
-#endif
-	/* Note: these are out of date as we now have TCGETS2 etc but this
-	   whole lot should probably go away */
-	case TCGETS:
-	case TCSETSF:
-	case TCSETSW:
-	case TCSETS:
-	case TCGETA:
-	case TCSETAF:
-	case TCSETAW:
-	case TCSETA:
-	case TCXONC:
-	case TCFLSH:
-	case TIOCOUTQ:
-	case TIOCINQ:
-	case TIOCGLCKTRMIOS:
-	case TIOCSLCKTRMIOS:
-	case TIOCPKT:
-	case TIOCGSOFTCAR:
-	case TIOCSSOFTCAR:
-		return -ENOIOCTLCMD;
-#if 0
-	case TCwhatever:
-		/* do something */
-		break;
-#endif
-	default:
-		for (i = 0; i < ARRAY_SIZE(tty_ioctls); i++)
-			if (cmd == tty_ioctls[i].cmd)
-				break;
-		if (i == ARRAY_SIZE(tty_ioctls)) {
-			printk(KERN_ERR "%s: %s: unknown ioctl: 0x%x\n",
-			       __func__, tty->name, cmd);
-		}
-		ret = -ENOIOCTLCMD;
-		break;
-	}
-	return ret;
-}
-
 void line_throttle(struct tty_struct *tty)
 {
 	struct line *line = tty->driver_data;
@@ -343,7 +267,7 @@ static irqreturn_t line_write_interrupt(int irq, void *data)
 {
 	struct chan *chan = data;
 	struct line *line = chan->line;
-	struct tty_struct *tty = line->tty;
+	struct tty_struct *tty = tty_port_tty_get(&line->port);
 	int err;
 
 	/*
@@ -354,6 +278,9 @@ static irqreturn_t line_write_interrupt(int irq, void *data)
 	spin_lock(&line->lock);
 	err = flush_buffer(line);
 	if (err == 0) {
+		tty_kref_put(tty);
+
+		spin_unlock(&line->lock);
 		return IRQ_NONE;
 	} else if (err < 0) {
 		line->head = line->buffer;
@@ -365,9 +292,12 @@ static irqreturn_t line_write_interrupt(int irq, void *data)
 		return IRQ_NONE;
 
 	tty_wakeup(tty);
+	tty_kref_put(tty);
 	return IRQ_HANDLED;
 }
 
+static const struct tty_port_operations line_port_ops;
+
 int line_setup_irq(int fd, int input, int output, struct line *line, void *data)
 {
 	const struct line_driver *driver = line->driver;
@@ -404,27 +334,27 @@ int line_setup_irq(int fd, int input, int output, struct line *line, void *data)
  * first open or last close.  Otherwise, open and close just return.
  */
 
-int line_open(struct line *lines, struct tty_struct *tty)
+int line_open(struct tty_struct *tty, struct file *filp)
 {
-	struct line *line = &lines[tty->index];
-	int err = -ENODEV;
+	struct line *line = tty->driver_data;
+	return tty_port_open(&line->port, tty, filp);
+}
 
-	spin_lock(&line->count_lock);
-	if (!line->valid)
-		goto out_unlock;
+int line_install(struct tty_driver *driver, struct tty_struct *tty, struct line *line)
+{
+	int ret = tty_init_termios(tty);
 
-	err = 0;
-	if (line->count++)
-		goto out_unlock;
+	if (ret)
+		return ret;
 
-	BUG_ON(tty->driver_data);
+	tty_driver_kref_get(driver);
+	tty->count++;
 	tty->driver_data = line;
-	line->tty = tty;
+	driver->ttys[tty->index] = tty;
 
-	spin_unlock(&line->count_lock);
-	err = enable_chan(line);
-	if (err) /* line_close() will be called by our caller */
-		return err;
+	ret = enable_chan(line);
+	if (ret)
+		return ret;
 
 	INIT_DELAYED_WORK(&line->task, line_timer_cb);
 
@@ -437,48 +367,36 @@ int line_open(struct line *lines, struct tty_struct *tty)
 			 &tty->winsize.ws_col);
 
 	return 0;
-
-out_unlock:
-	spin_unlock(&line->count_lock);
-	return err;
 }
 
 static void unregister_winch(struct tty_struct *tty);
 
-void line_close(struct tty_struct *tty, struct file * filp)
+void line_cleanup(struct tty_struct *tty)
 {
 	struct line *line = tty->driver_data;
 
-	/*
-	 * If line_open fails (and tty->driver_data is never set),
-	 * tty_open will call line_close.  So just return in this case.
-	 */
-	if (line == NULL)
-		return;
-
-	/* We ignore the error anyway! */
-	flush_buffer(line);
-
-	spin_lock(&line->count_lock);
-	BUG_ON(!line->valid);
-
-	if (--line->count)
-		goto out_unlock;
-
-	line->tty = NULL;
-	tty->driver_data = NULL;
-
-	spin_unlock(&line->count_lock);
-
 	if (line->sigio) {
 		unregister_winch(tty);
 		line->sigio = 0;
 	}
 
-	return;
+	tty->driver_data = NULL;
+}
+
+void line_close(struct tty_struct *tty, struct file * filp)
+{
+	struct line *line = tty->driver_data;
+
+	if (!line)
+		return;
+
+	tty_port_close(&line->port, tty, filp);
+}
 
-out_unlock:
-	spin_unlock(&line->count_lock);
+void line_hangup(struct tty_struct *tty)
+{
+	struct line *line = tty->driver_data;
+	tty_port_hangup(&line->port);
 }
 
 void close_lines(struct line *lines, int nlines)
@@ -495,13 +413,6 @@ static int setup_one_line(struct line *lines, int n, char *init, int init_prio,
 	struct line *line = &lines[n];
 	int err = -EINVAL;
 
-	spin_lock(&line->count_lock);
-
-	if (line->count) {
-		*error_out = "Device is already open";
-		goto out;
-	}
-
 	if (line->init_pri <= init_prio) {
 		line->init_pri = init_prio;
 		if (!strcmp(init, "none"))
@@ -512,8 +423,7 @@ static int setup_one_line(struct line *lines, int n, char *init, int init_prio,
 		}
 	}
 	err = 0;
-out:
-	spin_unlock(&line->count_lock);
+
 	return err;
 }
 
@@ -598,6 +508,7 @@ int line_get_config(char *name, struct line *lines, unsigned int num, char *str,
 	struct line *line;
 	char *end;
 	int dev, n = 0;
+	struct tty_struct *tty;
 
 	dev = simple_strtoul(name, &end, 0);
 	if ((*end != '\0') || (end == name)) {
@@ -612,13 +523,15 @@ int line_get_config(char *name, struct line *lines, unsigned int num, char *str,
 
 	line = &lines[dev];
 
-	spin_lock(&line->count_lock);
+	tty = tty_port_tty_get(&line->port);
+
 	if (!line->valid)
 		CONFIG_CHUNK(str, size, n, "none", 1);
-	else if (line->tty == NULL)
+	else if (tty == NULL)
 		CONFIG_CHUNK(str, size, n, line->init_str, 1);
 	else n = chan_config_string(&line->chan_list, str, size, error_out);
-	spin_unlock(&line->count_lock);
+
+	tty_kref_put(tty);
 
 	return n;
 }
@@ -678,8 +591,8 @@ struct tty_driver *register_lines(struct line_driver *line_driver,
 	}
 
 	for(i = 0; i < nlines; i++) {
-		if (!lines[i].valid)
-			tty_unregister_device(driver, i);
+		tty_port_init(&lines[i].port);
+		lines[i].port.ops = &line_port_ops;
 	}
 
 	mconsole_register_dev(&line_driver->mc);
@@ -805,7 +718,6 @@ void register_winch_irq(int fd, int tty_fd, int pid, struct tty_struct *tty,
 				   .pid  	= pid,
 				   .tty 	= tty,
 				   .stack	= stack });
-
 	if (um_request_irq(WINCH_IRQ, fd, IRQ_READ, winch_interrupt,
 			   IRQF_DISABLED | IRQF_SHARED | IRQF_SAMPLE_RANDOM,
 			   "winch", winch) < 0) {
diff --git a/arch/um/drivers/line.h b/arch/um/drivers/line.h
index 63df3ca..54adfc6 100644
--- a/arch/um/drivers/line.h
+++ b/arch/um/drivers/line.h
@@ -31,9 +31,8 @@ struct line_driver {
 };
 
 struct line {
-	struct tty_struct *tty;
-	spinlock_t count_lock;
-	unsigned long count;
+	struct tty_port port;
+
 	int valid;
 
 	char *init_str;
@@ -59,15 +58,17 @@ struct line {
 };
 
 #define LINE_INIT(str, d) \
-	{ .count_lock =	__SPIN_LOCK_UNLOCKED((str).count_lock), \
-	  .init_str =	str,	\
+	{ .init_str =	str,	\
 	  .init_pri =	INIT_STATIC, \
 	  .valid =	1, \
 	  .lock =	__SPIN_LOCK_UNLOCKED((str).lock), \
 	  .driver =	d }
 
 extern void line_close(struct tty_struct *tty, struct file * filp);
-extern int line_open(struct line *lines, struct tty_struct *tty);
+extern int line_open(struct tty_struct *tty, struct file *filp);
+extern int line_install(struct tty_driver *driver, struct tty_struct *tty, struct line *line);
+extern void line_cleanup(struct tty_struct *tty);
+extern void line_hangup(struct tty_struct *tty);
 extern int line_setup(struct line *lines, unsigned int sizeof_lines,
 		      char *init, char **error_out);
 extern int line_write(struct tty_struct *tty, const unsigned char *buf,
diff --git a/arch/um/drivers/ssl.c b/arch/um/drivers/ssl.c
index 9d8c20a..89e4e75 100644
--- a/arch/um/drivers/ssl.c
+++ b/arch/um/drivers/ssl.c
@@ -92,6 +92,7 @@ static int ssl_remove(int n, char **error_out)
 			   error_out);
 }
 
+#if 0
 static int ssl_open(struct tty_struct *tty, struct file *filp)
 {
 	int err = line_open(serial_lines, tty);
@@ -103,7 +104,6 @@ static int ssl_open(struct tty_struct *tty, struct file *filp)
 	return err;
 }
 
-#if 0
 static void ssl_flush_buffer(struct tty_struct *tty)
 {
 	return;
@@ -124,8 +124,16 @@ void ssl_hangup(struct tty_struct *tty)
 }
 #endif
 
+static int ssl_install(struct tty_driver *driver, struct tty_struct *tty)
+{
+	if (tty->index < NR_PORTS)
+		return line_install(driver, tty, &serial_lines[tty->index]);
+	else
+		return -ENODEV;
+}
+
 static const struct tty_operations ssl_ops = {
-	.open 	 		= ssl_open,
+	.open 	 		= line_open,
 	.close 	 		= line_close,
 	.write 	 		= line_write,
 	.put_char 		= line_put_char,
@@ -134,9 +142,11 @@ static const struct tty_operations ssl_ops = {
 	.flush_buffer 		= line_flush_buffer,
 	.flush_chars 		= line_flush_chars,
 	.set_termios 		= line_set_termios,
-	.ioctl 	 		= line_ioctl,
 	.throttle 		= line_throttle,
 	.unthrottle 		= line_unthrottle,
+	.install		= ssl_install,
+	.cleanup		= line_cleanup,
+	.hangup			= line_hangup,
 #if 0
 	.stop 	 		= ssl_stop,
 	.start 	 		= ssl_start,
diff --git a/arch/um/drivers/stdio_console.c b/arch/um/drivers/stdio_console.c
index 088776f..014f3ee 100644
--- a/arch/um/drivers/stdio_console.c
+++ b/arch/um/drivers/stdio_console.c
@@ -97,7 +97,7 @@ static int con_remove(int n, char **error_out)
 
 static int con_open(struct tty_struct *tty, struct file *filp)
 {
-	int err = line_open(vts, tty);
+	int err = line_open(tty, filp);
 	if (err)
 		printk(KERN_ERR "Failed to open console %d, err = %d\n",
 		       tty->index, err);
@@ -105,6 +105,14 @@ static int con_open(struct tty_struct *tty, struct file *filp)
 	return err;
 }
 
+static int con_install(struct tty_driver *driver, struct tty_struct *tty)
+{
+	if (tty->index < MAX_TTYS)
+		return line_install(driver, tty, &vts[tty->index]);
+	else
+		return -ENODEV;
+}
+
 /* Set in an initcall, checked in an exitcall */
 static int con_init_done = 0;
 
@@ -118,9 +126,11 @@ static const struct tty_operations console_ops = {
 	.flush_buffer 		= line_flush_buffer,
 	.flush_chars 		= line_flush_chars,
 	.set_termios 		= line_set_termios,
-	.ioctl 	 		= line_ioctl,
 	.throttle 		= line_throttle,
 	.unthrottle 		= line_unthrottle,
+	.cleanup		= line_cleanup,
+	.install		= con_install,
+	.hangup			= line_hangup,
 };
 
 static void uml_console_write(struct console *console, const char *string,
-- 
1.7.7.3


^ permalink raw reply related	[flat|nested] 348+ messages in thread
[parent not found: <20120110061735.9BD676BA98@mailhub.coreip.homeip.net>]
* (no subject)
@ 2011-09-21 21:54 jim.cromie
  2011-09-26 23:23 ` your mail Greg KH
  0 siblings, 1 reply; 348+ messages in thread
From: jim.cromie @ 2011-09-21 21:54 UTC (permalink / raw)
  To: jbaron; +Cc: joe, bart.vanassche, greg, linux-kernel

hi all,

this reworked* patchset enhances dynamic-debug with:

- multiple queries on bootline, via ddebug_query='"...", formerly just
  1 query was accepted.  This also allows cat foo-queries > $CONTROL
  to add numerous rules together.

- tolerance to errors in ddebug_query.  Formerly, a bad rule would
  kill the facility, now it stays up, you can correct the rule without
  rebooting.

- pending queries.  bootline can enable pr_debugs in an uninstalled
  module, by adding 'a' flag. When module is loaded later, pr_debug
  callsites are enabled, before module-init is run, so pr_debug can be
  used in module-init.  Currently pending queries are readable in
  $DBGMT/dynamic_debug/pending

- filter flags.  flags before the operator [+-=] are used to narrow
  selection of callsites.  This augments module, filename, function
  filters, allowing:

echo p+t > $CONTROL  # add TID to ALL enabled sites
echo ml+p > $CONTROL # enable sites marked earlier.

- src-dir relative paths in $CONTROL.  Formerly, filenames were
  printed with full path, and new rules had to use full path if
  basename wasnt enough.  Now theyre printed with relative paths, and
  relative paths are accepted when writing new rules.

Minor things

- added warn if >1 function, filename, module filter is used.  also
fix a pr_err() conditional on verbose.

- '_' (empty) flag added.  $CONTROL now says '=_' for disabled
  callsites, so your grep command can be more selective than '='

- printing is enabled by p flag only, formerly any flag enabled
callsite.  this fix is needed for filter-flags as described above.

- dynamic debug supercedes DEBUG - Formerly ddebug couldnt control
  callsites when module had DEBUG 1, now it can.  DEBUG 1 now enables
  callsites by default, but you can turn them off.

- shrink _ddebug.lineno:24 to 18
  lineno:24 allows 16G-lines files to be 'pr_debug'd, which is silly.
  Largest in tree is 29k-lines, future additions that large are
  *unlikely*.  Even allowing for out-of-tree machine-generated code
  (which shouldnt need ddebug, right? ;-), 256k-lines should be
  enough.

- pr_fmt_dbg() - like pr_fmt(), but used in dynamic_pr_debug().
  Allows independent control of the prefix-text added by pr_debug vs
  pr_info and others.  TBD - Joe Perches had issues with this, maybe
  addressed here.  Its also at end of set, so can be trivially
  excluded from upstream.

- internal ddebug verbosity - this modparam enables several levels of
  internal debugging.  Previous patchsets used the ddebug facilities
  within ddebug (eat your own dogfood) but that was deemed too
  aggressive.

Future additions.

- user flags: If we can free up extra bits (32bit is currently tight),
  adding user-flags (say: x,y,z) would let users mark groups of
  callsites, then enable and disable them in a single operation:

echo module foo +x > $CONTROL
echo module bar +x > $CONTROL
...
echo x+p > $CONTROL


Breakdown:
1-15    prep, cleanups, minor things
16-23   major enhancements, doc
24-26   non-essentials, worth considering, discussing.


If you like, you can also get it from github,
git://github.com/jimc/linux-2.6.git  dyndbg/on-driver-core

This is a clone of GregKH's driver-core tree, circa -rc3,
which includes 8/12 of Jason Barons dynamic-debug patches.
Ive added Jason's last 4/12, and my 26 patches.


thanks
Jim Cromie



^ permalink raw reply	[flat|nested] 348+ messages in thread
* Re: [PATCH] module: Use binary search in lookup_symbol()
@ 2011-05-17 23:33 Tim Bird
  2011-05-18 18:55 ` Alessio Igor Bogani
  0 siblings, 1 reply; 348+ messages in thread
From: Tim Bird @ 2011-05-17 23:33 UTC (permalink / raw)
  To: Greg KH
  Cc: Alessio Igor Bogani, Rusty Russell, Anders Kaseorg, Tim Abbott,
	LKML, Linux Embedded, Jason Wessel, Dirk Behme

On 05/17/2011 04:22 PM, Greg KH wrote:
> On Tue, May 17, 2011 at 10:56:03PM +0200, Alessio Igor Bogani wrote:
>> This work was supported by a hardware donation from the CE Linux Forum.
>>
>> Signed-off-by: Alessio Igor Bogani <abogani@kernel.org>
>> ---
> 
> That's nice, but _why_ do this change?  What does it buy us?
> 
> Please explain why you make a change, not just who sponsored the change,
> that's not very interesting to developers.

Just a note here on the attribution...

Alessio - you can remove the "hardware donation from CELF" line
after the first submission or so.  It doesn't need to be on
every submission of the patch set, and it doesn't need to go into
the commit message for the patch set.  We only want it associated
with the patch set somewhere Google-able (like LKML).

That said, I can answer Greg's question.  This is to speed up
the symbol resolution on module loading.  The last numbers I
saw showed a reduction of about 15-20% for the module load
time, for large-ish modules.  Of course this is highly dependent
on the size of the modules, what they do at load time, and how many
symbols are looked up to link them into the kernel.

Alessio - do you have any timings you can share for the speedup?
 -- Tim

=============================
Tim Bird
Architecture Group Chair, CE Workgroup of the Linux Foundation
Senior Staff Engineer, Sony Network Entertainment
=============================


^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2011-05-16  9:34 Keshava Munegowda
  2011-05-16  9:44 ` your mail Felipe Balbi
  0 siblings, 1 reply; 348+ messages in thread
From: Keshava Munegowda @ 2011-05-16  9:34 UTC (permalink / raw)
  To: linux-usb, linux-omap, linux-kernel
  Cc: Keshava Munegowda, balbi, gadiyar, sameo, parthab

Following 2 hwmod strcuture are added:
UHH hwmod of usbhs with uhh base address and
EHCI , OHCI irq and base addresses.
TLL hwmod of usbhs with the TLL base address and irq.

Signed-off-by: Keshava Munegowda <keshava_mgowda@ti.com>
---
 arch/arm/mach-omap2/omap_hwmod_3xxx_data.c |  184 ++++++++++++++++++++++++++++
 arch/arm/mach-omap2/omap_hwmod_44xx_data.c |  153 +++++++++++++++++++++++
 2 files changed, 337 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
index 909a84d..fe9a176 100644
--- a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
@@ -84,6 +84,8 @@ static struct omap_hwmod omap3xxx_mcbsp4_hwmod;
 static struct omap_hwmod omap3xxx_mcbsp5_hwmod;
 static struct omap_hwmod omap3xxx_mcbsp2_sidetone_hwmod;
 static struct omap_hwmod omap3xxx_mcbsp3_sidetone_hwmod;
+static struct omap_hwmod omap34xx_usb_host_hs_hwmod;
+static struct omap_hwmod omap34xx_usb_tll_hs_hwmod;
 
 /* L3 -> L4_CORE interface */
 static struct omap_hwmod_ocp_if omap3xxx_l3_main__l4_core = {
@@ -3574,6 +3576,185 @@ static struct omap_hwmod omap3xxx_mmc3_hwmod = {
 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP3430),
 };
 
+/*
+ * 'usb_host_hs' class
+ * high-speed multi-port usb host controller
+ */
+static struct omap_hwmod_ocp_if omap34xx_usb_host_hs__l3_main_2 = {
+	.master		= &omap34xx_usb_host_hs_hwmod,
+	.slave		= &omap3xxx_l3_main_hwmod,
+	.clk		= "core_l3_ick",
+	.user		= OCP_USER_MPU,
+};
+
+static struct omap_hwmod_class_sysconfig omap34xx_usb_host_hs_sysc = {
+	.rev_offs	= 0x0000,
+	.sysc_offs	= 0x0010,
+	.syss_offs	= 0x0014,
+	.sysc_flags	= (SYSC_HAS_MIDLEMODE | SYSC_HAS_SIDLEMODE),
+	.idlemodes	= (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
+			   MSTANDBY_FORCE | MSTANDBY_NO | MSTANDBY_SMART),
+	.sysc_fields	= &omap_hwmod_sysc_type1,
+};
+
+static struct omap_hwmod_class omap34xx_usb_host_hs_hwmod_class = {
+	.name = "usbhs_uhh",
+	.sysc = &omap34xx_usb_host_hs_sysc,
+};
+
+static struct omap_hwmod_ocp_if *omap34xx_usb_host_hs_masters[] = {
+	&omap34xx_usb_host_hs__l3_main_2,
+};
+
+static struct omap_hwmod_irq_info omap34xx_usb_host_hs_irqs[] = {
+	{ .name = "ohci-irq", .irq = 76 },
+	{ .name = "ehci-irq", .irq = 77 },
+};
+
+static struct omap_hwmod_addr_space omap34xx_usb_host_hs_addrs[] = {
+	{
+		.name		= "uhh",
+		.pa_start	= 0x48064000,
+		.pa_end		= 0x480643ff,
+		.flags		= ADDR_TYPE_RT
+	},
+	{
+		.name		= "ohci",
+		.pa_start	= 0x48064400,
+		.pa_end		= 0x480647FF,
+		.flags		= ADDR_MAP_ON_INIT
+	},
+	{
+		.name		= "ehci",
+		.pa_start	= 0x48064800,
+		.pa_end		= 0x48064CFF,
+		.flags		= ADDR_MAP_ON_INIT
+	}
+};
+
+static struct omap_hwmod_ocp_if omap34xx_l4_cfg__usb_host_hs = {
+	.master		= &omap3xxx_l4_core_hwmod,
+	.slave		= &omap34xx_usb_host_hs_hwmod,
+	.clk		= "l4_ick",
+	.addr		= omap34xx_usb_host_hs_addrs,
+	.addr_cnt	= ARRAY_SIZE(omap34xx_usb_host_hs_addrs),
+	.user		= OCP_USER_MPU | OCP_USER_SDMA,
+};
+
+static struct omap_hwmod_ocp_if omap34xx_f128m_cfg__usb_host_hs = {
+	.clk		= "usbhost_120m_fck",
+	.user		= OCP_USER_MPU,
+	.flags		= OCPIF_SWSUP_IDLE,
+};
+
+static struct omap_hwmod_ocp_if omap34xx_f48m_cfg__usb_host_hs = {
+	.clk		= "usbhost_48m_fck",
+	.user		= OCP_USER_MPU,
+	.flags		= OCPIF_SWSUP_IDLE,
+};
+
+static struct omap_hwmod_ocp_if *omap34xx_usb_host_hs_slaves[] = {
+	&omap34xx_l4_cfg__usb_host_hs,
+	&omap34xx_f128m_cfg__usb_host_hs,
+	&omap34xx_f48m_cfg__usb_host_hs,
+};
+
+static struct omap_hwmod omap34xx_usb_host_hs_hwmod = {
+	.name		= "usbhs_uhh",
+	.class		= &omap34xx_usb_host_hs_hwmod_class,
+	.mpu_irqs	= omap34xx_usb_host_hs_irqs,
+	.mpu_irqs_cnt	= ARRAY_SIZE(omap34xx_usb_host_hs_irqs),
+	.main_clk	= "usbhost_ick",
+	.prcm = {
+		.omap2 = {
+			.module_offs = OMAP3430ES2_USBHOST_MOD,
+			.prcm_reg_id = 1,
+			.module_bit = 0,
+			.idlest_reg_id = 1,
+			.idlest_idle_bit = 1,
+			.idlest_stdby_bit = 0,
+		},
+	},
+	.slaves		= omap34xx_usb_host_hs_slaves,
+	.slaves_cnt	= ARRAY_SIZE(omap34xx_usb_host_hs_slaves),
+	.masters	= omap34xx_usb_host_hs_masters,
+	.masters_cnt	= ARRAY_SIZE(omap34xx_usb_host_hs_masters),
+	.flags		= HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY,
+	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP3430),
+};
+
+/*
+ * 'usb_tll_hs' class
+ * usb_tll_hs module is the adapter on the usb_host_hs ports
+ */
+static struct omap_hwmod_class_sysconfig omap34xx_usb_tll_hs_sysc = {
+	.rev_offs	= 0x0000,
+	.sysc_offs	= 0x0010,
+	.syss_offs	= 0x0014,
+	.sysc_flags	= (SYSC_HAS_AUTOIDLE | SYSC_HAS_SIDLEMODE),
+	.idlemodes	= (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
+	.sysc_fields	= &omap_hwmod_sysc_type1,
+};
+
+static struct omap_hwmod_class omap34xx_usb_tll_hs_hwmod_class = {
+	.name = "usbhs_tll",
+	.sysc = &omap34xx_usb_tll_hs_sysc,
+};
+
+static struct omap_hwmod_irq_info omap34xx_usb_tll_hs_irqs[] = {
+	{ .name = "tll-irq", .irq = 78 },
+};
+
+static struct omap_hwmod_addr_space omap34xx_usb_tll_hs_addrs[] = {
+	{
+		.name		= "tll",
+		.pa_start	= 0x48062000,
+		.pa_end		= 0x48062fff,
+		.flags		= ADDR_TYPE_RT
+	},
+};
+
+static struct omap_hwmod_ocp_if omap34xx_f_cfg__usb_tll_hs = {
+	.clk		= "usbtll_fck",
+	.user		= OCP_USER_MPU,
+	.flags		= OCPIF_SWSUP_IDLE,
+};
+
+static struct omap_hwmod_ocp_if omap34xx_l4_cfg__usb_tll_hs = {
+	.master		= &omap3xxx_l4_core_hwmod,
+	.slave		= &omap34xx_usb_tll_hs_hwmod,
+	.clk		= "l4_ick",
+	.addr		= omap34xx_usb_tll_hs_addrs,
+	.addr_cnt	= ARRAY_SIZE(omap34xx_usb_tll_hs_addrs),
+	.user		= OCP_USER_MPU | OCP_USER_SDMA,
+};
+
+static struct omap_hwmod_ocp_if *omap34xx_usb_tll_hs_slaves[] = {
+	&omap34xx_l4_cfg__usb_tll_hs,
+	&omap34xx_f_cfg__usb_tll_hs,
+};
+
+static struct omap_hwmod omap34xx_usb_tll_hs_hwmod = {
+	.name		= "usbhs_tll",
+	.class		= &omap34xx_usb_tll_hs_hwmod_class,
+	.mpu_irqs	= omap34xx_usb_tll_hs_irqs,
+	.mpu_irqs_cnt	= ARRAY_SIZE(omap34xx_usb_tll_hs_irqs),
+	.main_clk	= "usbtll_ick",
+	.prcm = {
+		.omap2 = {
+			.module_offs = CORE_MOD,
+			.prcm_reg_id = 3,
+			.module_bit = 2,
+			.idlest_reg_id = 3,
+			.idlest_idle_bit = 2,
+		},
+	},
+	.slaves		= omap34xx_usb_tll_hs_slaves,
+	.slaves_cnt	= ARRAY_SIZE(omap34xx_usb_tll_hs_slaves),
+	.flags		= HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY,
+	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP3430),
+};
+
 static __initdata struct omap_hwmod *omap3xxx_hwmods[] = {
 	&omap3xxx_l3_main_hwmod,
 	&omap3xxx_l4_core_hwmod,
@@ -3656,6 +3837,9 @@ static __initdata struct omap_hwmod *omap3xxx_hwmods[] = {
 	/* usbotg for am35x */
 	&am35xx_usbhsotg_hwmod,
 
+	&omap34xx_usb_host_hs_hwmod,
+	&omap34xx_usb_tll_hs_hwmod,
+
 	NULL,
 };
 
diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
index abc548a..d7112b0 100644
--- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
@@ -66,6 +66,8 @@ static struct omap_hwmod omap44xx_mmc2_hwmod;
 static struct omap_hwmod omap44xx_mpu_hwmod;
 static struct omap_hwmod omap44xx_mpu_private_hwmod;
 static struct omap_hwmod omap44xx_usb_otg_hs_hwmod;
+static struct omap_hwmod omap44xx_usb_host_hs_hwmod;
+static struct omap_hwmod omap44xx_usb_tll_hs_hwmod;
 
 /*
  * Interconnects omap_hwmod structures
@@ -5027,6 +5029,155 @@ static struct omap_hwmod omap44xx_wd_timer3_hwmod = {
 	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
 };
 
+/*
+ * 'usb_host_hs' class
+ * high-speed multi-port usb host controller
+ */
+static struct omap_hwmod_ocp_if omap44xx_usb_host_hs__l3_main_2 = {
+	.master		= &omap44xx_usb_host_hs_hwmod,
+	.slave		= &omap44xx_l3_main_2_hwmod,
+	.clk		= "l3_div_ck",
+	.user		= OCP_USER_MPU | OCP_USER_SDMA,
+};
+
+static struct omap_hwmod_class_sysconfig omap44xx_usb_host_hs_sysc = {
+	.rev_offs	= 0x0000,
+	.sysc_offs	= 0x0010,
+	.syss_offs	= 0x0014,
+	.sysc_flags	= (SYSC_HAS_MIDLEMODE | SYSC_HAS_SIDLEMODE),
+	.idlemodes	= (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART |
+			   MSTANDBY_FORCE | MSTANDBY_NO | MSTANDBY_SMART),
+	.sysc_fields	= &omap_hwmod_sysc_type2,
+};
+
+static struct omap_hwmod_class omap44xx_usb_host_hs_hwmod_class = {
+	.name = "usbhs_uhh",
+	.sysc = &omap44xx_usb_host_hs_sysc,
+};
+
+static struct omap_hwmod_ocp_if *omap44xx_usb_host_hs_masters[] = {
+	&omap44xx_usb_host_hs__l3_main_2,
+};
+
+static struct omap_hwmod_irq_info omap44xx_usb_host_hs_irqs[] = {
+	{ .name = "ohci-irq", .irq = 76 + OMAP44XX_IRQ_GIC_START },
+	{ .name = "ehci-irq", .irq = 77 + OMAP44XX_IRQ_GIC_START },
+};
+
+static struct omap_hwmod_addr_space omap44xx_usb_host_hs_addrs[] = {
+	{
+		.name		= "uhh",
+		.pa_start	= 0x4a064000,
+		.pa_end		= 0x4a0647ff,
+		.flags		= ADDR_TYPE_RT
+	},
+	{
+		.name		= "ohci",
+		.pa_start	= 0x4A064800,
+		.pa_end		= 0x4A064BFF,
+		.flags		= ADDR_MAP_ON_INIT
+	},
+	{
+		.name		= "ehci",
+		.pa_start	= 0x4A064C00,
+		.pa_end		= 0x4A064FFF,
+		.flags		= ADDR_MAP_ON_INIT
+	}
+};
+
+static struct omap_hwmod_ocp_if omap44xx_l4_cfg__usb_host_hs = {
+	.master		= &omap44xx_l4_cfg_hwmod,
+	.slave		= &omap44xx_usb_host_hs_hwmod,
+	.clk		= "l4_div_ck",
+	.addr		= omap44xx_usb_host_hs_addrs,
+	.addr_cnt	= ARRAY_SIZE(omap44xx_usb_host_hs_addrs),
+	.user		= OCP_USER_MPU | OCP_USER_SDMA,
+};
+
+static struct omap_hwmod_ocp_if *omap44xx_usb_host_hs_slaves[] = {
+	&omap44xx_l4_cfg__usb_host_hs,
+};
+
+static struct omap_hwmod omap44xx_usb_host_hs_hwmod = {
+	.name		= "usbhs_uhh",
+	.class		= &omap44xx_usb_host_hs_hwmod_class,
+	.mpu_irqs	= omap44xx_usb_host_hs_irqs,
+	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_usb_host_hs_irqs),
+	.main_clk	= "usb_host_hs_fck",
+	.prcm = {
+		.omap4 = {
+			.clkctrl_reg = OMAP4430_CM_L3INIT_USB_HOST_CLKCTRL,
+		},
+	},
+	.slaves		= omap44xx_usb_host_hs_slaves,
+	.slaves_cnt	= ARRAY_SIZE(omap44xx_usb_host_hs_slaves),
+	.masters	= omap44xx_usb_host_hs_masters,
+	.masters_cnt	= ARRAY_SIZE(omap44xx_usb_host_hs_masters),
+	.flags		= HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY,
+	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
+};
+
+/*
+ * 'usb_tll_hs' class
+ * usb_tll_hs module is the adapter on the usb_host_hs ports
+ */
+static struct omap_hwmod_class_sysconfig omap44xx_usb_tll_hs_sysc = {
+	.rev_offs	= 0x0000,
+	.sysc_offs	= 0x0010,
+	.syss_offs	= 0x0014,
+	.sysc_flags	= (SYSC_HAS_AUTOIDLE | SYSC_HAS_SIDLEMODE),
+	.idlemodes	= (SIDLE_FORCE | SIDLE_NO | SIDLE_SMART),
+	.sysc_fields	= &omap_hwmod_sysc_type1,
+};
+
+static struct omap_hwmod_class omap44xx_usb_tll_hs_hwmod_class = {
+	.name = "usbhs_tll",
+	.sysc = &omap44xx_usb_tll_hs_sysc,
+};
+
+static struct omap_hwmod_irq_info omap44xx_usb_tll_hs_irqs[] = {
+	{ .name = "tll-irq", .irq = 78 + OMAP44XX_IRQ_GIC_START },
+};
+
+static struct omap_hwmod_addr_space omap44xx_usb_tll_hs_addrs[] = {
+	{
+		.name		= "tll",
+		.pa_start	= 0x4a062000,
+		.pa_end		= 0x4a063fff,
+		.flags		= ADDR_TYPE_RT
+	},
+};
+
+static struct omap_hwmod_ocp_if omap44xx_l4_cfg__usb_tll_hs = {
+	.master		= &omap44xx_l4_cfg_hwmod,
+	.slave		= &omap44xx_usb_tll_hs_hwmod,
+	.clk		= "l4_div_ck",
+	.addr		= omap44xx_usb_tll_hs_addrs,
+	.addr_cnt	= ARRAY_SIZE(omap44xx_usb_tll_hs_addrs),
+	.user		= OCP_USER_MPU | OCP_USER_SDMA,
+};
+
+static struct omap_hwmod_ocp_if *omap44xx_usb_tll_hs_slaves[] = {
+	&omap44xx_l4_cfg__usb_tll_hs,
+};
+
+static struct omap_hwmod omap44xx_usb_tll_hs_hwmod = {
+	.name		= "usbhs_tll",
+	.class		= &omap44xx_usb_tll_hs_hwmod_class,
+	.mpu_irqs	= omap44xx_usb_tll_hs_irqs,
+	.mpu_irqs_cnt	= ARRAY_SIZE(omap44xx_usb_tll_hs_irqs),
+	.main_clk	= "usb_tll_hs_ick",
+	.prcm = {
+		.omap4 = {
+			.clkctrl_reg = OMAP4430_CM_L3INIT_USB_TLL_CLKCTRL,
+		},
+	},
+	.slaves		= omap44xx_usb_tll_hs_slaves,
+	.slaves_cnt	= ARRAY_SIZE(omap44xx_usb_tll_hs_slaves),
+	.flags		= HWMOD_SWSUP_SIDLE | HWMOD_SWSUP_MSTANDBY,
+	.omap_chip	= OMAP_CHIP_INIT(CHIP_IS_OMAP4430),
+};
+
 static __initdata struct omap_hwmod *omap44xx_hwmods[] = {
 
 	/* dmm class */
@@ -5173,6 +5324,8 @@ static __initdata struct omap_hwmod *omap44xx_hwmods[] = {
 	&omap44xx_wd_timer2_hwmod,
 	&omap44xx_wd_timer3_hwmod,
 
+	&omap44xx_usb_host_hs_hwmod,
+	&omap44xx_usb_tll_hs_hwmod,
 	NULL,
 };
 
-- 
1.6.0.4


^ permalink raw reply related	[flat|nested] 348+ messages in thread
* (no subject)
@ 2011-01-14  1:14 Omar Ramirez Luna
  2011-01-14  4:36 ` your mail Greg KH
  0 siblings, 1 reply; 348+ messages in thread
From: Omar Ramirez Luna @ 2011-01-14  1:14 UTC (permalink / raw)
  To: Greg Kroah-Hartman; +Cc: Felipe Contreras, devel, linux-kernel

Please pull these changes for 2.6.38:

The following changes since commit 3c0eee3fe6a3a1c745379547c7e7c904aa64f6d5:

  Linux 2.6.37 (2011-01-04 16:50:19 -0800)

are available in the git repository at:
  git://dev.omapzoom.org/pub/scm/tidspbridge/kernel-dspbridge.git for-gkh-2.6.38

Guzman Lugo, Fernando (1):
      staging: tidspbridge: configure full L1 MMU range

Omar Ramirez Luna (1):
      staging: tidspbridge: replace mbox callback with notifier_call

 drivers/staging/tidspbridge/core/tiomap3430.c |   15 +++++++--------
 1 files changed, 7 insertions(+), 8 deletions(-)

Regards,

Omar

^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2011-01-03 16:38 castet.matthieu
  2011-01-03 17:03 ` your mail Stanislaw Gruszka
  0 siblings, 1 reply; 348+ messages in thread
From: castet.matthieu @ 2011-01-03 16:38 UTC (permalink / raw)
  To: linux-kernel, linux-usb; +Cc: stf_xl, tj

Hi,

could you CC me on ueagle-atm.c patches.

>From what I remind we sleep in the workqueue, that's why we couldn't use the
system one (freeze keyboard...). But may be the code changed.


Matthieu

Tejun Heo a écrit :
> With cmwq, there's no reason to use separate workqueues.  Drop
> uea_softc->work_q and use system_wq instead.  The used work item is
> sync flushed on driver detach.
>
> Signed-off-by: Tejun Heo <tj@kernel.org>
> Cc: Stanislaw Gruszka <stf_xl@wp.pl>
> Cc: linux-usb@vger.kernel.org
> ---
> Only compile tested.  Please feel free to take it into the subsystem
> tree or simply ack - I'll route it through the wq tree.
>
> Thanks.
>
>  drivers/usb/atm/ueagle-atm.c |   19 +++++--------------
>  1 files changed, 5 insertions(+), 14 deletions(-)
>
> diff --git a/drivers/usb/atm/ueagle-atm.c b/drivers/usb/atm/ueagle-atm.c
> index 44447f5..55c1d3b 100644
> --- a/drivers/usb/atm/ueagle-atm.c
> +++ b/drivers/usb/atm/ueagle-atm.c
> @@ -168,7 +168,6 @@ struct uea_softc {
>  	union cmv_dsc cmv_dsc;
>
>  	struct work_struct task;
> -	struct workqueue_struct *work_q;
>  	u16 pageno;
>  	u16 ovl;
>
> @@ -1879,7 +1878,7 @@ static int uea_start_reset(struct uea_softc *sc)
>  	/* start loading DSP */
>  	sc->pageno = 0;
>  	sc->ovl = 0;
> -	queue_work(sc->work_q, &sc->task);
> +	schedule_work(&sc->task);
>
>  	/* wait for modem ready CMV */
>  	ret = wait_cmv_ack(sc);
> @@ -2091,14 +2090,14 @@ static void uea_schedule_load_page_e1(struct uea_softc
*sc,
>  {
>  	sc->pageno = intr->e1_bSwapPageNo;
>  	sc->ovl = intr->e1_bOvl >> 4 | intr->e1_bOvl << 4;
> -	queue_work(sc->work_q, &sc->task);
> +	schedule_work(&sc->task);
>  }
>
>  static void uea_schedule_load_page_e4(struct uea_softc *sc,
>  						struct intr_pkt *intr)
>  {
>  	sc->pageno = intr->e4_bSwapPageNo;
> -	queue_work(sc->work_q, &sc->task);
> +	schedule_work(&sc->task);
>  }
>
>  /*
> @@ -2170,13 +2169,6 @@ static int uea_boot(struct uea_softc *sc)
>
>  	init_waitqueue_head(&sc->sync_q);
>
> -	sc->work_q = create_workqueue("ueagle-dsp");
> -	if (!sc->work_q) {
> -		uea_err(INS_TO_USBDEV(sc), "cannot allocate workqueue\n");
> -		uea_leaves(INS_TO_USBDEV(sc));
> -		return -ENOMEM;
> -	}
> -
>  	if (UEA_CHIP_VERSION(sc) == ADI930)
>  		load_XILINX_firmware(sc);
>
> @@ -2222,7 +2214,6 @@ err1:
>  	sc->urb_int = NULL;
>  	kfree(intr);
>  err0:
> -	destroy_workqueue(sc->work_q);
>  	uea_leaves(INS_TO_USBDEV(sc));
>  	return -ENOMEM;
>  }
> @@ -2243,8 +2234,8 @@ static void uea_stop(struct uea_softc *sc)
>  	kfree(sc->urb_int->transfer_buffer);
>  	usb_free_urb(sc->urb_int);
>
> -	/* stop any pending boot process, when no one can schedule work */
> -	destroy_workqueue(sc->work_q);
> +	/* flush the work item, when no one can schedule it */
> +	flush_work_sync(&sc->task);
>
>  	if (sc->dsp_firm)
>  		release_firmware(sc->dsp_firm);


^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2010-06-13  6:16 Mike Gilks
  2010-06-18 23:52 ` your mail Greg KH
  0 siblings, 1 reply; 348+ messages in thread
From: Mike Gilks @ 2010-06-13  6:16 UTC (permalink / raw)
  To: gregkh, mchehab, julia, joe; +Cc: devel, linux-kernel

Subject:r8192U_core.c Last pass
In-Reply-To: 


This is the last patch I can manage for this file.
Everything else to do with checkpatch.pl issues may require an actual developer to look at it.

Mike

^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2010-04-14 12:54 Alan Cox
  2010-04-14 23:16 ` your mail Dmitry Torokhov
  0 siblings, 1 reply; 348+ messages in thread
From: Alan Cox @ 2010-04-14 12:54 UTC (permalink / raw)
  To: linux-i2c, khali, linux-input, linux-kernel

Subject: [FOR COMMENT] cy8ctmg110 for review

From: Samuli Konttila <samuli.konttila@aavamobile.com>

Add support for the cy8ctmg110 capacitive touchscreen used on some embedded
devices.

(Some clean up by Alan Cox)

(No signed off, not yet ready to go in)
---

 drivers/input/touchscreen/Kconfig         |   12 +
 drivers/input/touchscreen/Makefile        |    3 
 drivers/input/touchscreen/cy8ctmg110_ts.c |  521 +++++++++++++++++++++++++++++
 3 files changed, 535 insertions(+), 1 deletions(-)
 create mode 100644 drivers/input/touchscreen/cy8ctmg110_ts.c


diff --git a/drivers/input/touchscreen/Kconfig b/drivers/input/touchscreen/Kconfig
index b3ba374..89a3eb1 100644
--- a/drivers/input/touchscreen/Kconfig
+++ b/drivers/input/touchscreen/Kconfig
@@ -591,4 +591,16 @@ config TOUCHSCREEN_TPS6507X
 	  To compile this driver as a module, choose M here: the
 	  module will be called tps6507x_ts.
 
+config TOUCHSCREEN_CY8CTMG110
+	tristate "cy8ctmg110 touchscreen"
+	depends on I2C
+	help
+	  Say Y here if you have a cy8ctmg110 touchscreen capacitive
+	  touchscreen
+
+	  If unsure, say N.
+
+	  To compile this driver as a module, choose M here: the
+	  module will be called cy8ctmg110_ts.
+
 endif
diff --git a/drivers/input/touchscreen/Makefile b/drivers/input/touchscreen/Makefile
index dfb7239..c7acb65 100644
--- a/drivers/input/touchscreen/Makefile
+++ b/drivers/input/touchscreen/Makefile
@@ -1,5 +1,5 @@
 #
-# Makefile for the touchscreen drivers.
+# Makefile for the touchscreen drivers.mororor
 #
 
 # Each configuration option enables a list of files.
@@ -12,6 +12,7 @@ obj-$(CONFIG_TOUCHSCREEN_AD7879)	+= ad7879.o
 obj-$(CONFIG_TOUCHSCREEN_ADS7846)	+= ads7846.o
 obj-$(CONFIG_TOUCHSCREEN_ATMEL_TSADCC)	+= atmel_tsadcc.o
 obj-$(CONFIG_TOUCHSCREEN_BITSY)		+= h3600_ts_input.o
+obj-$(CONFIG_TOUCHSCREEN_CY8CTMG110)    += cy8ctmg110_ts.o
 obj-$(CONFIG_TOUCHSCREEN_DYNAPRO)	+= dynapro.o
 obj-$(CONFIG_TOUCHSCREEN_GUNZE)		+= gunze.o
 obj-$(CONFIG_TOUCHSCREEN_EETI)		+= eeti_ts.o
diff --git a/drivers/input/touchscreen/cy8ctmg110_ts.c b/drivers/input/touchscreen/cy8ctmg110_ts.c
new file mode 100644
index 0000000..4adbe87
--- /dev/null
+++ b/drivers/input/touchscreen/cy8ctmg110_ts.c
@@ -0,0 +1,521 @@
+/*
+ * cy8ctmg110_ts.c Driver for cypress touch screen controller
+ * Copyright (c) 2009 Aava Mobile
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <linux/module.h>
+#include <linux/kernel.h>
+#include <linux/input.h>
+#include <linux/slab.h>
+#include <linux/interrupt.h>
+#include <asm/io.h>
+#include <linux/i2c.h>
+#include <linux/timer.h>
+#include <linux/gpio.h>
+#include <linux/hrtimer.h>
+
+#include <linux/platform_device.h>
+#include <linux/delay.h>
+#include <linux/fs.h>
+#include <asm/ioctl.h>
+#include <asm/uaccess.h>
+#include <linux/device.h>
+#include <linux/module.h>
+#include <linux/platform_device.h>
+#include <linux/delay.h>
+#include <linux/fs.h>
+#include <asm/ioctl.h>
+#include <linux/fs.h>
+#include <linux/init.h>
+#include <linux/miscdevice.h>
+#include <linux/module.h>
+
+
+#define CY8CTMG110_DRIVER_NAME      "cy8ctmg110"
+
+
+/*HW definations*/
+#define CY8CTMG110_RESET_PIN_GPIO   43
+#define CY8CTMG110_IRQ_PIN_GPIO     59
+#define CY8CTMG110_I2C_ADDR         0x38
+#define CY8CTMG110_I2C_ADDR_EXT     0x39
+#define CY8CTMG110_I2C_ADDR_        0x2	/*i2c address first sample */
+#define CY8CTMG110_I2C_ADDR__       53	/*i2c address to FW where irq support missing */
+#define CY8CTMG110_TOUCH_IRQ        21
+#define CY8CTMG110_TOUCH_LENGHT     9787
+#define CY8CTMG110_SCREEN_LENGHT    8424
+
+
+/*Touch coordinates*/
+#define CY8CTMG110_X_MIN        0
+#define CY8CTMG110_Y_MIN        0
+#define CY8CTMG110_X_MAX        864
+#define CY8CTMG110_Y_MAX        480
+
+
+/*cy8ctmg110 registers defination*/
+#define CY8CTMG110_TOUCH_WAKEUP_TIME   0
+#define CY8CTMG110_TOUCH_SLEEP_TIME    2
+#define CY8CTMG110_TOUCH_X1            3
+#define CY8CTMG110_TOUCH_Y1            5
+#define CY8CTMG110_TOUCH_X2            7
+#define CY8CTMG110_TOUCH_Y2            9
+#define CY8CTMG110_FINGERS             11
+#define CY8CTMG110_GESTURE             12
+#define CY8CTMG110_REG_MAX             13
+
+#define CY8CTMG110_POLL_TIMER_DELAY  1000*1000*100
+#define TOUCH_MAX_I2C_FAILS          50
+
+/* Scale factors for coordinates */
+#define X_SCALE_FACTOR 9387/8424
+#define Y_SCALE_FACTOR 97/100
+
+/* For tracing */
+static int g_y_trace_coord = 0;
+module_param(g_y_trace_coord, int, 0600);
+
+/* Polling mode */
+static int polling = 0;
+module_param(polling, int, 0);
+MODULE_PARM_DESC(polling, "Set to enabling polling of the touchscreen");
+
+
+/*
+ * The touch position structure.
+ */
+struct ts_event {
+	int x1;
+	int y1;
+	int x2;
+	int y2;
+	bool event_sended;
+};
+
+/*
+ * The touch driver structure.
+ */
+struct cy8ctmg110 {
+	struct input_dev *input;
+	char phys[32];
+	struct ts_event tc;
+	struct i2c_client *client;
+	bool pending;
+	spinlock_t lock;
+	bool initController;
+	bool sleepmode;
+	int i2c_fail_count;
+	struct hrtimer timer;
+};
+
+/*
+ * cy8ctmg110_poweroff is the routine that is called when touch hardware 
+ * will powered off
+ */
+static void cy8ctmg110_power(bool poweron)
+{
+	if (poweron)
+		gpio_direction_output(CY8CTMG110_RESET_PIN_GPIO, 0);
+	else
+		gpio_direction_output(CY8CTMG110_RESET_PIN_GPIO, 1);
+}
+
+/*
+ * cy8ctmg110_write_req write regs to the i2c devices
+ * 
+ */
+static int cy8ctmg110_write_req(struct cy8ctmg110 *tsc, unsigned char reg,
+		unsigned char len, unsigned char *value)
+{
+	struct i2c_client *client = tsc->client;
+	unsigned int ret;
+	unsigned char i2c_data[] = { 0, 0, 0, 0, 0, 0 };
+	struct i2c_msg msg[] = {
+			{client->addr, 0, len + 1, i2c_data},
+			};
+
+	i2c_data[0] = reg;
+	memcpy(i2c_data + 1, value, len);
+
+	ret = i2c_transfer(client->adapter, msg, 1);
+	if (ret != 1) {
+		printk("cy8ctmg110 touch : i2c write data cmd failed \n");
+		return ret;
+	}
+	return 0;
+}
+
+/*
+ * cy8ctmg110_read_req read regs from i2c devise
+ * 
+ */
+
+static int cy8ctmg110_read_req(struct cy8ctmg110 *tsc,
+		unsigned char *i2c_data, unsigned char len, unsigned char cmd)
+{
+	struct i2c_client *client = tsc->client;
+	unsigned int ret;
+	unsigned char regs_cmd[2] = { 0, 0 };
+	struct i2c_msg msg1[] = {
+		{client->addr, 0, 1, regs_cmd},
+	};
+	struct i2c_msg msg2[] = {
+		{client->addr, I2C_M_RD, len, i2c_data},
+	};
+
+	regs_cmd[0] = cmd;
+
+	/* first write slave position to i2c devices */
+	ret = i2c_transfer(client->adapter, msg1, 1);
+	if (ret != 1) {
+		tsc->i2c_fail_count++;
+		return ret;
+	}
+
+	/* Second read data from position */
+	ret = i2c_transfer(client->adapter, msg2, 1);
+	if (ret != 1) {
+		tsc->i2c_fail_count++;
+		return ret;
+	}
+	return 0;
+}
+
+/*
+ * cy8ctmg110_send_event delevery touch event to the userpace
+ * function use normal input interface
+ */
+static void cy8ctmg110_send_event(void *tsc)
+{
+	struct cy8ctmg110 *ts = tsc;
+	struct input_dev *input = ts->input;
+	u16 x, y;
+	u16 x2, y2;
+
+	x = ts->tc.x1;
+	y = ts->tc.y1;
+
+	if (ts->tc.event_sended == false) {
+		input_report_key(input, BTN_TOUCH, 1);
+		ts->pending = true;
+		x2 = (u16) (y * X_SCALE_FACTOR);
+		y2 = (u16) (x * Y_SCALE_FACTOR);
+		input_report_abs(input, ABS_X, x2);
+		input_report_abs(input, ABS_Y, y2);
+		input_sync(input);
+		if (g_y_trace_coord)
+			printk("cy8ctmg110 touch position X:%d (was = %d) Y:%d (was = %d)\n", x2, y, y2, x);
+	}
+
+}
+
+/*
+ * cy8ctmg110_touch_pos check touch position from i2c devices
+ * 
+ */
+static int cy8ctmg110_touch_pos(struct cy8ctmg110 *tsc)
+{
+	unsigned char reg_p[CY8CTMG110_REG_MAX];
+	int x, y;
+
+	memset(reg_p, 0, CY8CTMG110_REG_MAX);
+
+	/*Reading coordinates */
+	if (cy8ctmg110_read_req(tsc, reg_p, 9, CY8CTMG110_TOUCH_X1) != 0)
+		return -EIO;
+		
+	y = reg_p[2] << 8 | reg_p[3];
+	x = reg_p[0] << 8 | reg_p[1];
+		/*number of touch */
+	if (reg_p[8] == 0) {
+		if (tsc->pending == true) {
+			struct input_dev *input = tsc->input;
+
+			input_report_key(input, BTN_TOUCH, 0);
+			tsc->tc.event_sended = true;
+			tsc->pending = false;
+		}
+	} else if (tsc->tc.x1 != x || tsc->tc.y1 != y) {
+		tsc->tc.y1 = y;
+		tsc->tc.x1 = x;
+		tsc->tc.event_sended = false;
+		cy8ctmg110_send_event(tsc);
+	}
+	return 0;
+}
+
+/*
+ * if interrupt isn't in use the touch positions can reads by polling
+ * 
+ */
+static enum hrtimer_restart cy8ctmg110_timer(struct hrtimer *handle)
+{
+	struct cy8ctmg110 *ts = container_of(handle, struct cy8ctmg110, timer);
+	unsigned long flags;
+
+	spin_lock_irqsave(&ts->lock, flags);
+
+	cy8ctmg110_touch_pos(ts);
+	if (ts->i2c_fail_count < TOUCH_MAX_I2C_FAILS)
+		hrtimer_start(&ts->timer, ktime_set(0, CY8CTMG110_POLL_TIMER_DELAY), HRTIMER_MODE_REL);
+
+	spin_unlock_irqrestore(&ts->lock, flags);
+	return HRTIMER_NORESTART;
+}
+
+/*
+ * cy8ctmg110_init_controller set init value to touchcontroller
+ * 
+ */
+static bool cy8ctmg110_set_sleepmode(struct cy8ctmg110 *ts)
+{
+	unsigned char reg_p[3];
+
+	if (ts->sleepmode == true) {
+		reg_p[0] = 0x00;
+		reg_p[1] = 0xff;
+		reg_p[2] = 5;
+	} else {
+		reg_p[0] = 0x10;
+		reg_p[1] = 0xff;
+		reg_p[2] = 0;
+	}
+
+	if (cy8ctmg110_write_req(ts, CY8CTMG110_TOUCH_WAKEUP_TIME, 3, reg_p))
+		return false;
+
+	ts->initController = true;
+	return true;
+}
+
+/*
+ * cy8ctmg110_irq_handler irq handling function
+ * 
+ */
+
+static irqreturn_t cy8ctmg110_irq_handler(int irq, void *dev_id)
+{
+	struct cy8ctmg110 *tsc = (struct cy8ctmg110 *) dev_id;
+
+	if (tsc->initController == false) {
+		if (cy8ctmg110_set_sleepmode(tsc) == true)
+			tsc->initController = true;
+	} else
+		cy8ctmg110_touch_pos(tsc);
+
+	/* if interrupt supported in the touch controller
+	   timer polling need to stop */
+	tsc->i2c_fail_count = TOUCH_MAX_I2C_FAILS;
+	return IRQ_HANDLED;
+}
+
+
+static int cy8ctmg110_probe(struct i2c_client *client, const struct i2c_device_id *id)
+{
+	struct cy8ctmg110 *ts;
+	struct input_dev *input_dev;
+	int err;
+	client->irq = CY8CTMG110_TOUCH_IRQ;
+
+	if (!i2c_check_functionality(client->adapter,
+					I2C_FUNC_SMBUS_READ_WORD_DATA))
+		return -EIO;
+
+	ts = kzalloc(sizeof(struct cy8ctmg110), GFP_KERNEL);
+	input_dev = input_allocate_device();
+
+	if (!ts || !input_dev) {
+		err = -ENOMEM;
+		goto err_free_mem;
+	}
+
+	ts->client = client;
+	i2c_set_clientdata(client, ts);
+
+	ts->input = input_dev;
+	ts->pending = false;
+	ts->sleepmode = false;
+
+	snprintf(ts->phys, sizeof(ts->phys), "%s/input0",
+						dev_name(&client->dev));
+
+	input_dev->name = CY8CTMG110_DRIVER_NAME " Touchscreen";
+	input_dev->phys = ts->phys;
+	input_dev->id.bustype = BUS_I2C;
+
+	spin_lock_init(&ts->lock);
+
+	input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_REP) |
+					BIT_MASK(EV_REL) | BIT_MASK(EV_ABS);
+	input_dev->keybit[BIT_WORD(BTN_TOUCH)] = BIT_MASK(BTN_TOUCH);
+
+	input_set_capability(input_dev, EV_KEY, KEY_F);
+
+	input_set_abs_params(input_dev, ABS_X, CY8CTMG110_X_MIN, CY8CTMG110_X_MAX, 0, 0);
+	input_set_abs_params(input_dev, ABS_Y, CY8CTMG110_Y_MIN, CY8CTMG110_Y_MAX, 0, 0);
+
+	err = gpio_request(CY8CTMG110_RESET_PIN_GPIO, NULL);
+
+	if (err) {
+		dev_err(&client->dev, "cy8ctmg110_ts: Unable to request GPIO pin %d.\n",
+						CY8CTMG110_RESET_PIN_GPIO);
+		goto err_free_irq;
+	}
+	cy8ctmg110_power(true);
+
+	ts->initController = false;
+	ts->i2c_fail_count = 0;
+
+	hrtimer_init(&ts->timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL);
+	ts->timer.function = cy8ctmg110_timer;
+
+	if (polling)
+		hrtimer_start(&ts->timer, ktime_set(10, 0), HRTIMER_MODE_REL);
+
+	/* Can we fall back to polling if these bits fail - something to look
+	   at for robustness */
+
+	err = gpio_request(CY8CTMG110_IRQ_PIN_GPIO, "touch_irq_key");
+	if (err < 0) {
+		dev_err(&client->dev,
+			"cy8ctmg110_ts: failed to request GPIO %d, error %d\n",
+						CY8CTMG110_IRQ_PIN_GPIO, err);
+		goto err_free_timer;
+	}
+
+	err = gpio_direction_input(CY8CTMG110_IRQ_PIN_GPIO);
+
+	if (err < 0) {
+		dev_err(&client->dev,
+			"cy8ctmg110_ts: failed to configure input direction for GPIO %d, error %d\n",
+						CY8CTMG110_IRQ_PIN_GPIO, err);
+		goto err_free_gpio;
+	}
+	client->irq = gpio_to_irq(CY8CTMG110_IRQ_PIN_GPIO);
+
+	if (client->irq < 0) {
+		err = client->irq;
+		dev_err(&client->dev,
+	"cy8ctmg110_ts: Unable to get irq number" " for GPIO %d, error %d\n",
+						CY8CTMG110_IRQ_PIN_GPIO, err);
+		goto err_free_gpio;
+	}
+	err = request_irq(client->irq, cy8ctmg110_irq_handler, IRQF_TRIGGER_RISING | IRQF_SHARED, "touch_reset_key", ts);
+	if (err < 0) {
+		dev_err(&client->dev,
+			"cy8ctmg110 irq %d busy? error %d\n",
+				client->irq, err);
+		goto err_free_gpio;
+	}
+
+	err = input_register_device(input_dev);
+	if (!err)
+		return 0;
+err_free_gpio:
+	gpio_free(CY8CTMG110_IRQ_PIN_GPIO);
+err_free_timer:
+	if (polling)
+		hrtimer_cancel(&ts->timer);
+err_free_irq:
+	free_irq(client->irq, ts);
+err_free_mem:
+	input_free_device(input_dev);
+	kfree(ts);
+	return err;
+}
+
+/*
+ * cy8ctmg110_suspend
+ * 
+ */
+
+static int cy8ctmg110_suspend(struct i2c_client *client, pm_message_t mesg)
+{
+	if (device_may_wakeup(&client->dev))
+		enable_irq_wake(client->irq);
+
+	return 0;
+}
+
+/*
+ * cy8ctmg110_resume 
+ * 
+ */
+
+static int cy8ctmg110_resume(struct i2c_client *client)
+{
+	if (device_may_wakeup(&client->dev))
+		disable_irq_wake(client->irq);
+
+	return 0;
+}
+
+/*
+ * cy8ctmg110_remove
+ * 
+ */
+
+static int cy8ctmg110_remove(struct i2c_client *client)
+{
+	struct cy8ctmg110 *ts = i2c_get_clientdata(client);
+
+	cy8ctmg110_power(false);
+
+	if (polling)
+		hrtimer_cancel(&ts->timer);
+	free_irq(client->irq, ts);
+	input_unregister_device(ts->input);
+	/* FIXME: Do we need to free the GPIO ? */
+	kfree(ts);
+	return 0;
+}
+
+static struct i2c_device_id cy8ctmg110_idtable[] = {
+	{CY8CTMG110_DRIVER_NAME, 1},
+	{}
+};
+
+MODULE_DEVICE_TABLE(i2c, cy8ctmg110_idtable);
+
+static struct i2c_driver cy8ctmg110_driver = {
+	.driver = {
+		   .owner = THIS_MODULE,
+		   .name = CY8CTMG110_DRIVER_NAME,
+		   .bus = &i2c_bus_type,
+		   },
+	.id_table = cy8ctmg110_idtable,
+	.probe = cy8ctmg110_probe,
+	.remove = cy8ctmg110_remove,
+	.suspend = cy8ctmg110_suspend,
+	.resume = cy8ctmg110_resume,
+};
+
+static int __init cy8ctmg110_init(void)
+{
+	return i2c_add_driver(&cy8ctmg110_driver);
+}
+
+static void __exit cy8ctmg110_exit(void)
+{
+	i2c_del_driver(&cy8ctmg110_driver);
+}
+
+module_init(cy8ctmg110_init);
+module_exit(cy8ctmg110_exit);
+
+MODULE_AUTHOR("Samuli Konttila <samuli.konttila@aavamobile.com>");
+MODULE_DESCRIPTION("cy8ctmg110 TouchScreen Driver");
+MODULE_LICENSE("GPL v2");


^ permalink raw reply related	[flat|nested] 348+ messages in thread
[parent not found: <20100113004939.289333186@suse.com>]
* Re: [RFC PATCH 3/3a] ptrace: add _ptrace_may_access()
@ 2009-05-06 23:53 Oleg Nesterov
  2009-05-07  0:21 ` Roland McGrath
  0 siblings, 1 reply; 348+ messages in thread
From: Oleg Nesterov @ 2009-05-06 23:53 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: Andrew Morton, Chris Wright, Roland McGrath, linux-kernel

On 05/06, Ingo Molnar wrote:
>
> * Oleg Nesterov <oleg@redhat.com> wrote:
>
> > +	task_lock(task);
> >  	retval = __ptrace_may_access(task, PTRACE_MODE_ATTACH);
> > +	task_unlock(task);
> >  	if (retval)
> > -		goto bad;
> > +		goto unlock_creds;
>
> Hm, that's a bit ugly - why dont you reuse ptrace_may_access(),
> which does much of this already?

Indeed, even the changelog mentions this.

I was going to cleanup this later. Because I think that
__ptrace_may_access() should die. It has only one caller, mm_for_maps().
I will re-check, but it looks a bit strange. More precisely, I just
can't understand it. Why we can't just do

	struct mm_struct *mm_for_maps(struct task_struct *task)
	{
		struct mm_struct *mm = get_task_mm(task);

		if (mm && mm != current->mm && !ptrace_may_access()) {
			mmput(mm);
			mm = NULL;
		}

		return mm;
	}

? We do not care if this task exits and clears ->mm right before
or after ptrace_may_access(), and this is possible eith the current
code too once it drops tasklist.

Oleg.


^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2009-03-27 23:26 Eric Anholt
  2009-03-28  0:02 ` your mail Linus Torvalds
  0 siblings, 1 reply; 348+ messages in thread
From: Eric Anholt @ 2009-03-27 23:26 UTC (permalink / raw)
  To: Linus Torvalds, lkml, dri-devel

[-- Attachment #1: Type: text/plain, Size: 4382 bytes --]

The following changes since commit be0ea69674ed95e1e98cb3687a241badc756d228:
  Linus Torvalds (1):
        Merge branch 'for-linus' of git://git.kernel.org/.../penberg/slab-2.6

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel drm-intel-next

There's only one outside-of-i915 commit here (debugfs), and it's a
prereq for the i915 changes.  airlied said he'd pulled my version into
his tree, so we should be OK with it going in through my tree since he
hasn't send a pull request out.

Short summary: Fixing lock order reversals finally.  Piles of KMS fixes
as usual.  Support for an unreleased chipset.  And a bunch of
infrastructure for debugging info we're going to be adding in this
kernel so that just maybe we can get a better handle on these "I use my
machine for a few days and then the GPU falls over" bugs.

Ben Gamari (3):
      drm: Convert proc files to seq_file and introduce debugfs
      drm/i915: Convert i915 proc files to seq_file and move to debugfs.
      drm/i915: Consolidate gem object list dumping

Chris Wilson (2):
      drm/i915: Display fence register state in debugfs i915_gem_fence_regs node.
      drm/i915: Check for dev->primary->master before dereference.

Eric Anholt (8):
      drm/i915: Change DCC tiling detection case to cover only mobile parts.
      drm/i915: Fix lock order reversal in GTT pwrite path.
      drm/i915: Make GEM object's page lists refcounted instead of get/free.
      drm/i915: Fix lock order reversal in shmem pwrite path.
      drm/i915: Fix lock order reversal in shmem pread path.
      drm/i915: Fix lock order reversal with cliprects and cmdbuf in non-DRI2 paths.
      drm/i915: Fix lock order reversal in GEM relocation entry copying.
      drm/i915: Add information on pinning and fencing to the i915 list debug.

Kristian Høgsberg (1):
      drm/i915: Read the right SDVO register when detecting SVDO/HDMI.

Li Peng (1):
      drm/i915: Fix LVDS dither setting

Ma Ling (2):
      drm/i915: Use documented PLL timing limits for G4X platform
      drm/i915: Use a different PLL timing search function on G4X.

Owain G. Ainsworth (1):
      i915/drm: Remove two redundant agp_chipset_flushes

Shaohua Li (1):
      agp/intel: Add support for new intel chipset.

Zhao Yakui (2):
      drm/i915: Sync mode_valid/mode_set with intel video driver
      drm/i915: Sync crt hotplug detection with intel video driver

Zhenyu Wang (4):
      drm/i915: TV modes' parameters sync up with 2D driver
      drm/i915: Fix TV get_modes to return modes count
      drm/i915: TV mode_set sync up with 2D driver
      drm/i915: TV detection fix

 drivers/char/agp/intel-agp.c            |   21 +-
 drivers/gpu/drm/Makefile                |    3 +-
 drivers/gpu/drm/drm_debugfs.c           |  235 ++++++++
 drivers/gpu/drm/drm_drv.c               |   12 +-
 drivers/gpu/drm/drm_info.c              |  328 +++++++++++
 drivers/gpu/drm/drm_proc.c              |  721 ++++---------------------
 drivers/gpu/drm/drm_stub.c              |   15 +-
 drivers/gpu/drm/i915/Makefile           |    2 +-
 drivers/gpu/drm/i915/i915_dma.c         |  116 +++--
 drivers/gpu/drm/i915/i915_drv.c         |    6 +-
 drivers/gpu/drm/i915/i915_drv.h         |   21 +-
 drivers/gpu/drm/i915/i915_gem.c         |  898 +++++++++++++++++++++++++------
 drivers/gpu/drm/i915/i915_gem_debugfs.c |  257 +++++++++
 drivers/gpu/drm/i915/i915_gem_proc.c    |  334 ------------
 drivers/gpu/drm/i915/i915_gem_tiling.c  |   31 +-
 drivers/gpu/drm/i915/i915_reg.h         |   22 +-
 drivers/gpu/drm/i915/intel_bios.h       |   12 +-
 drivers/gpu/drm/i915/intel_crt.c        |   66 ++-
 drivers/gpu/drm/i915/intel_display.c    |  406 +++++++++++++-
 drivers/gpu/drm/i915/intel_lvds.c       |    2 +-
 drivers/gpu/drm/i915/intel_tv.c         |  148 +++---
 include/drm/drmP.h                      |   77 +++-
 include/drm/drm_pciids.h                |    2 +
 23 files changed, 2431 insertions(+), 1304 deletions(-)
 create mode 100644 drivers/gpu/drm/drm_debugfs.c
 create mode 100644 drivers/gpu/drm/drm_info.c
 create mode 100644 drivers/gpu/drm/i915/i915_gem_debugfs.c
 delete mode 100644 drivers/gpu/drm/i915/i915_gem_proc.c

-- 
Eric Anholt
eric@anholt.net                         eric.anholt@intel.com



[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 348+ messages in thread
[parent not found: <8F90F944E50427428C60E12A34A309D21C401BA619@carmd-exchmb01.sierrawireless.local>]
* (no subject)
@ 2009-03-11 10:47 Vitaly Mayatskikh
  2009-03-11 14:59 ` your mail Linus Torvalds
  0 siblings, 1 reply; 348+ messages in thread
From: Vitaly Mayatskikh @ 2009-03-11 10:47 UTC (permalink / raw)
  To: linux-kernel; +Cc: Linus Torvalds

Forgot to sign-off...

(v)scnprintf says it should return 0 when size is 0, but doesn't do
so. Also size_t is unsigned, it can't be less then 0. Fix the code and
comments.

Signed-off-by: Vitaly Mayatskikh <v.mayatskih@gmail.com>

diff --git a/lib/vsprintf.c b/lib/vsprintf.c
index 0fbd012..8e75c7e 100644
--- a/lib/vsprintf.c
+++ b/lib/vsprintf.c
@@ -947,7 +947,7 @@ EXPORT_SYMBOL(vsnprintf);
  * @args: Arguments for the format string
  *
  * The return value is the number of characters which have been written into
- * the @buf not including the trailing '\0'. If @size is <= 0 the function
+ * the @buf not including the trailing '\0'. If @size is == 0 the function
  * returns 0.
  *
  * Call this function if you are already dealing with a va_list.
@@ -958,7 +958,8 @@ EXPORT_SYMBOL(vsnprintf);
 int vscnprintf(char *buf, size_t size, const char *fmt, va_list args)
 {
        int i;
-
+       if (!size)
+               return 0;
        i=vsnprintf(buf,size,fmt,args);
        return (i >= size) ? (size - 1) : i;
 }
@@ -998,7 +999,7 @@ EXPORT_SYMBOL(snprintf);
  * @...: Arguments for the format string
  *
  * The return value is the number of characters written into @buf not including
- * the trailing '\0'. If @size is <= 0 the function returns 0.
+ * the trailing '\0'. If @size is == 0 the function returns 0.
  */
 
 int scnprintf(char * buf, size_t size, const char *fmt, ...)
@@ -1006,6 +1007,8 @@ int scnprintf(char * buf, size_t size, const char *fmt, ...)
        va_list args;
        int i;
 
+       if (!size)
+               return 0;
        va_start(args, fmt);
        i = vsnprintf(buf, size, fmt, args);
        va_end(args);

-- 
wbr, Vitaly

^ permalink raw reply related	[flat|nested] 348+ messages in thread
* (no subject)
@ 2009-02-13  0:45 Youngwhan Kim
  2009-02-13  3:40 ` your mail Johannes Weiner
  0 siblings, 1 reply; 348+ messages in thread
From: Youngwhan Kim @ 2009-02-13  0:45 UTC (permalink / raw)
  To: linux-kernel

unsubscribe



^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2009-01-19  2:54 Gao, Yunpeng
  2009-01-19  3:07 ` your mail Matthew Wilcox
  0 siblings, 1 reply; 348+ messages in thread
From: Gao, Yunpeng @ 2009-01-19  2:54 UTC (permalink / raw)
  To: linux-ia64; +Cc: linux-kernel

Hi all,

I have to use 64bit variable in my 2.6.27 kernel NAND driver as below:
---------------------------------------------------------------------------
u64 NAND_capacity;
unsigned int block_num, block_size;
...
block_num = NAND_capacity / block_size;
---------------------------------------------------------------------------
but it failed when compiling and reports 'undefined reference to `__udivdi3'.

Does any idea about this? I need to include some special head file or change something in Kconfig?

BTW, the environment is Fedora Core 9, gcc 4.3.0. 

Thanks a lot.

Rgds,
Yunpeng Gao



^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2009-01-13  6:10 Steven Rostedt
  2009-01-13 13:21 ` your mail Steven Rostedt
  0 siblings, 1 reply; 348+ messages in thread
From: Steven Rostedt @ 2009-01-13  6:10 UTC (permalink / raw)
  To: linux-kernel



^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2009-01-11  3:41 Jose Luis Marchetti
  2009-01-11  6:47 ` your mail Jesper Juhl
  0 siblings, 1 reply; 348+ messages in thread
From: Jose Luis Marchetti @ 2009-01-11  3:41 UTC (permalink / raw)
  To: linux-kernel

Hi,

I would like to open/read/write/close a regular file from my device
driver.
I think it would be possible, but I am confused, the "The Linux Kernel
Module Programming Guide" states that I can not use standard libraries
from within a module, I know the standard library ends up calling
system calls, but which calls should I use to deal with regular
files ?
I am developing a Ethernet driver and the Mac address configuration

Thanks in advance!

José Luís Marchetti


      Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com

^ permalink raw reply	[flat|nested] 348+ messages in thread
* Re: your mail
@ 2008-05-24 20:05 Thomas Gleixner
  2008-05-24 21:06 ` Daniel Walker
  0 siblings, 1 reply; 348+ messages in thread
From: Thomas Gleixner @ 2008-05-24 20:05 UTC (permalink / raw)
  To: Daniel Walker; +Cc: linux-kernel

On Sat, 24 May 2008, Daniel Walker wrote:
> > There is no kernel side controlled handover of a normal futex. The
> > woken up waiters race for it and a low prio thread on another CPU can
> > steal it even if there is a high prio waiter woken up.
> 
> After reading futex_wake, Doesn't it depend how many waiters are woken?
> Given that comes from userspace, glibc could wake a single waiter and
> obtain a priority ordering, couldn't it?

It could and it does. Still this does not protect against another
lower prio task taking the futex before the woken waiter can do it,
which is happening way more often than your theoretical setscheduler
case. Again, setscheduler is called in startup code of a program not
at arbitrary points during runtime, which rely on lock ordering.

> > The plist add on works correct in most of the cases, nothing else. To
> > achieve full correctness there is much more necessary than this
> > setscheduler issue. The plist changes were accepted because the
> > overhead is really minimal, but achieving full correctness would hurt
> > performance badly.
> 
> If that's the requirement then code that cleans up the corner case that
> I've identified, which is also minimal should be acceptable .. Since
> it's meeting the same requirement you layed out above for the original
> plist changes.

Your code solves the least to worry about corner case and hurts
performance for nothing. You take extra locks in the hot path for no
benefit.

Aside of that it introduces lock order problems and we can really do
without extra useless complexity in the futex code.

You can argue in circles. This is not going anywhere near mainline.

Thanks,
	tglx

^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2008-05-20 12:34 Lukas Hejtmanek
  2008-05-20 15:20 ` your mail Alan Stern
  0 siblings, 1 reply; 348+ messages in thread
From: Lukas Hejtmanek @ 2008-05-20 12:34 UTC (permalink / raw)
  To: Oliver Neukum
  Cc: Rafael J. Wysocki, Linux Kernel Mailing List, stern, greg, linux-usb

<stern@rowland.harvard.edu>, Greg KH <greg@kroah.com>
Bcc: 
Subject: Re: [Bug #10630] USB devices plugged into dock are not discoverred
	until reload of ehci-hcd
Reply-To: 
In-Reply-To: <200805201327.34678.oliver@neukum.org>
X-echelon: NSA, CIA, CI5, MI5, FBI, KGB, BIS, Plutonium, Bin Laden, bomb

On Tue, May 20, 2008 at 01:27:34PM +0200, Oliver Neukum wrote:
> > done.
> > http://bugzilla.kernel.org/show_bug.cgi?id=10630
> 
> Aha. Thanks.
> Please recompile without CONFIG_USB_SUSPEND

Hm, without USB_SUSPEND it works. So what next, considered fixed or any
further investigation is needed?

-- 
Lukáš Hejtmánek

^ permalink raw reply	[flat|nested] 348+ messages in thread
* Re: your mail
@ 2007-10-17 18:28 nicholas.thompson1
  0 siblings, 0 replies; 348+ messages in thread
From: nicholas.thompson1 @ 2007-10-17 18:28 UTC (permalink / raw)
  To: linux-kernel

>Nope, wrong clues.
>The right clues are in the footer of this message after it travels thru the list.
>
>I supplied them to Nicholas already, but apparently others need to be reminded of
>them every now and then  :-]   That footer is in these list messages for a reason!
>
>    /Matti Aarnio -- one of  <postmaster@vger.kernel.org>
>
>PS: You want to contact VGER's email and list managers ?
>    We use the internet email standard address "postmaster"
>

Jan, Matti, + List,
 I am very sorry about the noise, that's what I get for using cut and paste while tired and before my third cup of coffee. ;p Apologies.

Nick 

>>On Wed, Oct 17, 2007 at 06:36:19PM +0200, Jan Engelhardt wrote:
>> Date: Wed, 17 Oct 2007 18:36:19 +0200 (CEST)
>> From: Jan Engelhardt <jengelh@computergmbh.de>
>> To: nicholas.thompson1@mchsi.com
>> cc: linux-kernel@vger.kernel.org
>> Subject: Re: your mail
>> 
>> On Oct 17 2007 16:30, nicholas.thompson1@mchsi.com wrote:
>> >Date: Wed, 17 Oct 2007 16:30:24 +0000
>> >From:  <nicholas.thompson1@mchsi.com>
>> >To:  <linux-kernel@vger.kernel.org>
>>              ^^^^^^
> >>
> >>subscribe linux-alpha
>>                  ^^^^^

^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2007-10-17 16:30 nicholas.thompson1
  2007-10-17 16:36 ` your mail Jan Engelhardt
  0 siblings, 1 reply; 348+ messages in thread
From: nicholas.thompson1 @ 2007-10-17 16:30 UTC (permalink / raw)
  To: linux-kernel

subscribe linux-alpha

^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2007-09-24 20:44 Steven Rostedt
  2007-09-24 20:50 ` your mail Steven Rostedt
  0 siblings, 1 reply; 348+ messages in thread
From: Steven Rostedt @ 2007-09-24 20:44 UTC (permalink / raw)
  To: Jaswinder Singh; +Cc: linux-kernel, mingo, linux-rt-users

linux-rt-users@vger.kernel.org
Bcc: 
Subject: Re: realtime preemption performance difference
Reply-To: 
In-Reply-To: <3f9a31f40709240448h4a9e8337t437328b5c675ecd5@mail.gmail.com>

On Mon, Sep 24, 2007 at 05:18:01PM +0530, Jaswinder Singh wrote:
> Hi all,
> 
> I want to check performance difference by using realtime preemption patch :
> 
> http://www.kernel.org/pub/linux/kernel/projects/rt/
> 
> Please let me know from where I can download samples to test realtime
> preemption performance difference.
> 
> Can someone please share performance numbers for your hardware:-
> 
> 1. Interrupt latency
> 2. Task switching time
> 3. hard-realtime scheduling latency
> 

see http://rt.wiki.kernel.org/index.php/Main_Page

There's also an RT mailing list for users (CC'd).

-- Steve

^ permalink raw reply	[flat|nested] 348+ messages in thread
* Re: [PATCH 0/24] make atomic_read() behave consistently across all architectures
@ 2007-08-15 13:53 Stefan Richter
  2007-08-15 14:35 ` Satyam Sharma
  0 siblings, 1 reply; 348+ messages in thread
From: Stefan Richter @ 2007-08-15 13:53 UTC (permalink / raw)
  To: Heiko Carstens
  Cc: Herbert Xu, Chris Snook, satyam, clameter, linux-kernel,
	linux-arch, torvalds, netdev, akpm, ak, davem, schwidefsky,
	wensong, horms, wjiang, cfriesen, zlynx, rpjday, jesper.juhl,
	segher

On 8/15/2007 10:18 AM, Heiko Carstens wrote:
> On Wed, Aug 15, 2007 at 02:49:03PM +0800, Herbert Xu wrote:
>> Chris Snook <csnook@redhat.com> wrote:
>> > 
>> > Because atomic operations are generally used for synchronization, which requires 
>> > volatile behavior.  Most such codepaths currently use an inefficient barrier(). 
>> >  Some forget to and we get bugs, because people assume that atomic_read() 
>> > actually reads something, and atomic_write() actually writes something.  Worse, 
>> > these are architecture-specific, even compiler version-specific bugs that are 
>> > often difficult to track down.
>> 
>> I'm yet to see a single example from the current tree where
>> this patch series is the correct solution.  So far the only
>> example has been a buggy piece of code which has since been
>> fixed with a cpu_relax.
> 
> Btw.: we still have
> 
> include/asm-i386/mach-es7000/mach_wakecpu.h:  while (!atomic_read(deassert));
> include/asm-i386/mach-default/mach_wakecpu.h: while (!atomic_read(deassert));
> 
> Looks like they need to be fixed as well.


I don't know if this here is affected:

/* drivers/ieee1394/ieee1394_core.h */
static inline unsigned int get_hpsb_generation(struct hpsb_host *host)
{
	return atomic_read(&host->generation);
}

/* drivers/ieee1394/nodemgr.c */
static int nodemgr_host_thread(void *__hi)
{
	[...]

	for (;;) {
		[... sleep until bus reset event ...]

		/* Pause for 1/4 second in 1/16 second intervals,
		 * to make sure things settle down. */
		g = get_hpsb_generation(host);
		for (i = 0; i < 4 ; i++) {
			if (msleep_interruptible(63) ||
			    kthread_should_stop())
				goto exit;

	/* Now get the generation in which the node ID's we collect
	 * are valid.  During the bus scan we will use this generation
	 * for the read transactions, so that if another reset occurs
	 * during the scan the transactions will fail instead of
	 * returning bogus data. */

			generation = get_hpsb_generation(host);

	/* If we get a reset before we are done waiting, then
	 * start the waiting over again */

			if (generation != g)
				g = generation, i = 0;
		}

		[... scan bus, using generation ...]

	}
exit:
[...]
}



-- 
Stefan Richter
-=====-=-=== =--- -====
http://arcgraph.de/sr/

^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2007-05-16 13:30 Bob Picco
  2007-05-16 16:43 ` your mail Linas Vepstas
  0 siblings, 1 reply; 348+ messages in thread
From: Bob Picco @ 2007-05-16 13:30 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel, linuxppc-dev

bob.picco@hp.com
Bcc: 
Subject: Re: 2.6.22-rc1-mm1 powerpc build breakage
Reply-To: 
In-Reply-To: <20070515201914.16944e04.akpm@linux-foundation.org>

/usr/src/linux-2.6.22-rc1-mm1/drivers/pci/hotplug/rpadlpar_sysfs.c:132: error: unknown field `subsys' specified in initializer
/usr/src/linux-2.6.22-rc1-mm1/drivers/pci/hotplug/rpadlpar_sysfs.c:132: warning: initialization from incompatible pointer type
make[4]: *** [drivers/pci/hotplug/rpadlpar_sysfs.o] Error 1
make[3]: *** [drivers/pci/hotplug] Error 2
make[2]: *** [drivers/pci] Error 2
make[1]: *** [drivers] Error 2
make: *** [_all] Error 2


#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.22-rc1-mm1
# Wed May 16 06:51:38 2007
#
CONFIG_PPC64=y
CONFIG_64BIT=y
CONFIG_PPC_MERGE=y
CONFIG_MMU=y
CONFIG_GENERIC_HARDIRQS=y
CONFIG_IRQ_PER_CPU=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_ARCH_HAS_ILOG2_U32=y
CONFIG_ARCH_HAS_ILOG2_U64=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_GENERIC_FIND_NEXT_BIT=y
CONFIG_PPC=y
CONFIG_EARLY_PRINTK=y
CONFIG_COMPAT=y
CONFIG_SYSVIPC_COMPAT=y
CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_PPC_OF=y
CONFIG_PPC_UDBG_16550=y
CONFIG_GENERIC_TBSYNC=y
CONFIG_AUDIT_ARCH=y
CONFIG_GENERIC_BUG=y
# CONFIG_DEFAULT_UIMAGE is not set

#
# Processor support
#
# CONFIG_POWER4_ONLY is not set
CONFIG_POWER3=y
CONFIG_POWER4=y
CONFIG_PPC_FPU=y
# CONFIG_PPC_DCR_NATIVE is not set
# CONFIG_PPC_DCR_MMIO is not set
# CONFIG_PPC_OF_PLATFORM_PCI is not set
# CONFIG_ALTIVEC is not set
CONFIG_PPC_STD_MMU=y
CONFIG_PPC_MM_SLICES=y
CONFIG_VIRT_CPU_ACCOUNTING=y
CONFIG_SMP=y
CONFIG_NR_CPUS=32
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"

#
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y
CONFIG_LOCK_KERNEL=y
CONFIG_INIT_ENV_ARG_LIMIT=32

#
# General setup
#
CONFIG_LOCALVERSION=""
CONFIG_LOCALVERSION_AUTO=y
CONFIG_SWAP=y
CONFIG_SWAP_PREFETCH=y
CONFIG_SYSVIPC=y
# CONFIG_IPC_NS is not set
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_POSIX_MQUEUE=y
# CONFIG_BSD_PROCESS_ACCT is not set
# CONFIG_TASKSTATS is not set
# CONFIG_UTS_NS is not set
# CONFIG_AUDIT is not set
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=17
# CONFIG_CPUSETS is not set
CONFIG_SYSFS_DEPRECATED=y
# CONFIG_RELAY is not set
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_SYSCTL=y
# CONFIG_EMBEDDED is not set
CONFIG_SYSCTL_SYSCALL=y
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_ALL is not set
# CONFIG_KALLSYMS_EXTRA_PASS is not set
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_ANON_INODES=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_SLAB=y
# CONFIG_SLUB is not set
# CONFIG_SLOB is not set
CONFIG_PROC_SMAPS=y
CONFIG_PROC_CLEAR_REFS=y
CONFIG_PROC_PAGEMAP=y
CONFIG_PROC_KPAGEMAP=y
CONFIG_RT_MUTEXES=y
# CONFIG_TINY_SHMEM is not set
CONFIG_BASE_SMALL=0
# CONFIG_MODULES is not set
CONFIG_BLOCK=y
# CONFIG_BLK_DEV_IO_TRACE is not set

#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=y
CONFIG_DEFAULT_AS=y
# CONFIG_DEFAULT_DEADLINE is not set
# CONFIG_DEFAULT_CFQ is not set
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="anticipatory"

#
# Platform support
#
CONFIG_PPC_MULTIPLATFORM=y
# CONFIG_EMBEDDED6xx is not set
# CONFIG_APUS is not set
CONFIG_PPC_PSERIES=y
# CONFIG_PPC_SPLPAR is not set
CONFIG_EEH=y
CONFIG_SCANLOG=y
CONFIG_LPARCFG=y
# CONFIG_PPC_ISERIES is not set
# CONFIG_PPC_MPC52xx is not set
# CONFIG_PPC_MPC5200 is not set
# CONFIG_PPC_PMAC is not set
# CONFIG_PPC_MAPLE is not set
CONFIG_PPC_PASEMI=y

#
# PA Semi PWRficient options
#
# CONFIG_PPC_PASEMI_IOMMU is not set
CONFIG_PPC_PASEMI_MDIO=y
# CONFIG_PPC_CELLEB is not set
# CONFIG_PPC_PS3 is not set
# CONFIG_PPC_CELL is not set
# CONFIG_PPC_CELL_NATIVE is not set
# CONFIG_PPC_IBM_CELL_BLADE is not set
# CONFIG_PQ2ADS is not set
CONFIG_PPC_NATIVE=y
# CONFIG_UDBG_RTAS_CONSOLE is not set
CONFIG_XICS=y
CONFIG_MPIC=y
# CONFIG_MPIC_WEIRD is not set
CONFIG_PPC_I8259=y
# CONFIG_U3_DART is not set
CONFIG_PPC_RTAS=y
CONFIG_RTAS_ERROR_LOGGING=y
CONFIG_RTAS_PROC=y
CONFIG_RTAS_FLASH=y
# CONFIG_MMIO_NVRAM is not set
CONFIG_IBMVIO=y
CONFIG_IBMEBUS=y
# CONFIG_PPC_MPC106 is not set
# CONFIG_PPC_970_NAP is not set
# CONFIG_PPC_INDIRECT_IO is not set
# CONFIG_GENERIC_IOMAP is not set
# CONFIG_CPU_FREQ is not set
# CONFIG_CPM2 is not set

#
# Kernel options
#
# CONFIG_HZ_100 is not set
CONFIG_HZ_250=y
# CONFIG_HZ_300 is not set
# CONFIG_HZ_1000 is not set
CONFIG_HZ=250
CONFIG_PREEMPT_NONE=y
# CONFIG_PREEMPT_VOLUNTARY is not set
# CONFIG_PREEMPT is not set
CONFIG_PREEMPT_BKL=y
CONFIG_BINFMT_ELF=y
# CONFIG_BINFMT_MISC is not set
CONFIG_FORCE_MAX_ZONEORDER=13
# CONFIG_IOMMU_VMERGE is not set
# CONFIG_HOTPLUG_CPU is not set
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
# CONFIG_KEXEC is not set
# CONFIG_CRASH_DUMP is not set
# CONFIG_IRQ_ALL_CPUS is not set
CONFIG_NUMA=y
CONFIG_NODES_SHIFT=4
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SPARSEMEM_DEFAULT=y
CONFIG_ARCH_POPULATES_NODE_MAP=y
CONFIG_SELECT_MEMORY_MODEL=y
# CONFIG_FLATMEM_MANUAL is not set
# CONFIG_DISCONTIGMEM_MANUAL is not set
CONFIG_SPARSEMEM_MANUAL=y
CONFIG_SPARSEMEM=y
CONFIG_NEED_MULTIPLE_NODES=y
CONFIG_HAVE_MEMORY_PRESENT=y
# CONFIG_SPARSEMEM_STATIC is not set
CONFIG_SPARSEMEM_EXTREME=y
# CONFIG_MEMORY_HOTPLUG is not set
CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_MIGRATION=y
CONFIG_RESOURCES_64BIT=y
CONFIG_ZONE_DMA_FLAG=1
CONFIG_NODES_SPAN_OTHER_NODES=y
# CONFIG_PPC_HAS_HASH_64K is not set
# CONFIG_PPC_64K_PAGES is not set
CONFIG_SCHED_SMT=y
CONFIG_PROC_DEVICETREE=y
# CONFIG_CMDLINE_BOOL is not set
# CONFIG_PM is not set
CONFIG_SECCOMP=y
# CONFIG_WANT_DEVICE_TREE is not set
CONFIG_ISA_DMA_API=y

#
# Bus options
#
CONFIG_ZONE_DMA=y
CONFIG_GENERIC_ISA_DMA=y
# CONFIG_PPC_INDIRECT_PCI is not set
CONFIG_PCI=y
CONFIG_PCI_DOMAINS=y
# CONFIG_PCIEPORTBUS is not set
CONFIG_ARCH_SUPPORTS_MSI=y
CONFIG_PCI_MSI=y
# CONFIG_PCI_DEBUG is not set
# CONFIG_PCCARD is not set
CONFIG_HOTPLUG_PCI=y
# CONFIG_HOTPLUG_PCI_FAKE is not set
# CONFIG_HOTPLUG_PCI_CPCI is not set
# CONFIG_HOTPLUG_PCI_SHPC is not set
CONFIG_HOTPLUG_PCI_RPA=y
CONFIG_HOTPLUG_PCI_RPA_DLPAR=y
CONFIG_KERNEL_START=0xc000000000000000

#
# Networking
#
CONFIG_NET=y

#
# Networking options
#
CONFIG_PACKET=y
# CONFIG_PACKET_MMAP is not set
CONFIG_UNIX=y
CONFIG_XFRM=y
CONFIG_XFRM_USER=y
# CONFIG_XFRM_SUB_POLICY is not set
# CONFIG_XFRM_MIGRATE is not set
CONFIG_NET_KEY=y
# CONFIG_NET_KEY_MIGRATE is not set
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
# CONFIG_IP_ADVANCED_ROUTER is not set
CONFIG_IP_FIB_HASH=y
# CONFIG_IP_PNP is not set
CONFIG_NET_IPIP=y
# CONFIG_NET_IPGRE is not set
# CONFIG_IP_MROUTE is not set
# CONFIG_ARPD is not set
CONFIG_SYN_COOKIES=y
CONFIG_INET_AH=y
CONFIG_INET_ESP=y
CONFIG_INET_IPCOMP=y
CONFIG_INET_XFRM_TUNNEL=y
CONFIG_INET_TUNNEL=y
CONFIG_INET_XFRM_MODE_TRANSPORT=y
CONFIG_INET_XFRM_MODE_TUNNEL=y
CONFIG_INET_XFRM_MODE_BEET=y
CONFIG_INET_DIAG=y
CONFIG_INET_TCP_DIAG=y
# CONFIG_TCP_CONG_ADVANCED is not set
CONFIG_TCP_CONG_CUBIC=y
CONFIG_DEFAULT_TCP_CONG="cubic"
# CONFIG_TCP_MD5SIG is not set
# CONFIG_IP_VS is not set
# CONFIG_IPV6 is not set
# CONFIG_INET6_XFRM_TUNNEL is not set
# CONFIG_INET6_TUNNEL is not set
# CONFIG_NETWORK_SECMARK is not set
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set

#
# Core Netfilter Configuration
#
# CONFIG_NETFILTER_NETLINK is not set
# CONFIG_NF_CONNTRACK_ENABLED is not set
# CONFIG_NF_CONNTRACK is not set
# CONFIG_NETFILTER_XTABLES is not set

#
# IP: Netfilter Configuration
#
CONFIG_IP_NF_QUEUE=y
# CONFIG_IP_NF_IPTABLES is not set
# CONFIG_IP_NF_ARPTABLES is not set
# CONFIG_IP_DCCP is not set
# CONFIG_IP_SCTP is not set
# CONFIG_TIPC is not set
# CONFIG_ATM is not set
# CONFIG_BRIDGE is not set
# CONFIG_VLAN_8021Q is not set
# CONFIG_DECNET is not set
# CONFIG_LLC2 is not set
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set

#
# QoS and/or fair queueing
#
# CONFIG_NET_SCHED is not set

#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
# CONFIG_HAMRADIO is not set
# CONFIG_IRDA is not set
# CONFIG_BT is not set
# CONFIG_AF_RXRPC is not set

#
# Wireless
#
# CONFIG_CFG80211 is not set
# CONFIG_WIRELESS_EXT is not set
# CONFIG_MAC80211 is not set
# CONFIG_IEEE80211 is not set
# CONFIG_RFKILL is not set

#
# Device Drivers
#

#
# Generic Driver Options
#
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
# CONFIG_DEBUG_DRIVER is not set
# CONFIG_DEBUG_DEVRES is not set
# CONFIG_SYS_HYPERVISOR is not set
# CONFIG_CONNECTOR is not set
# CONFIG_MTD is not set
# CONFIG_PARPORT is not set
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_FD=y
# CONFIG_BLK_CPQ_DA is not set
# CONFIG_BLK_CPQ_CISS_DA is not set
# CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set
# CONFIG_BLK_DEV_COW_COMMON is not set
CONFIG_BLK_DEV_LOOP=y
# CONFIG_BLK_DEV_CRYPTOLOOP is not set
CONFIG_BLK_DEV_NBD=y
# CONFIG_BLK_DEV_SX8 is not set
# CONFIG_BLK_DEV_UB is not set
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=4096
CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
# CONFIG_CDROM_PKTCDVD is not set
# CONFIG_ATA_OVER_ETH is not set
CONFIG_MISC_STRANGE_DEV=y
# CONFIG_PHANTOM is not set
# CONFIG_SGI_IOC4 is not set
# CONFIG_TIFM_CORE is not set
# CONFIG_BLINK is not set
# CONFIG_EEPROM_93CX6 is not set
CONFIG_IDE=y
CONFIG_BLK_DEV_IDE=y

#
# Please see Documentation/ide.txt for help/info on IDE drives
#
# CONFIG_BLK_DEV_IDE_SATA is not set
CONFIG_BLK_DEV_IDEDISK=y
# CONFIG_IDEDISK_MULTI_MODE is not set
CONFIG_BLK_DEV_IDECD=y
# CONFIG_BLK_DEV_IDETAPE is not set
# CONFIG_BLK_DEV_IDEFLOPPY is not set
# CONFIG_BLK_DEV_IDESCSI is not set
# CONFIG_IDE_TASK_IOCTL is not set
CONFIG_IDE_PROC_FS=y

#
# IDE chipset support/bugfixes
#
CONFIG_IDE_GENERIC=y
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_IDEPCI_SHARE_IRQ=y
CONFIG_IDEPCI_PCIBUS_ORDER=y
# CONFIG_BLK_DEV_OFFBOARD is not set
CONFIG_BLK_DEV_GENERIC=y
# CONFIG_BLK_DEV_OPTI621 is not set
CONFIG_BLK_DEV_IDEDMA_PCI=y
# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
# CONFIG_IDEDMA_ONLYDISK is not set
# CONFIG_BLK_DEV_AEC62XX is not set
# CONFIG_BLK_DEV_ALI15X3 is not set
# CONFIG_BLK_DEV_AMD74XX is not set
# CONFIG_BLK_DEV_CMD64X is not set
# CONFIG_BLK_DEV_TRIFLEX is not set
# CONFIG_BLK_DEV_CY82C693 is not set
# CONFIG_BLK_DEV_CS5520 is not set
# CONFIG_BLK_DEV_CS5530 is not set
# CONFIG_BLK_DEV_HPT34X is not set
# CONFIG_BLK_DEV_HPT366 is not set
# CONFIG_BLK_DEV_JMICRON is not set
# CONFIG_BLK_DEV_SC1200 is not set
# CONFIG_BLK_DEV_PIIX is not set
# CONFIG_BLK_DEV_IT8213 is not set
# CONFIG_BLK_DEV_IT821X is not set
# CONFIG_BLK_DEV_NS87415 is not set
# CONFIG_BLK_DEV_PDC202XX_OLD is not set
CONFIG_BLK_DEV_PDC202XX_NEW=y
# CONFIG_BLK_DEV_SVWKS is not set
# CONFIG_BLK_DEV_SIIMAGE is not set
CONFIG_BLK_DEV_SL82C105=y
# CONFIG_BLK_DEV_SLC90E66 is not set
# CONFIG_BLK_DEV_TRM290 is not set
# CONFIG_BLK_DEV_VIA82CXXX is not set
# CONFIG_BLK_DEV_TC86C001 is not set
# CONFIG_IDE_ARM is not set
CONFIG_BLK_DEV_IDEDMA=y
# CONFIG_IDEDMA_IVB is not set
# CONFIG_BLK_DEV_HD is not set

#
# SCSI device support
#
# CONFIG_RAID_ATTRS is not set
CONFIG_SCSI=y
# CONFIG_SCSI_TGT is not set
CONFIG_SCSI_NETLINK=y
CONFIG_SCSI_PROC_FS=y

#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=y
# CONFIG_CHR_DEV_OSST is not set
CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_CHR_DEV_SG=y
# CONFIG_CHR_DEV_SCH is not set

#
# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
#
CONFIG_SCSI_MULTI_LUN=y
CONFIG_SCSI_CONSTANTS=y
# CONFIG_SCSI_LOGGING is not set
# CONFIG_SCSI_SCAN_ASYNC is not set

#
# SCSI Transports
#
CONFIG_SCSI_SPI_ATTRS=y
CONFIG_SCSI_FC_ATTRS=y
# CONFIG_SCSI_ISCSI_ATTRS is not set
# CONFIG_SCSI_SAS_ATTRS is not set
# CONFIG_SCSI_SAS_LIBSAS is not set
CONFIG_SCSI_LOWLEVEL=y
# CONFIG_ISCSI_TCP is not set
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
# CONFIG_SCSI_3W_9XXX is not set
# CONFIG_SCSI_ACARD is not set
# CONFIG_SCSI_AACRAID is not set
# CONFIG_SCSI_AIC7XXX is not set
# CONFIG_SCSI_AIC7XXX_OLD is not set
# CONFIG_SCSI_AIC79XX is not set
# CONFIG_SCSI_AIC94XX is not set
# CONFIG_SCSI_ARCMSR is not set
# CONFIG_MEGARAID_NEWGEN is not set
# CONFIG_MEGARAID_LEGACY is not set
# CONFIG_MEGARAID_SAS is not set
# CONFIG_SCSI_HPTIOP is not set
# CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_SCSI_DMX3191D is not set
# CONFIG_SCSI_EATA is not set
# CONFIG_SCSI_FUTURE_DOMAIN is not set
# CONFIG_SCSI_GDTH is not set
CONFIG_SCSI_IPS=y
CONFIG_SCSI_IBMVSCSI=y
# CONFIG_SCSI_INITIO is not set
# CONFIG_SCSI_INIA100 is not set
# CONFIG_SCSI_STEX is not set
CONFIG_SCSI_SYM53C8XX_2=y
CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=0
CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
CONFIG_SCSI_SYM53C8XX_MMIO=y
CONFIG_SCSI_IPR=y
CONFIG_SCSI_IPR_TRACE=y
CONFIG_SCSI_IPR_DUMP=y
# CONFIG_SCSI_QLOGIC_1280 is not set
# CONFIG_SCSI_QLA_FC is not set
# CONFIG_SCSI_QLA_ISCSI is not set
CONFIG_SCSI_LPFC=y
# CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_DC390T is not set
# CONFIG_SCSI_DEBUG is not set
# CONFIG_SCSI_ESP_CORE is not set
# CONFIG_SCSI_SRP is not set
CONFIG_ATA=y
# CONFIG_ATA_NONSTANDARD is not set
# CONFIG_SATA_AHCI is not set
# CONFIG_SATA_SVW is not set
# CONFIG_ATA_PIIX is not set
# CONFIG_SATA_MV is not set
# CONFIG_SATA_NV is not set
# CONFIG_PDC_ADMA is not set
# CONFIG_SATA_QSTOR is not set
# CONFIG_SATA_PROMISE is not set
# CONFIG_SATA_SX4 is not set
# CONFIG_SATA_SIL is not set
# CONFIG_SATA_SIL24 is not set
# CONFIG_SATA_SIS is not set
# CONFIG_SATA_ULI is not set
# CONFIG_SATA_VIA is not set
# CONFIG_SATA_VITESSE is not set
# CONFIG_SATA_INIC162X is not set
# CONFIG_PATA_ALI is not set
# CONFIG_PATA_AMD is not set
# CONFIG_PATA_ARTOP is not set
# CONFIG_PATA_ATIIXP is not set
# CONFIG_PATA_CMD640_PCI is not set
# CONFIG_PATA_CMD64X is not set
# CONFIG_PATA_CS5520 is not set
# CONFIG_PATA_CS5530 is not set
# CONFIG_PATA_CYPRESS is not set
# CONFIG_PATA_EFAR is not set
# CONFIG_ATA_GENERIC is not set
# CONFIG_PATA_HPT366 is not set
# CONFIG_PATA_HPT37X is not set
# CONFIG_PATA_HPT3X2N is not set
# CONFIG_PATA_HPT3X3 is not set
# CONFIG_PATA_IT821X is not set
# CONFIG_PATA_IT8213 is not set
# CONFIG_PATA_JMICRON is not set
# CONFIG_PATA_TRIFLEX is not set
# CONFIG_PATA_MARVELL is not set
# CONFIG_PATA_MPIIX is not set
# CONFIG_PATA_OLDPIIX is not set
# CONFIG_PATA_NETCELL is not set
# CONFIG_PATA_NS87410 is not set
# CONFIG_PATA_OPTI is not set
# CONFIG_PATA_OPTIDMA is not set
# CONFIG_PATA_PDC_OLD is not set
# CONFIG_PATA_RADISYS is not set
# CONFIG_PATA_RZ1000 is not set
# CONFIG_PATA_SC1200 is not set
# CONFIG_PATA_SERVERWORKS is not set
# CONFIG_PATA_PDC2027X is not set
# CONFIG_PATA_SIL680 is not set
# CONFIG_PATA_SIS is not set
# CONFIG_PATA_VIA is not set
# CONFIG_PATA_WINBOND is not set
CONFIG_MD=y
CONFIG_BLK_DEV_MD=y
CONFIG_MD_LINEAR=y
CONFIG_MD_RAID0=y
CONFIG_MD_RAID1=y
# CONFIG_MD_RAID10 is not set
# CONFIG_MD_RAID456 is not set
# CONFIG_MD_MULTIPATH is not set
# CONFIG_MD_FAULTY is not set
CONFIG_BLK_DEV_DM=y
# CONFIG_DM_DEBUG is not set
CONFIG_DM_CRYPT=y
CONFIG_DM_SNAPSHOT=y
CONFIG_DM_MIRROR=y
# CONFIG_DM_ZERO is not set
# CONFIG_DM_MULTIPATH is not set
# CONFIG_DM_DELAY is not set

#
# Fusion MPT device support
#
# CONFIG_FUSION is not set
# CONFIG_FUSION_SPI is not set
# CONFIG_FUSION_FC is not set
# CONFIG_FUSION_SAS is not set
CONFIG_IEEE1394_SUPPORT=y
# CONFIG_FIREWIRE is not set
# CONFIG_IEEE1394 is not set
# CONFIG_I2O is not set
CONFIG_MACINTOSH_DRIVERS=y
# CONFIG_MAC_EMUMOUSEBTN is not set
# CONFIG_WINDFARM is not set
CONFIG_NETDEVICES=y
CONFIG_DUMMY=y
CONFIG_BONDING=y
# CONFIG_EQUALIZER is not set
CONFIG_TUN=y
# CONFIG_ARCNET is not set
CONFIG_PHYLIB=y

#
# MII PHY device drivers
#
# CONFIG_MARVELL_PHY is not set
# CONFIG_DAVICOM_PHY is not set
# CONFIG_QSEMI_PHY is not set
# CONFIG_LXT_PHY is not set
# CONFIG_CICADA_PHY is not set
# CONFIG_VITESSE_PHY is not set
# CONFIG_SMSC_PHY is not set
# CONFIG_BROADCOM_PHY is not set
# CONFIG_FIXED_PHY is not set
CONFIG_NET_ETHERNET=y
CONFIG_MII=y
# CONFIG_HAPPYMEAL is not set
# CONFIG_SUNGEM is not set
# CONFIG_CASSINI is not set
# CONFIG_NET_VENDOR_3COM is not set
# CONFIG_NET_TULIP is not set
# CONFIG_HP100 is not set
CONFIG_IBMVETH=y
CONFIG_NET_PCI=y
CONFIG_PCNET32=y
# CONFIG_PCNET32_NAPI is not set
# CONFIG_AMD8111_ETH is not set
# CONFIG_ADAPTEC_STARFIRE is not set
# CONFIG_B44 is not set
# CONFIG_FORCEDETH is not set
# CONFIG_DGRS is not set
# CONFIG_EEPRO100 is not set
CONFIG_E100=y
# CONFIG_FEALNX is not set
# CONFIG_NATSEMI is not set
# CONFIG_NE2K_PCI is not set
# CONFIG_8139CP is not set
# CONFIG_8139TOO is not set
# CONFIG_SIS900 is not set
# CONFIG_EPIC100 is not set
# CONFIG_SUNDANCE is not set
# CONFIG_VIA_RHINE is not set
# CONFIG_SC92031 is not set
CONFIG_NETDEV_1000=y
# CONFIG_ACENIC is not set
# CONFIG_DL2K is not set
CONFIG_E1000=y
# CONFIG_E1000_NAPI is not set
# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
# CONFIG_NS83820 is not set
# CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set
# CONFIG_R8169 is not set
# CONFIG_SIS190 is not set
# CONFIG_SKGE is not set
# CONFIG_SKY2 is not set
# CONFIG_SK98LIN is not set
# CONFIG_VIA_VELOCITY is not set
CONFIG_TIGON3=y
# CONFIG_BNX2 is not set
# CONFIG_QLA3XXX is not set
# CONFIG_ATL1 is not set
CONFIG_NETDEV_10000=y
# CONFIG_CHELSIO_T1 is not set
# CONFIG_CHELSIO_T3 is not set
CONFIG_EHEA=y
CONFIG_IXGB=y
# CONFIG_IXGB_NAPI is not set
# CONFIG_S2IO is not set
# CONFIG_MYRI10GE is not set
# CONFIG_NETXEN_NIC is not set
# CONFIG_PASEMI_MAC is not set
# CONFIG_MLX4_CORE is not set
# CONFIG_TR is not set

#
# Wireless LAN
#
# CONFIG_WLAN_PRE80211 is not set
# CONFIG_WLAN_80211 is not set
# CONFIG_RTL818X is not set

#
# USB Network Adapters
#
# CONFIG_USB_CATC is not set
# CONFIG_USB_KAWETH is not set
# CONFIG_USB_PEGASUS is not set
# CONFIG_USB_RTL8150 is not set
# CONFIG_USB_USBNET_MII is not set
# CONFIG_USB_USBNET is not set
# CONFIG_WAN is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
# CONFIG_PPP is not set
# CONFIG_SLIP is not set
# CONFIG_NET_FC is not set
# CONFIG_SHAPER is not set
CONFIG_NETCONSOLE=y
CONFIG_NETPOLL=y
CONFIG_NETPOLL_TRAP=y
CONFIG_NET_POLL_CONTROLLER=y
# CONFIG_ISDN is not set
# CONFIG_PHONE is not set

#
# Input device support
#
CONFIG_INPUT=y
# CONFIG_INPUT_FF_MEMLESS is not set

#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
# CONFIG_INPUT_JOYDEV is not set
# CONFIG_INPUT_TSDEV is not set
# CONFIG_INPUT_EVDEV is not set
# CONFIG_INPUT_EVBUG is not set

#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_LKKBD is not set
# CONFIG_KEYBOARD_XTKBD is not set
# CONFIG_KEYBOARD_NEWTON is not set
# CONFIG_KEYBOARD_STOWAWAY is not set
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=y
CONFIG_MOUSE_PS2_ALPS=y
CONFIG_MOUSE_PS2_LOGIPS2PP=y
CONFIG_MOUSE_PS2_SYNAPTICS=y
CONFIG_MOUSE_PS2_LIFEBOOK=y
CONFIG_MOUSE_PS2_TRACKPOINT=y
# CONFIG_MOUSE_PS2_TOUCHKIT is not set
# CONFIG_MOUSE_SERIAL is not set
# CONFIG_MOUSE_APPLETOUCH is not set
# CONFIG_MOUSE_VSXXXAA is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TABLET is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
CONFIG_INPUT_MISC=y
# CONFIG_INPUT_PCSPKR is not set
# CONFIG_INPUT_ATI_REMOTE is not set
# CONFIG_INPUT_ATI_REMOTE2 is not set
# CONFIG_INPUT_KEYSPAN_REMOTE is not set
# CONFIG_INPUT_POWERMATE is not set
# CONFIG_INPUT_YEALINK is not set
# CONFIG_INPUT_UINPUT is not set
# CONFIG_INPUT_POLLDEV is not set

#
# Hardware I/O ports
#
CONFIG_SERIO=y
CONFIG_SERIO_I8042=y
# CONFIG_SERIO_SERPORT is not set
# CONFIG_SERIO_PCIPS2 is not set
CONFIG_SERIO_LIBPS2=y
# CONFIG_SERIO_RAW is not set
# CONFIG_GAMEPORT is not set

#
# Character devices
#
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
# CONFIG_VT_HW_CONSOLE_BINDING is not set
# CONFIG_SERIAL_NONSTANDARD is not set
# CONFIG_NOZOMI is not set

#
# Serial drivers
#
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_PCI=y
CONFIG_SERIAL_8250_NR_UARTS=4
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
# CONFIG_SERIAL_8250_EXTENDED is not set

#
# Non-8250 serial port support
#
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
# CONFIG_SERIAL_ICOM is not set
# CONFIG_SERIAL_JSM is not set
# CONFIG_SERIAL_OF_PLATFORM is not set
CONFIG_UNIX98_PTYS=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256
CONFIG_HVC_DRIVER=y
CONFIG_HVC_CONSOLE=y
# CONFIG_HVC_RTAS is not set
# CONFIG_HVCS is not set
# CONFIG_IPMI_HANDLER is not set
# CONFIG_WATCHDOG is not set
CONFIG_HW_RANDOM=y
CONFIG_HW_RANDOM_PASEMI=y
CONFIG_GEN_RTC=y
# CONFIG_GEN_RTC_X is not set
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set
# CONFIG_AGP is not set
# CONFIG_DRM is not set
CONFIG_RAW_DRIVER=y
CONFIG_MAX_RAW_DEVS=256
# CONFIG_HANGCHECK_TIMER is not set
# CONFIG_TCG_TPM is not set
CONFIG_DEVPORT=y
CONFIG_I2C=y
CONFIG_I2C_BOARDINFO=y
# CONFIG_I2C_CHARDEV is not set

#
# I2C Algorithms
#
CONFIG_I2C_ALGOBIT=y
# CONFIG_I2C_ALGOPCF is not set
# CONFIG_I2C_ALGOPCA is not set

#
# I2C Hardware Bus support
#
# CONFIG_I2C_ALI1535 is not set
# CONFIG_I2C_ALI1563 is not set
# CONFIG_I2C_ALI15X3 is not set
# CONFIG_I2C_AMD756 is not set
# CONFIG_I2C_AMD8111 is not set
# CONFIG_I2C_I801 is not set
# CONFIG_I2C_I810 is not set
# CONFIG_I2C_PIIX4 is not set
# CONFIG_I2C_NFORCE2 is not set
# CONFIG_I2C_OCORES is not set
# CONFIG_I2C_PARPORT_LIGHT is not set
# CONFIG_I2C_PASEMI is not set
# CONFIG_I2C_PROSAVAGE is not set
# CONFIG_I2C_SAVAGE4 is not set
# CONFIG_I2C_SIMTEC is not set
# CONFIG_I2C_SIS5595 is not set
# CONFIG_I2C_SIS630 is not set
# CONFIG_I2C_SIS96X is not set
# CONFIG_I2C_TINY_USB is not set
# CONFIG_I2C_VIA is not set
# CONFIG_I2C_VIAPRO is not set
# CONFIG_I2C_VOODOO3 is not set

#
# Miscellaneous I2C Chip support
#
# CONFIG_SENSORS_DS1337 is not set
# CONFIG_SENSORS_DS1374 is not set
# CONFIG_DS1682 is not set
# CONFIG_SENSORS_EEPROM is not set
# CONFIG_SENSORS_PCF8574 is not set
# CONFIG_SENSORS_PCA9539 is not set
# CONFIG_SENSORS_PCF8591 is not set
# CONFIG_SENSORS_MAX6875 is not set
# CONFIG_SENSORS_TSL2550 is not set
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
# CONFIG_I2C_DEBUG_CHIP is not set

#
# SPI support
#
# CONFIG_SPI is not set
# CONFIG_SPI_MASTER is not set
# CONFIG_W1 is not set
# CONFIG_POWER_SUPPLY is not set
CONFIG_HWMON=y
# CONFIG_HWMON_VID is not set
# CONFIG_SENSORS_ABITUGURU is not set
# CONFIG_SENSORS_AD7418 is not set
# CONFIG_SENSORS_ADM1021 is not set
# CONFIG_SENSORS_ADM1025 is not set
# CONFIG_SENSORS_ADM1026 is not set
# CONFIG_SENSORS_ADM1029 is not set
# CONFIG_SENSORS_ADM1031 is not set
# CONFIG_SENSORS_ADM9240 is not set
# CONFIG_SENSORS_ASB100 is not set
# CONFIG_SENSORS_ATXP1 is not set
# CONFIG_SENSORS_DS1621 is not set
# CONFIG_SENSORS_F71805F is not set
# CONFIG_SENSORS_FSCHER is not set
# CONFIG_SENSORS_FSCPOS is not set
# CONFIG_SENSORS_GL518SM is not set
# CONFIG_SENSORS_GL520SM is not set
# CONFIG_SENSORS_IT87 is not set
# CONFIG_SENSORS_LM63 is not set
# CONFIG_SENSORS_LM75 is not set
# CONFIG_SENSORS_LM77 is not set
# CONFIG_SENSORS_LM78 is not set
# CONFIG_SENSORS_LM80 is not set
# CONFIG_SENSORS_LM83 is not set
# CONFIG_SENSORS_LM85 is not set
# CONFIG_SENSORS_LM87 is not set
# CONFIG_SENSORS_LM90 is not set
# CONFIG_SENSORS_LM92 is not set
# CONFIG_SENSORS_MAX1619 is not set
# CONFIG_SENSORS_MAX6650 is not set
# CONFIG_SENSORS_PC87360 is not set
# CONFIG_SENSORS_PC87427 is not set
# CONFIG_SENSORS_SIS5595 is not set
# CONFIG_SENSORS_SMSC47M1 is not set
# CONFIG_SENSORS_SMSC47M192 is not set
# CONFIG_SENSORS_SMSC47B397 is not set
# CONFIG_SENSORS_VIA686A is not set
# CONFIG_SENSORS_VT1211 is not set
# CONFIG_SENSORS_VT8231 is not set
# CONFIG_SENSORS_W83781D is not set
# CONFIG_SENSORS_W83791D is not set
# CONFIG_SENSORS_W83792D is not set
# CONFIG_SENSORS_W83793 is not set
# CONFIG_SENSORS_W83L785TS is not set
# CONFIG_SENSORS_W83627HF is not set
# CONFIG_SENSORS_W83627EHF is not set
# CONFIG_HWMON_DEBUG_CHIP is not set

#
# Sonics Silicon Backplane
#
# CONFIG_SSB is not set

#
# Multifunction device drivers
#
# CONFIG_MFD_SM501 is not set

#
# Multimedia devices
#
# CONFIG_VIDEO_DEV is not set
# CONFIG_DVB_CORE is not set
CONFIG_DAB=y
# CONFIG_USB_DABUSB is not set

#
# Graphics support
#
CONFIG_BACKLIGHT_LCD_SUPPORT=y
CONFIG_BACKLIGHT_CLASS_DEVICE=y
CONFIG_LCD_CLASS_DEVICE=y

#
# Display device support
#
# CONFIG_DISPLAY_SUPPORT is not set
# CONFIG_VGASTATE is not set
CONFIG_VIDEO_OUTPUT_CONTROL=y
CONFIG_FB=y
CONFIG_FIRMWARE_EDID=y
CONFIG_FB_DDC=y
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
# CONFIG_FB_SYS_FILLRECT is not set
# CONFIG_FB_SYS_COPYAREA is not set
# CONFIG_FB_SYS_IMAGEBLIT is not set
# CONFIG_FB_SYS_FOPS is not set
CONFIG_FB_DEFERRED_IO=y
# CONFIG_FB_SVGALIB is not set
CONFIG_FB_MACMODES=y
CONFIG_FB_BACKLIGHT=y
CONFIG_FB_MODE_HELPERS=y
CONFIG_FB_TILEBLITTING=y

#
# Frame buffer hardware drivers
#
# CONFIG_FB_CIRRUS is not set
# CONFIG_FB_PM2 is not set
# CONFIG_FB_CYBER2000 is not set
CONFIG_FB_OF=y
# CONFIG_FB_ASILIANT is not set
# CONFIG_FB_IMSTT is not set
# CONFIG_FB_VGA16 is not set
# CONFIG_FB_S1D13XXX is not set
# CONFIG_FB_NVIDIA is not set
# CONFIG_FB_RIVA is not set
CONFIG_FB_MATROX=y
CONFIG_FB_MATROX_MILLENIUM=y
CONFIG_FB_MATROX_MYSTIQUE=y
CONFIG_FB_MATROX_G=y
CONFIG_FB_MATROX_I2C=y
CONFIG_FB_MATROX_MAVEN=y
CONFIG_FB_MATROX_MULTIHEAD=y
CONFIG_FB_RADEON=y
CONFIG_FB_RADEON_I2C=y
CONFIG_FB_RADEON_BACKLIGHT=y
# CONFIG_FB_RADEON_DEBUG is not set
# CONFIG_FB_ATY128 is not set
# CONFIG_FB_ATY is not set
# CONFIG_FB_S3 is not set
# CONFIG_FB_SAVAGE is not set
# CONFIG_FB_SIS is not set
# CONFIG_FB_NEOMAGIC is not set
# CONFIG_FB_KYRO is not set
# CONFIG_FB_3DFX is not set
# CONFIG_FB_VOODOO1 is not set
# CONFIG_FB_VT8623 is not set
# CONFIG_FB_TRIDENT is not set
# CONFIG_FB_ARK is not set
# CONFIG_FB_PM3 is not set
# CONFIG_FB_IBM_GXT4500 is not set
# CONFIG_FB_VIRTUAL is not set

#
# Console display driver support
#
# CONFIG_VGA_CONSOLE is not set
CONFIG_DUMMY_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE=y
# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
# CONFIG_FONTS is not set
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y
CONFIG_LOGO=y
CONFIG_LOGO_LINUX_MONO=y
CONFIG_LOGO_LINUX_VGA16=y
CONFIG_LOGO_LINUX_CLUT224=y
# CONFIG_SOUND is not set

#
# HID Devices
#
CONFIG_HID=y
# CONFIG_HID_DEBUG is not set
# CONFIG_HIDRAW is not set

#
# USB Input Devices
#
CONFIG_USB_HID=y
# CONFIG_USB_HIDINPUT_POWERBOOK is not set
# CONFIG_HID_FF is not set
CONFIG_USB_HIDDEV=y
CONFIG_USB_SUPPORT=y
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y
CONFIG_USB_ARCH_HAS_EHCI=y
CONFIG_USB=y
# CONFIG_USB_DEBUG is not set

#
# Miscellaneous USB options
#
CONFIG_USB_DEVICEFS=y
# CONFIG_USB_DEVICE_CLASS is not set
# CONFIG_USB_DYNAMIC_MINORS is not set
# CONFIG_USB_OTG is not set

#
# USB Host Controller Drivers
#
CONFIG_USB_EHCI_HCD=y
# CONFIG_USB_EHCI_SPLIT_ISO is not set
# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
# CONFIG_USB_EHCI_TT_NEWSCHED is not set
# CONFIG_USB_EHCI_BIG_ENDIAN_MMIO is not set
# CONFIG_USB_ISP116X_HCD is not set
CONFIG_USB_OHCI_HCD=y
CONFIG_USB_OHCI_HCD_PPC_OF=y
CONFIG_USB_OHCI_HCD_PPC_OF_BE=y
# CONFIG_USB_OHCI_HCD_PPC_OF_LE is not set
CONFIG_USB_OHCI_HCD_PCI=y
CONFIG_USB_OHCI_BIG_ENDIAN_DESC=y
CONFIG_USB_OHCI_BIG_ENDIAN_MMIO=y
CONFIG_USB_OHCI_LITTLE_ENDIAN=y
# CONFIG_USB_UHCI_HCD is not set
# CONFIG_USB_SL811_HCD is not set

#
# USB Device Class drivers
#
# CONFIG_USB_ACM is not set
# CONFIG_USB_PRINTER is not set

#
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
#

#
# may also be needed; see USB_STORAGE Help for more information
#
CONFIG_USB_STORAGE=y
# CONFIG_USB_STORAGE_DEBUG is not set
# CONFIG_USB_STORAGE_DATAFAB is not set
CONFIG_USB_STORAGE_FREECOM=y
CONFIG_USB_STORAGE_ISD200=y
# CONFIG_USB_STORAGE_DPCM is not set
# CONFIG_USB_STORAGE_USBAT is not set
# CONFIG_USB_STORAGE_SDDR09 is not set
# CONFIG_USB_STORAGE_SDDR55 is not set
# CONFIG_USB_STORAGE_JUMPSHOT is not set
# CONFIG_USB_STORAGE_ALAUDA is not set
# CONFIG_USB_STORAGE_KARMA is not set
# CONFIG_USB_LIBUSUAL is not set

#
# USB Imaging devices
#
# CONFIG_USB_MDC800 is not set
# CONFIG_USB_MICROTEK is not set
CONFIG_USB_MON=y

#
# USB port drivers
#

#
# USB Serial Converter support
#
# CONFIG_USB_SERIAL is not set

#
# USB Miscellaneous drivers
#
# CONFIG_USB_EMI62 is not set
# CONFIG_USB_EMI26 is not set
# CONFIG_USB_ADUTUX is not set
# CONFIG_USB_AUERSWALD is not set
# CONFIG_USB_RIO500 is not set
# CONFIG_USB_LEGOTOWER is not set
# CONFIG_USB_LCD is not set
# CONFIG_USB_BERRY_CHARGE is not set
# CONFIG_USB_LED is not set
# CONFIG_USB_CYPRESS_CY7C63 is not set
# CONFIG_USB_CYTHERM is not set
# CONFIG_USB_PHIDGET is not set
# CONFIG_USB_IDMOUSE is not set
# CONFIG_USB_FTDI_ELAN is not set
# CONFIG_USB_APPLEDISPLAY is not set
# CONFIG_USB_SISUSBVGA is not set
# CONFIG_USB_LD is not set
# CONFIG_USB_TRANCEVIBRATOR is not set
# CONFIG_USB_IOWARRIOR is not set
# CONFIG_USB_TEST is not set
# CONFIG_USB_GOTEMP is not set

#
# USB DSL modem support
#

#
# USB Gadget Support
#
# CONFIG_USB_GADGET is not set
# CONFIG_MMC is not set
# CONFIG_NEW_LEDS is not set
CONFIG_INFINIBAND=y
# CONFIG_INFINIBAND_USER_MAD is not set
# CONFIG_INFINIBAND_USER_ACCESS is not set
CONFIG_INFINIBAND_ADDR_TRANS=y
CONFIG_INFINIBAND_MTHCA=y
CONFIG_INFINIBAND_MTHCA_DEBUG=y
# CONFIG_INFINIBAND_IPATH is not set
# CONFIG_INFINIBAND_EHCA is not set
# CONFIG_INFINIBAND_AMSO1100 is not set
# CONFIG_MLX4_INFINIBAND is not set
CONFIG_INFINIBAND_IPOIB=y
# CONFIG_INFINIBAND_IPOIB_CM is not set
CONFIG_INFINIBAND_IPOIB_DEBUG=y
# CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set
# CONFIG_INFINIBAND_SRP is not set
# CONFIG_INFINIBAND_ISER is not set

#
# Real Time Clock
#
# CONFIG_RTC_CLASS is not set

#
# DMA Engine support
#
# CONFIG_DMA_ENGINE is not set

#
# DMA Clients
#
CONFIG_ASYNC_TX_DMA=y

#
# DMA Devices
#

#
# Userspace I/O
#
# CONFIG_UIO is not set

#
# File systems
#
CONFIG_EXT2_FS=y
CONFIG_EXT2_FS_XATTR=y
CONFIG_EXT2_FS_POSIX_ACL=y
# CONFIG_EXT2_FS_SECURITY is not set
# CONFIG_EXT2_FS_XIP is not set
CONFIG_EXT3_FS=y
CONFIG_EXT3_FS_XATTR=y
CONFIG_EXT3_FS_POSIX_ACL=y
# CONFIG_EXT3_FS_SECURITY is not set
CONFIG_EXT4DEV_FS=y
CONFIG_EXT4DEV_FS_XATTR=y
CONFIG_EXT4DEV_FS_POSIX_ACL=y
CONFIG_EXT4DEV_FS_SECURITY=y
CONFIG_JBD=y
# CONFIG_JBD_DEBUG is not set
CONFIG_JBD2=y
# CONFIG_JBD2_DEBUG is not set
CONFIG_FS_MBCACHE=y
# CONFIG_REISER4_FS is not set
CONFIG_REISERFS_FS=y
# CONFIG_REISERFS_CHECK is not set
# CONFIG_REISERFS_PROC_INFO is not set
CONFIG_REISERFS_FS_XATTR=y
CONFIG_REISERFS_FS_POSIX_ACL=y
# CONFIG_REISERFS_FS_SECURITY is not set
CONFIG_JFS_FS=y
CONFIG_JFS_POSIX_ACL=y
# CONFIG_JFS_SECURITY is not set
# CONFIG_JFS_DEBUG is not set
# CONFIG_JFS_STATISTICS is not set
CONFIG_FS_POSIX_ACL=y
CONFIG_XFS_FS=y
# CONFIG_XFS_QUOTA is not set
# CONFIG_XFS_SECURITY is not set
CONFIG_XFS_POSIX_ACL=y
# CONFIG_XFS_RT is not set
# CONFIG_GFS2_FS is not set
# CONFIG_OCFS2_FS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_ROMFS_FS is not set
CONFIG_INOTIFY=y
CONFIG_INOTIFY_USER=y
# CONFIG_QUOTA is not set
CONFIG_DNOTIFY=y
# CONFIG_AUTOFS_FS is not set
CONFIG_AUTOFS4_FS=y
# CONFIG_FUSE_FS is not set

#
# CD-ROM/DVD Filesystems
#
CONFIG_ISO9660_FS=y
CONFIG_JOLIET=y
CONFIG_ZISOFS=y
CONFIG_UDF_FS=y
CONFIG_UDF_NLS=y

#
# DOS/FAT/NT Filesystems
#
CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=y
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
# CONFIG_NTFS_FS is not set

#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_PROC_SYSCTL=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
# CONFIG_TMPFS_POSIX_ACL is not set
CONFIG_HUGETLBFS=y
CONFIG_HUGETLB_PAGE=y
CONFIG_RAMFS=y
# CONFIG_CONFIGFS_FS is not set

#
# Layered filesystems
#
# CONFIG_UNION_FS is not set

#
# Miscellaneous filesystems
#
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
CONFIG_CRAMFS=y
# CONFIG_VXFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set

#
# Network File Systems
#
CONFIG_NFS_FS=y
CONFIG_NFS_V3=y
# CONFIG_NFS_V3_ACL is not set
CONFIG_NFS_V4=y
# CONFIG_NFS_DIRECTIO is not set
CONFIG_NFSD=y
CONFIG_NFSD_V3=y
# CONFIG_NFSD_V3_ACL is not set
CONFIG_NFSD_V4=y
CONFIG_NFSD_TCP=y
CONFIG_LOCKD=y
CONFIG_LOCKD_V4=y
CONFIG_EXPORTFS=y
CONFIG_NFS_COMMON=y
CONFIG_SUNRPC=y
CONFIG_SUNRPC_GSS=y
# CONFIG_SUNRPC_BIND34 is not set
CONFIG_RPCSEC_GSS_KRB5=y
# CONFIG_RPCSEC_GSS_SPKM3 is not set
CONFIG_SMB_FS=y
# CONFIG_SMB_NLS_DEFAULT is not set
CONFIG_CIFS=y
# CONFIG_CIFS_STATS is not set
# CONFIG_CIFS_WEAK_PW_HASH is not set
# CONFIG_CIFS_XATTR is not set
# CONFIG_CIFS_DEBUG2 is not set
# CONFIG_CIFS_EXPERIMENTAL is not set
# CONFIG_NCP_FS is not set
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set
# CONFIG_9P_FS is not set

#
# Partition Types
#
# CONFIG_PARTITION_ADVANCED is not set
CONFIG_MSDOS_PARTITION=y

#
# Native Language Support
#
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="iso8859-1"
# CONFIG_NLS_CODEPAGE_437 is not set
# CONFIG_NLS_CODEPAGE_737 is not set
# CONFIG_NLS_CODEPAGE_775 is not set
# CONFIG_NLS_CODEPAGE_850 is not set
# CONFIG_NLS_CODEPAGE_852 is not set
# CONFIG_NLS_CODEPAGE_855 is not set
# CONFIG_NLS_CODEPAGE_857 is not set
# CONFIG_NLS_CODEPAGE_860 is not set
# CONFIG_NLS_CODEPAGE_861 is not set
# CONFIG_NLS_CODEPAGE_862 is not set
# CONFIG_NLS_CODEPAGE_863 is not set
# CONFIG_NLS_CODEPAGE_864 is not set
# CONFIG_NLS_CODEPAGE_865 is not set
# CONFIG_NLS_CODEPAGE_866 is not set
# CONFIG_NLS_CODEPAGE_869 is not set
# CONFIG_NLS_CODEPAGE_936 is not set
# CONFIG_NLS_CODEPAGE_950 is not set
# CONFIG_NLS_CODEPAGE_932 is not set
# CONFIG_NLS_CODEPAGE_949 is not set
# CONFIG_NLS_CODEPAGE_874 is not set
# CONFIG_NLS_ISO8859_8 is not set
# CONFIG_NLS_CODEPAGE_1250 is not set
# CONFIG_NLS_CODEPAGE_1251 is not set
# CONFIG_NLS_ASCII is not set
# CONFIG_NLS_ISO8859_1 is not set
# CONFIG_NLS_ISO8859_2 is not set
# CONFIG_NLS_ISO8859_3 is not set
# CONFIG_NLS_ISO8859_4 is not set
# CONFIG_NLS_ISO8859_5 is not set
# CONFIG_NLS_ISO8859_6 is not set
# CONFIG_NLS_ISO8859_7 is not set
# CONFIG_NLS_ISO8859_9 is not set
# CONFIG_NLS_ISO8859_13 is not set
# CONFIG_NLS_ISO8859_14 is not set
# CONFIG_NLS_ISO8859_15 is not set
# CONFIG_NLS_KOI8_R is not set
# CONFIG_NLS_KOI8_U is not set
# CONFIG_NLS_UTF8 is not set

#
# Distributed Lock Manager
#
# CONFIG_DLM is not set
# CONFIG_UCC_SLOW is not set

#
# Library routines
#
CONFIG_BITREVERSE=y
CONFIG_CRC_CCITT=y
# CONFIG_CRC16 is not set
# CONFIG_CRC_ITU_T is not set
CONFIG_CRC32=y
# CONFIG_CRC7 is not set
CONFIG_LIBCRC32C=y
# CONFIG_LZO is not set
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_PLIST=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y

#
# Instrumentation Support
#
CONFIG_PROFILING=y
CONFIG_OPROFILE=y

#
# Kernel hacking
#
# CONFIG_PRINTK_TIME is not set
CONFIG_ENABLE_MUST_CHECK=y
CONFIG_MAGIC_SYSRQ=y
# CONFIG_UNUSED_SYMBOLS is not set
CONFIG_DEBUG_FS=y
# CONFIG_HEADERS_CHECK is not set
CONFIG_DEBUG_KERNEL=y
# CONFIG_DEBUG_SHIRQ is not set
CONFIG_DETECT_SOFTLOCKUP=y
# CONFIG_SCHEDSTATS is not set
# CONFIG_TIMER_STATS is not set
# CONFIG_DEBUG_SLAB is not set
# CONFIG_DEBUG_RT_MUTEXES is not set
# CONFIG_RT_MUTEX_TESTER is not set
# CONFIG_DEBUG_SPINLOCK is not set
# CONFIG_DEBUG_MUTEXES is not set
# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
CONFIG_DEBUG_LOCKING_API_SELFTESTS=y
# CONFIG_DEBUG_KOBJECT is not set
CONFIG_DEBUG_BUGVERBOSE=y
# CONFIG_DEBUG_INFO is not set
# CONFIG_DEBUG_VM is not set
# CONFIG_DEBUG_LIST is not set
# CONFIG_UNWIND_INFO is not set
# CONFIG_PROFILE_LIKELY is not set
CONFIG_FORCED_INLINING=y
# CONFIG_DEBUG_SYNCHRO_TEST is not set
# CONFIG_RCU_TORTURE_TEST is not set
# CONFIG_FAULT_INJECTION is not set
# CONFIG_DEBUG_STACKOVERFLOW is not set
# CONFIG_DEBUG_STACK_USAGE is not set
# CONFIG_DEBUG_PAGEALLOC is not set
CONFIG_HCALL_STATS=y
# CONFIG_DEBUGGER is not set
# CONFIG_IRQSTACKS is not set
# CONFIG_BOOTX_TEXT is not set
# CONFIG_PPC_EARLY_DEBUG is not set

#
# Security options
#
# CONFIG_KEYS is not set
# CONFIG_INTEGRITY is not set
# CONFIG_SECURITY is not set
# CONFIG_SECURITY_FILE_CAPABILITIES is not set
CONFIG_CRYPTO=y
CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_BLKCIPHER=y
CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_HMAC=y
# CONFIG_CRYPTO_XCBC is not set
CONFIG_CRYPTO_NULL=y
CONFIG_CRYPTO_MD4=y
CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_SHA1=y
CONFIG_CRYPTO_SHA256=y
CONFIG_CRYPTO_SHA512=y
# CONFIG_CRYPTO_WP512 is not set
# CONFIG_CRYPTO_TGR192 is not set
# CONFIG_CRYPTO_GF128MUL is not set
CONFIG_CRYPTO_ECB=y
CONFIG_CRYPTO_CBC=y
CONFIG_CRYPTO_PCBC=y
# CONFIG_CRYPTO_LRW is not set
# CONFIG_CRYPTO_CRYPTD is not set
CONFIG_CRYPTO_DES=y
# CONFIG_CRYPTO_FCRYPT is not set
CONFIG_CRYPTO_BLOWFISH=y
CONFIG_CRYPTO_TWOFISH=y
CONFIG_CRYPTO_TWOFISH_COMMON=y
CONFIG_CRYPTO_SERPENT=y
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_CAST5=y
CONFIG_CRYPTO_CAST6=y
CONFIG_CRYPTO_TEA=y
CONFIG_CRYPTO_ARC4=y
CONFIG_CRYPTO_KHAZAD=y
CONFIG_CRYPTO_ANUBIS=y
CONFIG_CRYPTO_DEFLATE=y
CONFIG_CRYPTO_MICHAEL_MIC=y
CONFIG_CRYPTO_CRC32C=y
# CONFIG_CRYPTO_CAMELLIA is not set
CONFIG_CRYPTO_HW=y

^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2007-03-29 21:39 Gerard Braad Jr.
  2007-03-29 21:42 ` your mail Jan Engelhardt
  0 siblings, 1 reply; 348+ messages in thread
From: Gerard Braad Jr. @ 2007-03-29 21:39 UTC (permalink / raw)
  To: linux-kernel

unsubscribe linux-kernel gbraad@member.fsf.org

^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2007-02-05 15:41 logic
  2007-02-05 12:36 ` your mail Joerg Roedel
  0 siblings, 1 reply; 348+ messages in thread
From: logic @ 2007-02-05 15:41 UTC (permalink / raw)
  To: linux-kernel

Good morning,

I am experiencing a bug i think. I am running a 2.6.19.2 kernel on a 3Ghz
Intel with HT activated, 1 gb ram, and noname motherboard. Here is the
output of the hang:
------------[ cut here ]------------

Message from syslogd@mail at Fri Feb  2 22:47:32 2007 ...
mail kernel: kernel BUG at mm/slab.c:607!

Message from syslogd@mail at Fri Feb  2 22:47:32 2007 ...
mail kernel: invalid opcode: 0000 [#1]

Message from syslogd@mail at Fri Feb  2 22:47:32 2007 ...
mail kernel: CPU:    1

Message from syslogd@mail at Fri Feb  2 22:47:32 2007 ...
mail kernel: EIP:    0060:[<c0155ebb>]    Not tainted VLI

Message from syslogd@mail at Fri Feb  2 22:47:32 2007 ...

Message from syslogd@mail at Fri Feb  2 22:47:32 2007 ...
mail kernel: eax: 1af3a451   ebx: c89ba000   ecx: 4a5ffc80   edx: c214bfe0

Message from syslogd@mail at Fri Feb  2 22:47:32 2007 ...
mail kernel: ds: 007b   es: 007b   ss: 0068

Message from syslogd@mail at Fri Feb  2 22:47:32 2007 ...
mail kernel: EIP is at free_block+0x44/0xda

Message from syslogd@mail at Fri Feb  2 22:47:32 2007 ...
mail kernel: PREEMPT SMP
mail kernel: EFLAGS: 00010046   (2.6.19.2 #1)

Message from syslogd@mail at Fri Feb  2 22:47:32 2007 ...
mail kernel: Call Trace:

Message from syslogd@mail at Fri Feb  2 22:47:32 2007 ...
mail kernel:  =======================

Message from syslogd@mail at Fri Feb  2 22:47:32 2007 ...
mail kernel: Process events/1 (pid: 9, ti=c19b6000 task=c1983a90
task.ti=c19b6000)

Message from syslogd@mail at Fri Feb  2 22:47:32 2007 ...
mail kernel: Stack: 00000000 0000001e c196d018 c196d018 0000001e c196d000
00000000 c015664d

Message from syslogd@mail at Fri Feb  2 22:47:32 2007 ...
mail kernel:        00000000 00000000 c196fc80 c19485c0 c196fc80 c19485c0
c194b140 00000213



-- 
--
Va salut,
Alexandru Gheorghita
Technical Manager
Think.Net
phone: 0788.700.842
mail: logic@thinknet.ro



^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2005-11-25 22:06 root
  2005-11-26  0:11 ` your mail Hugh Dickins
  0 siblings, 1 reply; 348+ messages in thread
From: root @ 2005-11-25 22:06 UTC (permalink / raw)
  To: linux-kernel

Nov 25 21:59:24 txiringo kernel: [17182458.504000] program ddcprobe is using MAP_PRIVATE, PROT_WRITE mmap of VM_RESERVED memory, which is deprecated. Please report this to linux-kernel@vger.kernel.org


^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2005-06-16 23:08 trmcneal
  2005-06-16 23:32 ` your mail Chris Wedgwood
  0 siblings, 1 reply; 348+ messages in thread
From: trmcneal @ 2005-06-16 23:08 UTC (permalink / raw)
  To: linux-kernel

I posted this on linux-net, and got only one reply, saying that they
had run into this as well.  Not much help.  I'm thinking that I need to 
tune the kernel somehow to prevent this, but I'm not sure how.  It doesn't 
happen on Solaris, and seems to be a resource issue, but its probably 
not memory. Here are the details:

> I've been working with some tcp network test programs that have
> multiple clients opening nonblocking sockets to a single server port,
> sending a short message, and then closing the socket, 100,000 times.
> Since the socket is non-blocking, it generally tries to connect and then
> does a poll since the socket is busy.  The test fails if the poll times out in
> 10 seconds.  It fails consistently on Linux servers but succeeds on Solaris
> servers; the client is a non-issue unless its loopback on the Linux server.

> This issue crops up both on 2.4 and 2.6 kernels; the main feature seen
> in tcp dumps is that the server gets inundated with retrys, and then starts
> sending RST responses to everything (labelled as ZeroWindow in a
> Ethereal dump).  One interesting feature is that many clients thinks the
> 3-way connection handshake is complete, when the server actually
> doesn't get the final ACK; The client starts sending and then retransmitting
> the data, and the server keeps sending back the SYN/ACK part of the
> handshake.  Another interesting feature is a group of retries from various
> client ports, followed by a group of ACK,RST responses from the server,
> followed by the ZeroWindow RST to everything.

> On Linux, the only way to succeed is to use remote clients - thus avoiding
> extra work on the server -and changing test parameters to put in a longer
> server delay, which is inserted between the closing of one connection and
> the opening of the next. I'm assuming that the tcp network queues are just
> getting overloaded with the data retransmissions, but I don't know enough
> about the queue management yet.  Any suggestions/pointers/fixes?

Any ideas about tuning, or what resource I'm running out of?  

Regards -

Tom McNeal

--
Tom McNeal
(650)906-0761(cell)
(650)964-8459(fax)

^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2005-02-03  0:17 Aleksey Gorelov
  2005-02-03  1:12 ` your mail Matthew Dharm
  2005-02-03 16:03 ` Alan Stern
  0 siblings, 2 replies; 348+ messages in thread
From: Aleksey Gorelov @ 2005-02-03  0:17 UTC (permalink / raw)
  To: stern, mdharm-usb; +Cc: linux-kernel

Hi Matt, Alan, 

  Could you please tell me (link would do) why it makes default
delay_use=5 
really necessary (from the patch below)?
https://lists.one-eyed-alien.net/pipermail/usb-storage/2004-August/00074
7.html

It makes USB boot really painfull and slow :(

  I understand there should be a good reason for it. I've tried to find
an answer in 
archives, without much success though.

Thanks,
Aleks.

^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2004-09-19 12:29 plt
  2004-09-19 18:22 ` your mail Jesper Juhl
  0 siblings, 1 reply; 348+ messages in thread
From: plt @ 2004-09-19 12:29 UTC (permalink / raw)
  To: linux-kernel

Question: Are you guys going to work on please cleaning up some of the errors in
the code so we can get please get a more clean compile?



drivers/mtd/nftlmount.c:44: warning: unused variable `oob'

----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.


^ permalink raw reply	[flat|nested] 348+ messages in thread
* Re: your mail
@ 2004-08-16 15:42 Jon Smirl
  2004-08-16 23:55 ` Dave Airlie
  0 siblings, 1 reply; 348+ messages in thread
From: Jon Smirl @ 2004-08-16 15:42 UTC (permalink / raw)
  To: Christoph Hellwig; +Cc: torvalds, Andrew Morton, linux-kernel, Dave Airlie

Graphics drivers in the kernel are broken. The kernel was never
designed to have two device drivers trying to control the same piece of
hardware. 
I have posted a long list of 25 points that we are working towards to
unify things. http://lkml.org/lkml/2004/8/2/111 The PCI ROM patch that
has been posted recently addresses the first one.

In the meanwhile we have to transition somehow between what we have and
where we are going. Since fbdev has taken the path to pretend that DRM
doesn't exist DRM has to go through a lot of trouble to work when fbdev
is in the system. DRM also has to work when fbdev is not in the system.

DRM is being reworked into a first class driver with full support for
2.6 and hotplug. Part of being a first class driver means that DRM has
to register itself with the kernel like a real driver and claim all of
it's resources. I'm also fixing the driver to use 2.6 module parameters
and to support dynamic assignment of minors. Sysfs support is in the
patch being discussed.

But DRM still has to live with existing fbdev drivers. The same DRM
code is used in 2.4 and 2.6 so existing fbdev drivers are not going
away anytime soon. When DRM detects a fbdev it will revert back into
stealth mode where is attaches itself to the hardware without telling
the kernel that it is doing so. DRM can not use stealth mode when
running without fbdev present since it will mess up hotplug by not
marking the resources in use.

I don't believe the ordering between fbdev and DRM is an issue. If you
are using fbdev you likely have it compiled in. In that case fbdev
always loads first and DRM second. In the non-ppc world, most of us
have x86 boxes which don't use fbdev. In those machines DRM needs to be
a first class driver. In the real world I don't know anyone other than
a developer who would load DRM first and then fbdev. If this is a
problem you will need to fixed fbdev to fall back into stealth mode
like DRM does.

I would like to encourage you to work towards the points on the above
referenced list. It has been widely distributed and commented on. It
has been posted to lkml, dri-dev, fb-dev and xorg lists and discussed
at OLS. 

Sorry, but I can't add an In-Reply-To header in the middle of thread on
yahoo. cc me on a reply to the main thread so that I will pick up the header.

=====
Jon Smirl
jonsmirl@yahoo.com


		
__________________________________
Do you Yahoo!?
Yahoo! Mail - 50x more storage than other providers!
http://promotions.yahoo.com/new_mail

^ permalink raw reply	[flat|nested] 348+ messages in thread
* RE: your mail
@ 2004-05-24 23:15 Laughlin, Joseph V
  0 siblings, 0 replies; 348+ messages in thread
From: Laughlin, Joseph V @ 2004-05-24 23:15 UTC (permalink / raw)
  To: Bernd Petrovitsch, linux-kernel

> -----Original Message-----
> From: Bernd Petrovitsch [mailto:bernd@firmix.at] 
> Sent: Monday, May 24, 2004 4:13 PM
> To: Laughlin, Joseph V; linux-kernel@vger.kernel.org
> Subject: RE: your mail
> 
> 
> On Tue, 2004-05-25 at 01:04, Laughlin, Joseph V wrote:
> > > -----Original Message-----
> [...]
> > > On Mon, May 24, 2004 at 03:20:33PM -0700, Laughlin, 
> Joseph V wrote:
> > > > I've been tasked with modifying a 2.4 kernel so that a
> > > non-root user
> > > > can do the following:
> > > > 
> > > > Dynamically change the priorities of processes (up and 
> down) Lock
> > > > processes in memory Can change process cpu affinity
> [...]
> > Currently, we're using sched_setaffinity() to control it, which 
> > existed in our 2.4.19 kernel.  (but, you have to be root to use it, 
> > and we'd like non-root users to be able to change the affinity.)
> 
> And using sudo or setuid Binaries?
> 
> 	Bernd
> -- 

Not an option, unfortunately. 

^ permalink raw reply	[flat|nested] 348+ messages in thread
* RE: your mail
@ 2004-05-24 23:04 Laughlin, Joseph V
  2004-05-24 23:13 ` Bernd Petrovitsch
  2004-05-24 23:21 ` Chris Wright
  0 siblings, 2 replies; 348+ messages in thread
From: Laughlin, Joseph V @ 2004-05-24 23:04 UTC (permalink / raw)
  To: Herbert Poetzl; +Cc: linux-kernel

> -----Original Message-----
> From: Herbert Poetzl [mailto:herbert@13thfloor.at] 
> Sent: Monday, May 24, 2004 3:30 PM
> To: Laughlin, Joseph V
> Cc: linux-kernel@vger.kernel.org
> Subject: Re: your mail
> 
> 
> On Mon, May 24, 2004 at 03:20:33PM -0700, Laughlin, Joseph V wrote:
> > I've been tasked with modifying a 2.4 kernel so that a 
> non-root user 
> > can do the following:
> > 
> > Dynamically change the priorities of processes (up and down) Lock 
> > processes in memory Can change process cpu affinity
> > 
> > Anyone got any ideas about how I could start doing this?  
> (I'm new to 
> > kernel development, btw.)
> 
> check the kernel capability system ...
> (it's quite simple)
> 
> #define CAP_SYS_NICE         23
> #define CAP_IPC_LOCK         14
> 
> cpu scheduler affinity isn't part of 2.4 AFAIK
> so there is no easy way to 'control' it ...
> 

Currently, we're using sched_setaffinity() to control it, which existed
in our 2.4.19 kernel.  (but, you have to be root to use it, and we'd
like non-root users to be able to change the affinity.)

Joe


^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2004-05-24 22:20 Laughlin, Joseph V
  2004-05-24 22:30 ` your mail Herbert Poetzl
  2004-05-24 22:33 ` Chris Wright
  0 siblings, 2 replies; 348+ messages in thread
From: Laughlin, Joseph V @ 2004-05-24 22:20 UTC (permalink / raw)
  To: linux-kernel

I've been tasked with modifying a 2.4 kernel so that a non-root user can
do the following:

Dynamically change the priorities of processes (up and down)
Lock processes in memory
Can change process cpu affinity

Anyone got any ideas about how I could start doing this?  (I'm new to
kernel development, btw.)

Thanks,

Joe Laughlin
Phantom Works - Integrated Technology Development Labs 
The Boeing Company




^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2004-04-29  3:03 whitehorse
  2004-04-29  3:21 ` your mail Jon
  0 siblings, 1 reply; 348+ messages in thread
From: whitehorse @ 2004-04-29  3:03 UTC (permalink / raw)
  To: linux-kernel

dear Sir,
 I have a problem in compiling kernel 2.6.4 from kernel 2.4.19. I use
 Debian woody. When I rebooting new kernel, some message occur such:
 "modprobe: QM_MODULES: function not implemented"
 and I can't load my modules when boot. I would like to waiting any one who
 answer this. Please send to this mail. Thanks

 Best regards,

 Hafid
 Indonesia


^ permalink raw reply	[flat|nested] 348+ messages in thread
[parent not found: <200404121623.42558.vda@port.imtp.ilyichevsk.odessa.ua>]
* (no subject)
@ 2004-04-09 17:54 Martin Knoblauch
  2004-04-09 18:12 ` your mail Joel Jaeggli
  0 siblings, 1 reply; 348+ messages in thread
From: Martin Knoblauch @ 2004-04-09 17:54 UTC (permalink / raw)
  To: linux-kernel

>I was wondering if for linux or better for a linux filesystem
>there is something like dynamic swapping of files possible.
>For explanation: I habeaccess to an Infinstor via NFS and
>linux is runnig there. This server has a nice funtion I'd
>like to have: if there are files that are not used for a
>specified time (i.e. 30 days) they are moved to another storage
>(disk and after that to an streamer tape) and are replaced
>by some kind of 'link'. So if you look at your directory you
>can see everything that was there, but if you try to open it,
>you have to wait a moment (some seconds if the file was
>swapped to another disk) oder just another moment (some
>minutes if the file is on a tape) and then it restored at
>it's old place.
>

 Good description of a HSM (Hierarchical Storage Management)
System.

>So is there anything which provides such a feature? By now
>I have a little script that moves such files out of the way and
>replaces them by links. But restoring is somewhat harder and
>it's not automatic.
>
>Any ideas?
>

 Really depends. As far as I know thare are no "free" HSM Systems
out there for Linux The only one that I am faintly familiar with
that runs on Linux is StorNext from ADIC. Definitely not free.

 DMF/Irix may now be ported to Linux (Altix/IA64), but I doubt
it will be free.

 Sun is most likely not (yet) interested in doing a Linux port
of SAM-FS (there are still Sparc/Solaris Machines to sell).
And it won't be free (my guess).

 Tivoli/IBM and UniTree are also sold for Linux. Again "sold" is
the important word

Martin


=====
------------------------------------------------------
Martin Knoblauch
email: k n o b i AT knobisoft DOT de
www:   http://www.knobisoft.de

^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2004-03-15 22:49 Kevin Leung
  2004-03-15 23:26 ` your mail Richard B. Johnson
  0 siblings, 1 reply; 348+ messages in thread
From: Kevin Leung @ 2004-03-15 22:49 UTC (permalink / raw)
  To: linux-kernel

Hello All,

I am very new to Linux and am working on a project. The nature of the 
project is to essentially record all process/thread scheduling activity for 
use in a later application. I wanted to know if any experts out there knew 
of any libraries that could essentially "monitor" or "listen" for any 
scheduling changes made. For instance if the kernel decides to set process A 
from "sleeping" to "running" and process B from "running" to "sleeping", I 
wanted to know if there was a function that could generate an immediate 
notification of this event. Priority change information is also desireable. 
The more aspects which trigger notificaiton, the better. As a first attempt, 
I tried understanding the source code of the system monitor application. I 
gained some insight, but still have questions. Mainly questions pertaining 
to how the system monitor application receives the most "up-to-the-minute" 
information on what process are running, what processes are sleeping etc. I 
got stuck in the code and decided to explore another means.  Any advice or 
insight into the matter would be greatly appreciated. If a library isn't 
available, does anyone know the difficulty involved if I tried to modify the 
kernel to provide this information?

Please CC me the comments and responses posted to the list in response to my 
posting

Thank You in advance

_________________________________________________________________
Frustrated with dial-up? Lightning-fast Internet access for as low as 
$29.95/month. http://click.atdmt.com/AVE/go/onm00200360ave/direct/01/


^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2004-02-24 13:58 Jim Deas
  2004-02-24 14:44 ` your mail Richard B. Johnson
  0 siblings, 1 reply; 348+ messages in thread
From: Jim Deas @ 2004-02-24 13:58 UTC (permalink / raw)
  To: linux-kernel

Can someone point me in the right direction. 
I am getting a oops on a driver I am porting from 2.4 to 2.6.2 kernel. 
I have expanded the file_operations structures and have a driver that loads and inits the hardware but when I call the open function I get an oops. The best I can track it is 

EIP 0060:[c0188954] 
chrdev_open +0x104 

What is the best debug tool to put this oops information in clear sight? It appears to never get to my modules open routine so I am at a debugging crossroad. What is the option on a kernel compile to get the compile listing so I can see what is at 0x104 in this block of code?



^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2004-02-19 13:52 Joilnen Leite
  2004-02-19 14:12 ` your mail Richard B. Johnson
  0 siblings, 1 reply; 348+ messages in thread
From: Joilnen Leite @ 2004-02-19 13:52 UTC (permalink / raw)
  To: linux-kernel; +Cc: linux-ide

excuse me friends shcedule_timeout(1) is not a problem
for spin_lock_irqsave ?



drivers/scsi/ide-scsi.c:897

spin_lock_irqsave(&ide_lock, flags);
while (HWGROUP(drive)->handler) {
       HWGROUP(drive)->handler = NULL;
       schedule_timeout(1);
}

pub 1024D/5139533E Joilnen Batista Leite 
F565 BD0B 1A39 390D 827E 03E5 0CD4 0F20 5139 533E


__________________________________
Do you Yahoo!?
Yahoo! Mail SpamGuard - Read only the mail you want.
http://antispam.yahoo.com/tools

^ permalink raw reply	[flat|nested] 348+ messages in thread
* RE: your mail
@ 2004-02-13 19:23 Bloch, Jack
  0 siblings, 0 replies; 348+ messages in thread
From: Bloch, Jack @ 2004-02-13 19:23 UTC (permalink / raw)
  To: 'Maciej Zenczykowski'; +Cc: 'linux-kernel@vger.kernel.org'

By the way shouldn't a munmap call really free the memory. I have an strace
showing that the process calls munmap a lot but I do not seeany gaps in the
map file

Jack Bloch 
Siemens ICN
phone                (561) 923-6550
e-mail                jack.bloch@icn.siemens.com


-----Original Message-----
From: Bloch, Jack 
Sent: Friday, February 13, 2004 2:14 PM
To: 'Maciej Zenczykowski'
Cc: linux-kernel@vger.kernel.org
Subject: RE: your mail


Yes, your assumtion about the 1GB is correct.

Jack Bloch 
Siemens ICN
phone                (561) 923-6550
e-mail                jack.bloch@icn.siemens.com


-----Original Message-----
From: Maciej Zenczykowski [mailto:maze@cela.pl]
Sent: Friday, February 13, 2004 1:11 PM
To: Bloch, Jack
Cc: linux-kernel@vger.kernel.org
Subject: Re: your mail


The deleted marks in question mean that the file in question has been 
unlinked (rm'ed), however it is still being used and the inode in question 
still exists.  This memory is in use and thus validly takes up mapping 
space.  You'd need to unmap inorder to free that memory.  Deleting a file 
does not delete that file until _all_ processes close and unmap any 
references to it.  What's more worrying is the large area of unmapped 
memory below 1GB (0x40000000), wonder why it doesn't get allocated?  But I 
think the answer is that the standard allocator only searches 1GB..3GB for 
free areas...

Cheers,
MaZe.

On Fri, 13 Feb 2004, Bloch, Jack wrote:

> I am running a 2.4.19 Kernel and have a problem where a process is using
the
> up to the 0xC0000000 of space. It is no longer possible for this process
to
> get any more memory vi mmap or via shmget. However, when I dump the
> /procs/#/maps file, I see large chunks of memory deleted. i.e this should
be
> freely available to be used by the next call. I do not see these addresses
> get re-used. The maps file is attached.
> 
>  <<9369>> 
> 
> Jack Bloch 
> Siemens ICN
> phone                (561) 923-6550
> e-mail                jack.bloch@icn.siemens.com
> 
> 

^ permalink raw reply	[flat|nested] 348+ messages in thread
* RE: your mail
@ 2004-02-13 19:14 Bloch, Jack
  0 siblings, 0 replies; 348+ messages in thread
From: Bloch, Jack @ 2004-02-13 19:14 UTC (permalink / raw)
  To: 'Maciej Zenczykowski'; +Cc: linux-kernel

Yes, your assumtion about the 1GB is correct.

Jack Bloch 
Siemens ICN
phone                (561) 923-6550
e-mail                jack.bloch@icn.siemens.com


-----Original Message-----
From: Maciej Zenczykowski [mailto:maze@cela.pl]
Sent: Friday, February 13, 2004 1:11 PM
To: Bloch, Jack
Cc: linux-kernel@vger.kernel.org
Subject: Re: your mail


The deleted marks in question mean that the file in question has been 
unlinked (rm'ed), however it is still being used and the inode in question 
still exists.  This memory is in use and thus validly takes up mapping 
space.  You'd need to unmap inorder to free that memory.  Deleting a file 
does not delete that file until _all_ processes close and unmap any 
references to it.  What's more worrying is the large area of unmapped 
memory below 1GB (0x40000000), wonder why it doesn't get allocated?  But I 
think the answer is that the standard allocator only searches 1GB..3GB for 
free areas...

Cheers,
MaZe.

On Fri, 13 Feb 2004, Bloch, Jack wrote:

> I am running a 2.4.19 Kernel and have a problem where a process is using
the
> up to the 0xC0000000 of space. It is no longer possible for this process
to
> get any more memory vi mmap or via shmget. However, when I dump the
> /procs/#/maps file, I see large chunks of memory deleted. i.e this should
be
> freely available to be used by the next call. I do not see these addresses
> get re-used. The maps file is attached.
> 
>  <<9369>> 
> 
> Jack Bloch 
> Siemens ICN
> phone                (561) 923-6550
> e-mail                jack.bloch@icn.siemens.com
> 
> 

^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2004-02-13 16:45 Bloch, Jack
  2004-02-13 18:11 ` your mail Maciej Zenczykowski
  0 siblings, 1 reply; 348+ messages in thread
From: Bloch, Jack @ 2004-02-13 16:45 UTC (permalink / raw)
  To: linux-kernel

[-- Attachment #1: Type: text/plain, Size: 536 bytes --]

I am running a 2.4.19 Kernel and have a problem where a process is using the
up to the 0xC0000000 of space. It is no longer possible for this process to
get any more memory vi mmap or via shmget. However, when I dump the
/procs/#/maps file, I see large chunks of memory deleted. i.e this should be
freely available to be used by the next call. I do not see these addresses
get re-used. The maps file is attached.

 <<9369>> 

Jack Bloch 
Siemens ICN
phone                (561) 923-6550
e-mail                jack.bloch@icn.siemens.com


[-- Attachment #2: 9369 --]
[-- Type: application/octet-stream, Size: 39780 bytes --]

08048000-08165000 r-xp 00000000 08:02 1229201    /unisphere/srx3000/callp/bin/ucemain
08165000-08181000 rw-p 0011d000 08:02 1229201    /unisphere/srx3000/callp/bin/ucemain
08181000-08259000 rwxp 00000000 00:00 0
40000000-40012000 r-xp 00000000 08:02 3473423    /lib/ld-2.2.5.so
40012000-40013000 rw-p 00011000 08:02 3473423    /lib/ld-2.2.5.so
40013000-40014000 rw-p 00000000 00:00 0
40014000-4002d000 r-xp 00000000 08:02 3146425    /unisphere/srx3000/callp/lib/libUceMsg.so
4002d000-40032000 rw-p 00018000 08:02 3146425    /unisphere/srx3000/callp/lib/libUceMsg.so
40032000-4003b000 rw-p 00000000 00:00 0
4003b000-4014a000 r-xp 00000000 08:02 3146373    /unisphere/srx3000/callp/lib/librss.so
4014a000-40167000 rw-p 0010f000 08:02 3146373    /unisphere/srx3000/callp/lib/librss.so
40167000-40169000 rw-p 00000000 00:00 0
40169000-40173000 r-xp 00000000 08:02 3146393    /unisphere/srx3000/callp/lib/libdbal_no_LDAP.so
40173000-40174000 rw-p 0000a000 08:02 3146393    /unisphere/srx3000/callp/lib/libdbal_no_LDAP.so
40174000-4017f000 r-xp 00000000 08:02 3146419    /unisphere/srx3000/callp/lib/libstormgr.so
4017f000-40181000 rw-p 0000b000 08:02 3146419    /unisphere/srx3000/callp/lib/libstormgr.so
40181000-40182000 rw-p 00000000 00:00 0
40182000-40186000 r-xp 00000000 08:02 901822     /opt/SMAW/SMAWrtp/lib/libRtpSta.so
40186000-40187000 rw-p 00004000 08:02 901822     /opt/SMAW/SMAWrtp/lib/libRtpSta.so
40187000-4018d000 r-xp 00000000 08:02 901825     /opt/SMAW/SMAWrtp/lib/libRtpTic.so
4018d000-40190000 rw-p 00006000 08:02 901825     /opt/SMAW/SMAWrtp/lib/libRtpTic.so
40190000-40192000 r-xp 00000000 08:02 901790     /opt/SMAW/SMAWrtp/lib/libRtpUtil.so
40192000-40193000 rw-p 00002000 08:02 901790     /opt/SMAW/SMAWrtp/lib/libRtpUtil.so
40193000-401bf000 r-xp 00000000 08:02 901786     /opt/SMAW/SMAWrtp/lib/libRtpTm.so
401bf000-401c1000 rw-p 0002b000 08:02 901786     /opt/SMAW/SMAWrtp/lib/libRtpTm.so
401c1000-401c9000 rw-p 00000000 00:00 0
401c9000-40256000 r-xp 00000000 08:02 901780     /opt/SMAW/SMAWrtp/lib/libRtpCtx.so
40256000-40263000 rw-p 0008d000 08:02 901780     /opt/SMAW/SMAWrtp/lib/libRtpCtx.so
40263000-4027b000 rw-p 00000000 00:00 0
4027b000-4030d000 r-xp 00000000 08:02 901782     /opt/SMAW/SMAWrtp/lib/libRtpEvent.so
4030d000-4031d000 rw-p 00091000 08:02 901782     /opt/SMAW/SMAWrtp/lib/libRtpEvent.so
4031d000-40328000 r-xp 00000000 08:02 901773     /opt/SMAW/SMAWrtp/lib/libRtpCfg.so
40328000-40330000 rw-p 0000b000 08:02 901773     /opt/SMAW/SMAWrtp/lib/libRtpCfg.so
40330000-40331000 rw-p 00000000 00:00 0
40331000-40341000 r-xp 00000000 08:02 901817     /opt/SMAW/SMAWrtp/lib/libRtpDbiSolid.so
40341000-40342000 rw-p 0000f000 08:02 901817     /opt/SMAW/SMAWrtp/lib/libRtpDbiSolid.so
40342000-40344000 rw-p 00000000 00:00 0
40344000-4034b000 r-xp 00000000 08:02 901787     /opt/SMAW/SMAWrtp/lib/libRtpTrc.so
4034b000-4034c000 rw-p 00007000 08:02 901787     /opt/SMAW/SMAWrtp/lib/libRtpTrc.so
4034c000-40375000 r-xp 00000000 08:02 901778     /opt/SMAW/SMAWrtp/lib/libRtpCom.so
40375000-40383000 rw-p 00028000 08:02 901778     /opt/SMAW/SMAWrtp/lib/libRtpCom.so
40383000-40386000 r-xp 00000000 08:02 901789     /opt/SMAW/SMAWrtp/lib/libRtpUpdate.so
40386000-4038a000 rw-p 00003000 08:02 901789     /opt/SMAW/SMAWrtp/lib/libRtpUpdate.so
4038a000-4038d000 r-xp 00000000 08:02 901785     /opt/SMAW/SMAWrtp/lib/libRtpSnm.so
4038d000-4038e000 rw-p 00002000 08:02 901785     /opt/SMAW/SMAWrtp/lib/libRtpSnm.so
4038e000-40390000 r-xp 00000000 08:02 901779     /opt/SMAW/SMAWrtp/lib/libRtpCommon.so
40390000-40391000 rw-p 00001000 08:02 901779     /opt/SMAW/SMAWrtp/lib/libRtpCommon.so
40391000-40392000 rw-p 00000000 00:00 0
40392000-4039b000 r-xp 00000000 08:02 901774     /opt/SMAW/SMAWrtp/lib/libRtpCfgAdm.so
4039b000-403a3000 rw-p 00009000 08:02 901774     /opt/SMAW/SMAWrtp/lib/libRtpCfgAdm.so
403a3000-403a4000 rw-p 00000000 00:00 0
403a4000-4046d000 r-xp 00000000 08:02 409972     /usr/local/solid41/lib/socl2x41.so
4046d000-40479000 rw-p 000c9000 08:02 409972     /usr/local/solid41/lib/socl2x41.so
40479000-40486000 rw-p 00000000 00:00 0
40486000-40495000 r-xp 00000000 08:02 3146382    /unisphere/srx3000/callp/lib/libSrxCommon.so
40495000-40498000 rw-p 0000f000 08:02 3146382    /unisphere/srx3000/callp/lib/libSrxCommon.so
40498000-4049a000 r-xp 00000000 08:02 3146384    /unisphere/srx3000/callp/lib/libuce.so
4049a000-4049b000 rw-p 00002000 08:02 3146384    /unisphere/srx3000/callp/lib/libuce.so
4049b000-405a6000 r-xp 00000000 08:02 3146420    /unisphere/srx3000/callp/lib/libxla.so
405a6000-405cb000 rw-p 0010a000 08:02 3146420    /unisphere/srx3000/callp/lib/libxla.so
405cb000-405ce000 rw-p 00000000 00:00 0
405ce000-405e0000 r-xp 00000000 08:02 3146412    /unisphere/srx3000/callp/lib/libCdmInterface.so
405e0000-405e3000 rw-p 00011000 08:02 3146412    /unisphere/srx3000/callp/lib/libCdmInterface.so
405e3000-40770000 r-xp 00000000 08:02 3146418    /unisphere/srx3000/callp/lib/librtm.so
40770000-4079e000 rw-p 0018c000 08:02 3146418    /unisphere/srx3000/callp/lib/librtm.so
4079e000-4079f000 rw-s 00000000 00:05 7340244    /SYSV580202a1 (deleted)
4079f000-407a0000 rw-s 00000000 00:05 524292     /SYSVa800e006 (deleted)
407a0000-407a1000 rw-p 00000000 00:00 0
407a1000-407a2000 rw-s 00000000 00:05 7340244    /SYSV580202a1 (deleted)
407a2000-407a3000 rw-s 00000000 00:05 6848709    /SYSV28024276 (deleted)
407a3000-407ab000 rw-p 00000000 00:00 0
407ab000-407ac000 rw-s 00000000 00:05 6848709    /SYSV28024276 (deleted)
407ac000-407ad000 rw-s 00000000 00:05 6848709    /SYSV28024276 (deleted)
407ad000-407b1000 rw-p 0000a000 00:00 0
407b1000-407b3000 r-xp 00000000 08:02 3473433    /lib/libdl.so.2
407b3000-407b4000 rw-p 00001000 08:02 3473433    /lib/libdl.so.2
407b4000-407b5000 rw-p 00000000 00:00 0
407b5000-407c7000 r-xp 00000000 08:02 3473436    /lib/libnsl.so.1
407c7000-407c8000 rw-p 00011000 08:02 3473436    /lib/libnsl.so.1
407c8000-407ca000 rw-p 00000000 00:00 0
407ca000-407d1000 r-xp 00000000 08:02 3146383    /unisphere/srx3000/callp/lib/libftp.so
407d1000-407d2000 rw-p 00006000 08:02 3146383    /unisphere/srx3000/callp/lib/libftp.so
407d2000-407f0000 r-xp 00000000 08:02 3146421    /unisphere/srx3000/callp/lib/libsdal.so
407f0000-407f3000 rw-p 0001e000 08:02 3146421    /unisphere/srx3000/callp/lib/libsdal.so
407f3000-4087d000 r-xp 00000000 08:02 3146371    /unisphere/srx3000/callp/lib/libinal.so
4087d000-40889000 rw-p 00089000 08:02 3146371    /unisphere/srx3000/callp/lib/libinal.so
40889000-4088a000 rw-p 00000000 00:00 0
4088a000-408ca000 r-xp 00000000 08:02 3146427    /unisphere/srx3000/callp/lib/libssal.so
408ca000-408cf000 rw-p 0003f000 08:02 3146427    /unisphere/srx3000/callp/lib/libssal.so
408cf000-40cdb000 rw-p 00000000 00:00 0
40cdb000-40ce2000 r-xp 00000000 08:02 3146426    /unisphere/srx3000/callp/lib/libgenbcid.so
40ce2000-40ce3000 rw-p 00007000 08:02 3146426    /unisphere/srx3000/callp/lib/libgenbcid.so
40ce3000-40d02000 r-xp 00000000 08:02 3146380    /unisphere/srx3000/callp/lib/libSVCcommon.so
40d02000-40d04000 rw-p 0001f000 08:02 3146380    /unisphere/srx3000/callp/lib/libSVCcommon.so
40d04000-40d05000 rw-p 00000000 00:00 0
40d05000-40d1e000 r-xp 00000000 08:02 3146372    /unisphere/srx3000/callp/lib/libAuthClient.so
40d1e000-40d20000 rw-p 00018000 08:02 3146372    /unisphere/srx3000/callp/lib/libAuthClient.so
40d20000-40d2e000 r-xp 00000000 08:02 3146410    /unisphere/srx3000/callp/lib/libAuc.so
40d2e000-40d31000 rw-p 0000d000 08:02 3146410    /unisphere/srx3000/callp/lib/libAuc.so
40d31000-40d51000 r-xp 00000000 08:02 3146377    /unisphere/srx3000/callp/lib/libCDR.so
40d51000-40d55000 rw-p 0001f000 08:02 3146377    /unisphere/srx3000/callp/lib/libCDR.so
40d55000-40d57000 rw-p 00000000 00:00 0
40d57000-40d5b000 r-xp 00000000 08:02 3146408    /unisphere/srx3000/callp/lib/libOpRtt.so
40d5b000-40d5c000 rw-p 00004000 08:02 3146408    /unisphere/srx3000/callp/lib/libOpRtt.so
40d5c000-40d7c000 r-xp 00000000 08:02 3146376    /unisphere/srx3000/callp/lib/libSrxTrcMgr.so
40d7c000-40d7f000 rw-p 0001f000 08:02 3146376    /unisphere/srx3000/callp/lib/libSrxTrcMgr.so
40d7f000-40d80000 rw-p 00000000 00:00 0
40d80000-40d82000 r-xp 00000000 08:02 3146375    /unisphere/srx3000/callp/lib/libSrxTrcCli.so
40d82000-40d83000 rw-p 00001000 08:02 3146375    /unisphere/srx3000/callp/lib/libSrxTrcCli.so
40d83000-40d8d000 r-xp 00000000 08:02 3146378    /unisphere/srx3000/callp/lib/libEM.so
40d8d000-40d8e000 rw-p 0000a000 08:02 3146378    /unisphere/srx3000/callp/lib/libEM.so
40d8e000-40d8f000 rw-p 00000000 00:00 0
40d8f000-40da1000 r-xp 00000000 08:02 3146374    /unisphere/srx3000/callp/lib/libBgApi.so
40da1000-40da3000 rw-p 00011000 08:02 3146374    /unisphere/srx3000/callp/lib/libBgApi.so
40da3000-40e0b000 r-xp 00000000 08:02 3146414    /unisphere/srx3000/callp/lib/libXdmInterface.so
40e0b000-40e1d000 rw-p 00067000 08:02 3146414    /unisphere/srx3000/callp/lib/libXdmInterface.so
40e1d000-40eb6000 r-xp 00000000 08:02 1474757    /usr/lib/libstdc++.so.5.0.0
40eb6000-40ecb000 rw-p 00098000 08:02 1474757    /usr/lib/libstdc++.so.5.0.0
40ecb000-40ed0000 rw-p 00000000 00:00 0
40ed0000-40ef2000 r-xp 00000000 08:02 3473434    /lib/libm.so.6
40ef2000-40ef3000 rw-p 00021000 08:02 3473434    /lib/libm.so.6
40ef3000-40efa000 r-xp 00000000 08:02 3473460    /lib/libgcc_s.so.1
40efa000-40efb000 rw-p 00007000 08:02 3473460    /lib/libgcc_s.so.1
40efb000-4100f000 r-xp 00000000 08:02 3473429    /lib/libc.so.6
4100f000-41015000 rw-p 00113000 08:02 3473429    /lib/libc.so.6
41015000-41019000 rw-p 00000000 00:00 0
41019000-41027000 r-xp 00000000 08:02 3473445    /lib/libpthread.so.0
41027000-4102e000 rw-p 0000e000 08:02 3473445    /lib/libpthread.so.0
4102e000-41030000 rw-p 00000000 00:00 0
41030000-63d46000 rw-s 00000000 00:05 6947016    /SYSV01020282 (deleted)
63d46000-63d86000 rw-p 00000000 00:00 0
63d86000-63d8f000 rw-s 00000000 00:05 753675     /SYSVa8001005 (deleted)
63d8f000-63d90000 rw-s 00000000 00:05 2293818    /SYSVa8006046 (deleted)
63d90000-63d91000 rw-s 00000000 00:05 2326587    /SYSVa8006048 (deleted)
63d91000-63d9a000 r-xp 00000000 08:02 3473440    /lib/libnss_files.so.2
63d9a000-63d9b000 rw-p 00008000 08:02 3473440    /lib/libnss_files.so.2
63d9b000-6455c000 rw-s 00000000 00:05 720906     /SYSVa8001000 (deleted)
6455c000-647b2000 rw-s 00000000 00:05 8257772    /SYSVa8020040 (deleted)
647b2000-65013000 rw-s 00000000 00:05 819213     /SYSVa8001001 (deleted)
65013000-6512d000 rw-s 00000000 00:05 786444     /SYSVa8020000 (deleted)
6512d000-651cf000 rw-s 00000000 00:05 458753     /SYSVa8004001 (deleted)
651cf000-65391000 rw-s 00000000 00:05 2064435    /SYSVa8006000 (deleted)
65391000-653a6000 rw-s 00000000 00:05 2228280    /SYSVa8006003 (deleted)
653a6000-653b1000 rw-s 00000000 00:05 2261049    /SYSVa8006047 (deleted)
653b1000-653b2000 rw-s 00000000 00:05 2359356    /SYSVa8006049 (deleted)
653b2000-653bd000 rw-s 00000000 00:05 2392125    /SYSVa8006051 (deleted)
653bd000-653c0000 rw-s 00000000 00:05 2424894    /SYSVa8006050 (deleted)
653c0000-653c1000 rw-s 00000000 00:05 2457663    /SYSVa8006052 (deleted)
653c1000-653d1000 rw-s 00000000 00:05 2490432    /SYSVa8006053 (deleted)
653d1000-653dc000 rw-s 00000000 00:05 2523201    /SYSVa8006209 (deleted)
653dc000-653f3000 rw-s 00000000 00:05 2555970    /SYSVa8006208 (deleted)
653f3000-653f4000 rw-s 00000000 00:05 2588739    /SYSVa800620a (deleted)
653f4000-654ee000 rw-s 00000000 00:05 2621508    /SYSVa800620b (deleted)
654ee000-65519000 rw-s 00000000 00:05 2654277    /SYSVa8006231 (deleted)
65519000-6589c000 rw-s 00000000 00:05 2687046    /SYSVa8006230 (deleted)
6589c000-6589e000 rw-s 00000000 00:05 2719815    /SYSVa8006232 (deleted)
6589e000-6b614000 rw-s 00000000 00:05 2752584    /SYSVa8006233 (deleted)
6b614000-6b63f000 rw-s 00000000 00:05 2785353    /SYSVa800623b (deleted)
6b63f000-6b9c2000 rw-s 00000000 00:05 2818122    /SYSVa800623a (deleted)
6b9c2000-6b9c4000 rw-s 00000000 00:05 2850891    /SYSVa800623c (deleted)
6b9c4000-6cb51000 rw-s 00000000 00:05 2883660    /SYSVa800623d (deleted)
6cb51000-6cb7c000 rw-s 00000000 00:05 2916429    /SYSVa800624f (deleted)
6cb7c000-6ceff000 rw-s 00000000 00:05 2949198    /SYSVa800624e (deleted)
6ceff000-6cf01000 rw-s 00000000 00:05 2981967    /SYSVa8006250 (deleted)
6cf01000-6d2d2000 rw-s 00000000 00:05 3014736    /SYSVa8006251 (deleted)
6d2d2000-6d2fd000 rw-s 00000000 00:05 3047505    /SYSVa800626d (deleted)
6d2fd000-6d680000 rw-s 00000000 00:05 3080274    /SYSVa800626c (deleted)
6d680000-6d682000 rw-s 00000000 00:05 3113043    /SYSVa800626e (deleted)
6d682000-6e046000 rw-s 00000000 00:05 3145812    /SYSVa800626f (deleted)
6e046000-6e051000 rw-s 00000000 00:05 3178581    /SYSVa8006277 (deleted)
6e051000-6e052000 rw-s 00000000 00:05 3211350    /SYSVa8006276 (deleted)
6e052000-6e053000 rw-s 00000000 00:05 3244119    /SYSVa8006278 (deleted)
6e053000-6e054000 rw-s 00000000 00:05 3276888    /SYSVa8006279 (deleted)
6e054000-6e06f000 rw-s 00000000 00:05 3309657    /SYSVa8006281 (deleted)
6e06f000-6e1e0000 rw-s 00000000 00:05 3342426    /SYSVa8006280 (deleted)
6e1e0000-6e1e1000 rw-s 00000000 00:05 3375195    /SYSVa8006282 (deleted)
6e1e1000-6e9e3000 rw-s 00000000 00:05 3407964    /SYSVa8006283 (deleted)
6e9e3000-6ea0e000 rw-s 00000000 00:05 3440733    /SYSVa800628b (deleted)
6ea0e000-6ed91000 rw-s 00000000 00:05 3473502    /SYSVa800628a (deleted)
6ed91000-6ed93000 rw-s 00000000 00:05 3506271    /SYSVa800628c (deleted)
6ed93000-6ef7c000 rw-s 00000000 00:05 3539040    /SYSVa800628d (deleted)
6ef7c000-6ef87000 rw-s 00000000 00:05 3571809    /SYSVa800629f (deleted)
6ef87000-6ef9e000 rw-s 00000000 00:05 3604578    /SYSVa800629e (deleted)
6ef9e000-6ef9f000 rw-s 00000000 00:05 3637347    /SYSVa80062a0 (deleted)
6ef9f000-6f099000 rw-s 00000000 00:05 3670116    /SYSVa80062a1 (deleted)
6f099000-6f0a4000 rw-s 00000000 00:05 3702885    /SYSVa80062c7 (deleted)
6f0a4000-6f0bb000 rw-s 00000000 00:05 3735654    /SYSVa80062c6 (deleted)
6f0bb000-6f0bc000 rw-s 00000000 00:05 3768423    /SYSVa80062c8 (deleted)
6f0bc000-6fc5f000 rw-s 00000000 00:05 3801192    /SYSVa80062c9 (deleted)
6fc5f000-6fc8a000 rw-s 00000000 00:05 3833961    /SYSVa80062db (deleted)
6fc8a000-7000d000 rw-s 00000000 00:05 3866730    /SYSVa80062da (deleted)
7000d000-7000f000 rw-s 00000000 00:05 3899499    /SYSVa80062dc (deleted)
7000f000-703e0000 rw-s 00000000 00:05 3932268    /SYSVa80062dd (deleted)
703e0000-7040b000 rw-s 00000000 00:05 3965037    /SYSVa80062f9 (deleted)
7040b000-7078e000 rw-s 00000000 00:05 3997806    /SYSVa80062f8 (deleted)
7078e000-70790000 rw-s 00000000 00:05 4030575    /SYSVa80062fa (deleted)
70790000-71154000 rw-s 00000000 00:05 4063344    /SYSVa80062fb (deleted)
71154000-7115f000 rw-s 00000000 00:05 4096113    /SYSVa8006303 (deleted)
7115f000-71160000 rw-s 00000000 00:05 4128882    /SYSVa8006302 (deleted)
71160000-71161000 rw-s 00000000 00:05 4161651    /SYSVa8006304 (deleted)
71161000-71162000 rw-s 00000000 00:05 4194420    /SYSVa8006305 (deleted)
71162000-7117d000 rw-s 00000000 00:05 4227189    /SYSVa800630d (deleted)
7117d000-712ee000 rw-s 00000000 00:05 4259958    /SYSVa800630c (deleted)
712ee000-712ef000 rw-s 00000000 00:05 4292727    /SYSVa800630e (deleted)
712ef000-71af1000 rw-s 00000000 00:05 4325496    /SYSVa800630f (deleted)
71af1000-71b1c000 rw-s 00000000 00:05 4358265    /SYSVa8006317 (deleted)
71b1c000-71e9f000 rw-s 00000000 00:05 4391034    /SYSVa8006316 (deleted)
71e9f000-71ea1000 rw-s 00000000 00:05 4423803    /SYSVa8006318 (deleted)
71ea1000-7208a000 rw-s 00000000 00:05 4456572    /SYSVa8006319 (deleted)
7208a000-720b5000 rw-s 00000000 00:05 4489341    /SYSVa800632b (deleted)
720b5000-72438000 rw-s 00000000 00:05 4522110    /SYSVa800632a (deleted)
72438000-7243a000 rw-s 00000000 00:05 4554879    /SYSVa800632c (deleted)
7243a000-73b1e000 rw-s 00000000 00:05 4587648    /SYSVa800632d (deleted)
73b1e000-73b49000 rw-s 00000000 00:05 4620417    /SYSVa8006335 (deleted)
73b49000-73ecc000 rw-s 00000000 00:05 4653186    /SYSVa8006334 (deleted)
73ecc000-73ece000 rw-s 00000000 00:05 4685955    /SYSVa8006336 (deleted)
73ece000-755b2000 rw-s 00000000 00:05 4718724    /SYSVa8006337 (deleted)
755b2000-755dd000 rw-s 00000000 00:05 4751493    /SYSVa800633f (deleted)
755dd000-75960000 rw-s 00000000 00:05 4784262    /SYSVa800633e (deleted)
75960000-75962000 rw-s 00000000 00:05 4817031    /SYSVa8006340 (deleted)
75962000-78072000 rw-s 00000000 00:05 4849800    /SYSVa8006341 (deleted)
78072000-7809d000 rw-s 00000000 00:05 4882569    /SYSVa8006349 (deleted)
7809d000-78420000 rw-s 00000000 00:05 4915338    /SYSVa8006348 (deleted)
78420000-78422000 rw-s 00000000 00:05 4948107    /SYSVa800634a (deleted)
78422000-7ab32000 rw-s 00000000 00:05 4980876    /SYSVa800634b (deleted)
7ab32000-7ab4d000 rw-s 00000000 00:05 5013645    /SYSVa8006353 (deleted)
7ab4d000-7ae1c000 rw-s 00000000 00:05 5046414    /SYSVa8006352 (deleted)
7ae1c000-7ae1d000 rw-s 00000000 00:05 5079183    /SYSVa8006354 (deleted)
7ae1d000-7ba52000 rw-s 00000000 00:05 5111952    /SYSVa8006355 (deleted)
7ba52000-7ba6d000 rw-s 00000000 00:05 5144721    /SYSVa800635d (deleted)
7ba6d000-7bd3c000 rw-s 00000000 00:05 5177490    /SYSVa800635c (deleted)
7bd3c000-7bd3d000 rw-s 00000000 00:05 5210259    /SYSVa800635e (deleted)
7bd3d000-7c972000 rw-s 00000000 00:05 5243028    /SYSVa800635f (deleted)
7c972000-7c99d000 rw-s 00000000 00:05 5275797    /SYSVa8006367 (deleted)
7c99d000-7cd20000 rw-s 00000000 00:05 5308566    /SYSVa8006366 (deleted)
7cd20000-7cd22000 rw-s 00000000 00:05 5341335    /SYSVa8006368 (deleted)
7cd22000-7deaf000 rw-s 00000000 00:05 5374104    /SYSVa8006369 (deleted)
7deaf000-7deda000 rw-s 00000000 00:05 5406873    /SYSVa8006371 (deleted)
7deda000-7df34000 rw-s 00000000 00:05 5439642    /SYSVa8006370 (deleted)
7df34000-7df35000 rw-s 00000000 00:05 5472411    /SYSVa8006372 (deleted)
7df35000-7dfe4000 rw-s 00000000 00:05 5505180    /SYSVa8006373 (deleted)
7dfe4000-7dfef000 rw-s 00000000 00:05 5537949    /SYSVa800637b (deleted)
7dfef000-7dff0000 rw-s 00000000 00:05 5570718    /SYSVa800637a (deleted)
7dff0000-7dff1000 rw-s 00000000 00:05 5603487    /SYSVa800637c (deleted)
7dff1000-7dff5000 rw-s 00000000 00:05 5636256    /SYSVa800637d (deleted)
7dff5000-7e000000 rw-s 00000000 00:05 5669025    /SYSVa8006385 (deleted)
7e000000-7e001000 rw-s 00000000 00:05 5701794    /SYSVa8006384 (deleted)
7e001000-7e002000 rw-s 00000000 00:05 5734563    /SYSVa8006386 (deleted)
7e002000-7e006000 rw-s 00000000 00:05 5767332    /SYSVa8006387 (deleted)
7e006000-7e031000 rw-s 00000000 00:05 5800101    /SYSVa800638f (deleted)
7e031000-7e3b4000 rw-s 00000000 00:05 5832870    /SYSVa800638e (deleted)
7e3b4000-7e3b6000 rw-s 00000000 00:05 5865639    /SYSVa8006390 (deleted)
7e3b6000-83002000 rw-s 00000000 00:05 5898408    /SYSVa8006391 (deleted)
83002000-8302d000 rw-s 00000000 00:05 5931177    /SYSVa8006399 (deleted)
8302d000-833b0000 rw-s 00000000 00:05 5963946    /SYSVa8006398 (deleted)
833b0000-833b2000 rw-s 00000000 00:05 5996715    /SYSVa800639a (deleted)
833b2000-8453f000 rw-s 00000000 00:05 6029484    /SYSVa800639b (deleted)
8453f000-8456a000 rw-s 00000000 00:05 6062253    /SYSVa80063a3 (deleted)
8456a000-848ed000 rw-s 00000000 00:05 6095022    /SYSVa80063a2 (deleted)
848ed000-848ef000 rw-s 00000000 00:05 6127791    /SYSVa80063a4 (deleted)
848ef000-85a7c000 rw-s 00000000 00:05 6160560    /SYSVa80063a5 (deleted)
85a7c000-85aa7000 rw-s 00000000 00:05 6193329    /SYSVa80063ad (deleted)
85aa7000-85b88000 rw-s 00000000 00:05 6226098    /SYSVa80063ac (deleted)
85b88000-85b89000 rw-s 00000000 00:05 6258867    /SYSVa80063ae (deleted)
85b89000-85beb000 rw-s 00000000 00:05 6291636    /SYSVa80063af (deleted)
85beb000-85c06000 rw-s 00000000 00:05 6324405    /SYSVa80063b7 (deleted)
85c06000-85d77000 rw-s 00000000 00:05 6357174    /SYSVa80063b6 (deleted)
85d77000-85d78000 rw-s 00000000 00:05 6389943    /SYSVa80063b8 (deleted)
85d78000-8657a000 rw-s 00000000 00:05 6422712    /SYSVa80063b9 (deleted)
8657a000-8657b000 r--s 00000000 00:05 0          /SYSV8901a000 (deleted)
8657b000-86587000 rw-s 00000000 00:05 622599     /SYSVa800e001 (deleted)
86587000-86588000 rw-s 00000000 00:05 655368     /SYSVa800e002 (deleted)
86588000-86589000 rw-s 00000000 00:05 1638438    /SYSVa8003000 (deleted)
86589000-8658b000 rw-s 00000000 00:05 1703976    /SYSVa800300a (deleted)
8658b000-8658c000 rw-s 00000000 00:05 6848709    /SYSV28024276 (deleted)
8658c000-86594000 rw-p 00004000 00:00 0
86594000-865cb000 rw-s 00000000 00:05 983058     /SYSVa802000e (deleted)
865cb000-870dc000 rw-s 00000000 00:05 1769514    /SYSVa8003002 (deleted)
870dc000-870de000 rw-s 00000000 00:05 1671207    /SYSVa8003026 (deleted)
870de000-870e2000 rw-p 00000000 00:00 0
870e2000-871db000 rw-s 00000000 08:02 1262235    /unisphere/srx3000/callp/etc/rss/mappedSubEndpointIndexTbl
871db000-8ab18000 rw-s 00000000 08:02 1262233    /unisphere/srx3000/callp/etc/rss/mappedSubSvcTbl
8ab18000-8afe1000 rw-s 00000000 08:02 1262237    /unisphere/srx3000/callp/etc/rss/mappedRetailerSvcTbl
8afe1000-8b4aa000 rw-s 00000000 08:02 1262239    /unisphere/srx3000/callp/etc/rss/mappedRetailerIndexTbl
8b4aa000-8b5a3000 rw-s 00000000 08:02 1262241    /unisphere/srx3000/callp/etc/rss/mappedTimezoneTbl
8b5a3000-8e557000 rw-s 00000000 08:02 1262243    /unisphere/srx3000/callp/etc/rss/mappedSubSipTbl
8e557000-8e744000 rw-s 00000000 08:02 1262245    /unisphere/srx3000/callp/etc/rss/mappedSysSipTbl
8e744000-8e931000 rw-s 00000000 08:02 1262247    /unisphere/srx3000/callp/etc/rss/mappedSysSipIndexTbl
8e931000-8ea2a000 rw-s 00000000 08:02 1262249    /unisphere/srx3000/callp/etc/rss/mappedBGBusinessGrpTbl
8ea2a000-8eb23000 rw-s 00000000 08:02 1262251    /unisphere/srx3000/callp/etc/rss/mappedBGMainNumTbl
8eb23000-8ec1c000 rw-s 00000000 08:02 1262253    /unisphere/srx3000/callp/etc/rss/mappedBGDialPlanTbl
8ec1c000-8ed15000 rw-s 00000000 08:02 1262255    /unisphere/srx3000/callp/etc/rss/mappedBGSvcTbl
8ed15000-8ee0e000 rw-s 00000000 08:02 1262257    /unisphere/srx3000/callp/etc/rss/mappedBGTrafficCountTbl
8ee0e000-8ef07000 rw-s 00000000 08:02 1262259    /unisphere/srx3000/callp/etc/rss/mappedTeenChildTbl
8ef07000-8f000000 rw-s 00000000 08:02 1262261    /unisphere/srx3000/callp/etc/rss/mappedTeenParentTbl
8f000000-8f0f9000 rw-s 00000000 08:02 1262263    /unisphere/srx3000/callp/etc/rss/mappedBGAttendantNumTbl
8f0f9000-8f1f2000 rw-s 00000000 08:02 1262265    /unisphere/srx3000/callp/etc/rss/mappedBGSvcAccessCodeTbl
8f1f2000-8f6bb000 rw-s 00000000 08:02 1262267    /unisphere/srx3000/callp/etc/rss/mappedKeysetInfoTbl
8f6bb000-8fb84000 rw-s 00000000 08:02 1262269    /unisphere/srx3000/callp/etc/rss/mappedCustomerTbl
8fb84000-9004d000 rw-s 00000000 08:02 1262271    /unisphere/srx3000/callp/etc/rss/mappedNumberPlanTbl
9004d000-9004e000 rw-s 00000000 00:05 6848709    /SYSV28024276 (deleted)
9004e000-90052000 rw-p 00000000 00:00 0
90052000-9007e000 rw-s 00000000 00:05 1966128    /SYSVa8005000 (deleted)
9007e000-9007f000 rw-s 00000000 00:05 6848709    /SYSV28024276 (deleted)
9007f000-90097000 rw-p 00001000 00:00 0
90097000-900bc000 rw-s 00000000 00:05 1409055    /SYSVa8020018 (deleted)
900bc000-b2dd2000 rw-s 00000000 00:05 6947016    /SYSV01020282 (deleted)
b2dd2000-b2dd6000 rw-p 00000000 00:00 0
b2dd6000-b2ecf000 rw-s 00000000 08:02 2343590    /unisphere/srx3000/callp/etc/xla/mappedDomainTbl
b2ecf000-b46ab000 rw-s 00000000 08:02 2343592    /unisphere/srx3000/callp/etc/xla/mappedZoneTbl
b46ab000-b5039000 rw-s 00000000 08:02 2343594    /unisphere/srx3000/callp/etc/xla/mappedE164DestTbl
b5039000-b55f6000 rw-s 00000000 08:02 2343596    /unisphere/srx3000/callp/etc/xla/mappedTODDestTbl
b55f6000-b6449000 rw-s 00000000 08:02 2343600    /unisphere/srx3000/callp/etc/xla/mappedHomeDnTbl
b6449000-b729c000 rw-s 00000000 08:02 2343602    /unisphere/srx3000/callp/etc/xla/mappedPNPCodeTbl
b729c000-b757d000 rw-s 00000000 08:02 2343598    /unisphere/srx3000/callp/etc/xla/mappedE164PrefixTbl
b757d000-b7a46000 rw-s 00000000 08:02 2343604    /unisphere/srx3000/callp/etc/xla/mappedCarrDestTbl
b7a46000-b7a4d000 rw-s 00000000 08:02 2343606    /unisphere/srx3000/callp/etc/xla/mappedChargeRateTbl
b7a4d000-b9229000 rw-s 00000000 08:02 2343608    /unisphere/srx3000/callp/etc/xla/mappedIntcptTbl
b9229000-b9246000 rw-s 00000000 08:02 2343610    /unisphere/srx3000/callp/etc/xla/mappedNtmOmTbl
b9246000-ba55d000 rw-s 00000000 08:02 2343612    /unisphere/srx3000/callp/etc/xla/mappedE164DnTbl
ba55d000-ba569000 rw-p 00000000 00:00 0
ba569000-bd51d000 rw-s 00000000 08:02 1737316    /unisphere/srx3000/callp/etc/sdal/mappedSvcData
bd51d000-bd9e6000 rw-s 00000000 08:02 1917616    /unisphere/srx3000/callp/etc/ssal/mappedCallData
bd9e6000-bdeaf000 rw-s 00000000 08:02 1917618    /unisphere/srx3000/callp/etc/ssal/mappedCpuRingList
bdeaf000-bdebb000 rw-s 00000000 08:02 672432     /global/user/bcid/mappedBcidCountData
bdebb000-bdebc000 rw-s 00000000 00:05 6848709    /SYSV28024276 (deleted)
bdebc000-bdec8000 rw-p 00001000 00:00 0
bdec8000-bdee5000 rw-s 00000000 08:02 639428     /unisphere/srx3000/callp/etc/inal/mappedINFaultHandlingTbl
bdee5000-bdf02000 rw-s 00000000 08:02 639477     /unisphere/srx3000/callp/etc/inal/mappedINSvcLogicHostRouteTbl
bdf02000-bdf1f000 rw-s 00000000 08:02 639479     /unisphere/srx3000/callp/etc/inal/mappedINEscCodeGrpTbl
bdf1f000-bdf3c000 rw-s 00000000 08:02 639481     /unisphere/srx3000/callp/etc/inal/mappedINEscCodeEntryTbl
bdf3c000-bdfbb000 rw-s 00000000 08:02 639483     /unisphere/srx3000/callp/etc/inal/mappedINTriggerTbl
bdfbb000-be0b4000 rw-s 00000000 08:02 639485     /unisphere/srx3000/callp/etc/inal/mappedINProfileTbl
be0b4000-be57d000 rw-s 00000000 08:02 639487     /unisphere/srx3000/callp/etc/inal/mappedINProfileTrigTbl
be57d000-be59a000 r-xp 00000000 08:02 3244502    /unisphere/srx3000/callp/lib/services/libSVCac.so
be59a000-be59d000 rw-p 0001d000 08:02 3244502    /unisphere/srx3000/callp/lib/services/libSVCac.so
be59d000-be59e000 rw-s 00000000 00:05 6848709    /SYSV28024276 (deleted)
be59e000-be5b2000 rw-p 00001000 00:00 0
be5b2000-be5d6000 r-xp 00000000 08:02 3244503    /unisphere/srx3000/callp/lib/services/libSVCacr.so
be5d6000-be5d9000 rw-p 00024000 08:02 3244503    /unisphere/srx3000/callp/lib/services/libSVCacr.so
be5d9000-be5e5000 rw-p 00000000 00:00 0
be5e5000-be63c000 r-xp 00000000 08:02 3244504    /unisphere/srx3000/callp/lib/services/libSVCin.so
be63c000-be643000 rw-p 00057000 08:02 3244504    /unisphere/srx3000/callp/lib/services/libSVCin.so
be643000-be663000 r-xp 00000000 08:02 3244505    /unisphere/srx3000/callp/lib/services/libSVCar.so
be663000-be666000 rw-p 0001f000 08:02 3244505    /unisphere/srx3000/callp/lib/services/libSVCar.so
be666000-be667000 rw-s 00000000 00:05 6848709    /SYSV28024276 (deleted)
be667000-be668000 rw-s 00000000 00:05 6848709    /SYSV28024276 (deleted)
be668000-be67c000 rw-p 00001000 00:00 0
be67c000-be689000 r-xp 00000000 08:02 3244506    /unisphere/srx3000/callp/lib/services/libSVCmn.so
be689000-be68a000 rw-p 0000d000 08:02 3244506    /unisphere/srx3000/callp/lib/services/libSVCmn.so
be68a000-be69b000 r-xp 00000000 08:02 3244507    /unisphere/srx3000/callp/lib/services/libSVCbgsr.so
be69b000-be69d000 rw-p 00010000 08:02 3244507    /unisphere/srx3000/callp/lib/services/libSVCbgsr.so
be69d000-be6a8000 r-xp 00000000 08:02 3244508    /unisphere/srx3000/callp/lib/services/libSVCbgsvc.so
be6a8000-be6a9000 rw-p 0000a000 08:02 3244508    /unisphere/srx3000/callp/lib/services/libSVCbgsvc.so
be6a9000-be6ba000 r-xp 00000000 08:02 3244509    /unisphere/srx3000/callp/lib/services/libSVCblv.so
be6ba000-be6bc000 rw-p 00010000 08:02 3244509    /unisphere/srx3000/callp/lib/services/libSVCblv.so
be6bc000-be6f7000 r-xp 00000000 08:02 3244512    /unisphere/srx3000/callp/lib/services/caleaaf.so
be6f7000-be6fd000 rw-p 0003b000 08:02 3244512    /unisphere/srx3000/callp/lib/services/caleaaf.so
be6fd000-be70b000 r-xp 00000000 08:02 3244513    /unisphere/srx3000/callp/lib/services/libSVCccw.so
be70b000-be70d000 rw-p 0000d000 08:02 3244513    /unisphere/srx3000/callp/lib/services/libSVCccw.so
be70d000-be774000 r-xp 00000000 08:02 3244514    /unisphere/srx3000/callp/lib/services/libSVCcf.so
be774000-be77c000 rw-p 00067000 08:02 3244514    /unisphere/srx3000/callp/lib/services/libSVCcf.so
be77c000-be780000 rw-p 00000000 00:00 0
be780000-be7af000 r-xp 00000000 08:02 3244515    /unisphere/srx3000/callp/lib/services/libSVCchd.so
be7af000-be7b3000 rw-p 0002f000 08:02 3244515    /unisphere/srx3000/callp/lib/services/libSVCchd.so
be7b3000-be7bd000 r-xp 00000000 08:02 3244516    /unisphere/srx3000/callp/lib/services/libSVCcidcw.so
be7bd000-be7be000 rw-p 00009000 08:02 3244516    /unisphere/srx3000/callp/lib/services/libSVCcidcw.so
be7be000-be7cb000 r-xp 00000000 08:02 3244517    /unisphere/srx3000/callp/lib/services/libSVCcid.so
be7cb000-be7cc000 rw-p 0000d000 08:02 3244517    /unisphere/srx3000/callp/lib/services/libSVCcid.so
be7cc000-be7d8000 r-xp 00000000 08:02 3244518    /unisphere/srx3000/callp/lib/services/libSVCcidsd.so
be7d8000-be7da000 rw-p 0000b000 08:02 3244518    /unisphere/srx3000/callp/lib/services/libSVCcidsd.so
be7da000-be7e6000 r-xp 00000000 08:02 3244519    /unisphere/srx3000/callp/lib/services/libSVCcidss.so
be7e6000-be7e8000 rw-p 0000b000 08:02 3244519    /unisphere/srx3000/callp/lib/services/libSVCcidss.so
be7e8000-be7f8000 r-xp 00000000 08:02 3244520    /unisphere/srx3000/callp/lib/services/libSVCcisname.so
be7f8000-be7fa000 rw-p 0000f000 08:02 3244520    /unisphere/srx3000/callp/lib/services/libSVCcisname.so
be7fa000-be808000 r-xp 00000000 08:02 3244521    /unisphere/srx3000/callp/lib/services/libSVCcisnum.so
be808000-be80a000 rw-p 0000d000 08:02 3244521    /unisphere/srx3000/callp/lib/services/libSVCcisnum.so
be80a000-be83d000 r-xp 00000000 08:02 3244522    /unisphere/srx3000/callp/lib/services/libSVCct.so
be83d000-be841000 rw-p 00033000 08:02 3244522    /unisphere/srx3000/callp/lib/services/libSVCct.so
be841000-be851000 r-xp 00000000 08:02 3244523    /unisphere/srx3000/callp/lib/services/libSVCcm.so
be851000-be853000 rw-p 0000f000 08:02 3244523    /unisphere/srx3000/callp/lib/services/libSVCcm.so
be853000-be85f000 r-xp 00000000 08:02 3244524    /unisphere/srx3000/callp/lib/services/libSVCcnab.so
be85f000-be861000 rw-p 0000b000 08:02 3244524    /unisphere/srx3000/callp/lib/services/libSVCcnab.so
be861000-be874000 r-xp 00000000 08:02 3244525    /unisphere/srx3000/callp/lib/services/libSVCcnam.so
be874000-be876000 rw-p 00012000 08:02 3244525    /unisphere/srx3000/callp/lib/services/libSVCcnam.so
be876000-be882000 r-xp 00000000 08:02 3244526    /unisphere/srx3000/callp/lib/services/libSVCcndb.so
be882000-be884000 rw-p 0000b000 08:02 3244526    /unisphere/srx3000/callp/lib/services/libSVCcndb.so
be884000-be8b4000 r-xp 00000000 08:02 3244527    /unisphere/srx3000/callp/lib/services/libSVCcpk.so
be8b4000-be8b8000 rw-p 0002f000 08:02 3244527    /unisphere/srx3000/callp/lib/services/libSVCcpk.so
be8b8000-be8b9000 rw-s 00000000 00:05 6848709    /SYSV28024276 (deleted)
be8b9000-be8ba000 rw-s 00000000 00:05 6848709    /SYSV28024276 (deleted)
be8ba000-be8d6000 rw-p 00001000 00:00 0
be8d6000-be8fd000 r-xp 00000000 08:02 3244528    /unisphere/srx3000/callp/lib/services/libSVCcpu.so
be8fd000-be900000 rw-p 00027000 08:02 3244528    /unisphere/srx3000/callp/lib/services/libSVCcpu.so
be900000-be959000 r-xp 00000000 08:02 3244529    /unisphere/srx3000/callp/lib/services/libSVCcsta.so
be959000-be961000 rw-p 00059000 08:02 3244529    /unisphere/srx3000/callp/lib/services/libSVCcsta.so
be961000-be962000 rw-p 00000000 00:00 0
be962000-be96b000 r-xp 00000000 08:02 3244530    /unisphere/srx3000/callp/lib/services/libSVCcvb.so
be96b000-be96c000 rw-p 00009000 08:02 3244530    /unisphere/srx3000/callp/lib/services/libSVCcvb.so
be96c000-be96d000 rw-s 00000000 00:05 6848709    /SYSV28024276 (deleted)
be96d000-be979000 rw-p 00001000 00:00 0
be979000-be986000 r-xp 00000000 08:02 3244531    /unisphere/srx3000/callp/lib/services/libSVCcwt.so
be986000-be987000 rw-p 0000d000 08:02 3244531    /unisphere/srx3000/callp/lib/services/libSVCcwt.so
be987000-be9a6000 r-xp 00000000 08:02 3244532    /unisphere/srx3000/callp/lib/services/libSVCdrcw.so
be9a6000-be9a9000 rw-p 0001e000 08:02 3244532    /unisphere/srx3000/callp/lib/services/libSVCdrcw.so
be9a9000-bea14000 r-xp 00000000 08:02 3244550    /unisphere/srx3000/callp/lib/services/libSVCsle.so
bea14000-bea1d000 rw-p 0006b000 08:02 3244550    /unisphere/srx3000/callp/lib/services/libSVCsle.so
bea1d000-bea29000 rw-p 00000000 00:00 0
bea29000-bea49000 r-xp 00000000 08:02 3244533    /unisphere/srx3000/callp/lib/services/libSVCeacr.so
bea49000-bea4c000 rw-p 00020000 08:02 3244533    /unisphere/srx3000/callp/lib/services/libSVCeacr.so
bea4c000-bea4d000 rw-s 00000000 00:05 6848709    /SYSV28024276 (deleted)
bea4d000-bea4e000 rw-s 00000000 00:05 6848709    /SYSV28024276 (deleted)
bea4e000-bea6a000 rw-p 00001000 00:00 0
bea6a000-bea77000 r-xp 00000000 08:02 3244534    /unisphere/srx3000/callp/lib/services/libSVCecf.so
bea77000-bea79000 rw-p 0000d000 08:02 3244534    /unisphere/srx3000/callp/lib/services/libSVCecf.so
bea79000-bea8d000 r-xp 00000000 08:02 3244535    /unisphere/srx3000/callp/lib/services/libSVCems.so
bea8d000-bea8f000 rw-p 00013000 08:02 3244535    /unisphere/srx3000/callp/lib/services/libSVCems.so
bea8f000-beaa8000 r-xp 00000000 08:02 3244536    /unisphere/srx3000/callp/lib/services/libSVCkey.so
beaa8000-beaab000 rw-p 00018000 08:02 3244536    /unisphere/srx3000/callp/lib/services/libSVCkey.so
beaab000-beab8000 r-xp 00000000 08:02 3244537    /unisphere/srx3000/callp/lib/services/libSVClnp.so
beab8000-beaba000 rw-p 0000c000 08:02 3244537    /unisphere/srx3000/callp/lib/services/libSVClnp.so
beaba000-bead0000 r-xp 00000000 08:02 3244538    /unisphere/srx3000/callp/lib/services/libSVCmct.so
bead0000-bead2000 rw-p 00015000 08:02 3244538    /unisphere/srx3000/callp/lib/services/libSVCmct.so
bead2000-bead3000 rw-s 00000000 00:05 6848709    /SYSV28024276 (deleted)
bead3000-beae2000 rw-p 00001000 00:00 0
beae2000-beb43000 r-xp 00000000 08:02 3244539    /unisphere/srx3000/callp/lib/services/libSVCmlhg.so
beb43000-beb4a000 rw-p 00061000 08:02 3244539    /unisphere/srx3000/callp/lib/services/libSVCmlhg.so
beb4a000-beb72000 r-xp 00000000 08:02 3146400    /unisphere/srx3000/callp/lib/libMLHGSMif.so
beb72000-beb77000 rw-p 00028000 08:02 3146400    /unisphere/srx3000/callp/lib/libMLHGSMif.so
beb77000-beb7c000 rw-p 00000000 00:00 0
beb7c000-beb84000 r-xp 00000000 08:02 3244541    /unisphere/srx3000/callp/lib/services/libSVCpmcnab.so
beb84000-beb85000 rw-p 00008000 08:02 3244541    /unisphere/srx3000/callp/lib/services/libSVCpmcnab.so
beb85000-beb8b000 rw-p 00000000 00:00 0
beb8b000-beb9a000 r-xp 00000000 08:02 3473446    /lib/libresolv.so.2
beb9a000-beb9b000 rw-p 0000e000 08:02 3473446    /lib/libresolv.so.2
beb9b000-beb9d000 rw-p 00000000 00:00 0
beb9d000-bebbf000 r-xp 00000000 08:02 3244540    /unisphere/srx3000/callp/lib/services/libSVCms.so
bebbf000-bebc2000 rw-p 00021000 08:02 3244540    /unisphere/srx3000/callp/lib/services/libSVCms.so
bebc2000-bebcc000 r-xp 00000000 08:02 3244542    /unisphere/srx3000/callp/lib/services/libSVCpmcndb.so
bebcc000-bebcd000 rw-p 0000a000 08:02 3244542    /unisphere/srx3000/callp/lib/services/libSVCpmcndb.so
bebcd000-bebdd000 r-xp 00000000 08:02 3244543    /unisphere/srx3000/callp/lib/services/libSVCracf.so
bebdd000-bebdf000 rw-p 00010000 08:02 3244543    /unisphere/srx3000/callp/lib/services/libSVCracf.so
bebdf000-bebf7000 rw-p 00000000 00:00 0
bebf7000-bec03000 r-xp 00000000 08:02 3244544    /unisphere/srx3000/callp/lib/services/libSVCrcf.so
bec03000-bec04000 rw-p 0000c000 08:02 3244544    /unisphere/srx3000/callp/lib/services/libSVCrcf.so
bec04000-bec15000 r-xp 00000000 08:02 3244545    /unisphere/srx3000/callp/lib/services/libSVCrfa.so
bec15000-bec17000 rw-p 00010000 08:02 3244545    /unisphere/srx3000/callp/lib/services/libSVCrfa.so
bec17000-bec29000 rw-p 00000000 00:00 0
bec29000-bec4f000 r-xp 00000000 08:02 3244546    /unisphere/srx3000/callp/lib/services/libSVCsca.so
bec4f000-bec53000 rw-p 00025000 08:02 3244546    /unisphere/srx3000/callp/lib/services/libSVCsca.so
bec53000-bec54000 rw-s 00000000 00:05 6848709    /SYSV28024276 (deleted)
bec54000-bec58000 rw-p 00000000 00:00 0
bec58000-bec76000 r-xp 00000000 08:02 3244547    /unisphere/srx3000/callp/lib/services/libSVCscf.so
bec76000-bec79000 rw-p 0001d000 08:02 3244547    /unisphere/srx3000/callp/lib/services/libSVCscf.so
bec79000-bec7a000 rw-s 00000000 00:05 6848709    /SYSV28024276 (deleted)
bec7a000-bec7b000 rw-s 00000000 00:05 6848709    /SYSV28024276 (deleted)
bec7b000-bec87000 rw-p 00001000 00:00 0
bec87000-becb2000 r-xp 00000000 08:02 3244548    /unisphere/srx3000/callp/lib/services/libSVCsc.so
becb2000-becb6000 rw-p 0002b000 08:02 3244548    /unisphere/srx3000/callp/lib/services/libSVCsc.so
becb6000-becb7000 rw-s 00000000 00:05 6848709    /SYSV28024276 (deleted)
becb7000-becd3000 rw-p 00001000 00:00 0
becd3000-becf6000 r-xp 00000000 08:02 3244549    /unisphere/srx3000/callp/lib/services/libSVCscr.so
becf6000-becf9000 rw-p 00023000 08:02 3244549    /unisphere/srx3000/callp/lib/services/libSVCscr.so
becf9000-becfa000 rw-s 00000000 00:05 6848709    /SYSV28024276 (deleted)
becfa000-bed06000 rw-p 00001000 00:00 0
bed06000-bed07000 rw-s 00000000 00:05 6848709    /SYSV28024276 (deleted)
bed07000-bed13000 rw-p 0000e000 00:00 0
bed13000-bed43000 r-xp 00000000 08:02 3244551    /unisphere/srx3000/callp/lib/services/libSVCsrs.so
bed43000-bed48000 rw-p 00030000 08:02 3244551    /unisphere/srx3000/callp/lib/services/libSVCsrs.so
bed48000-bed49000 rw-p 00000000 00:00 0
bed49000-bed4a000 rw-s 00000000 00:05 6848709    /SYSV28024276 (deleted)
bed4a000-bed56000 rw-p 00002000 00:00 0
bed56000-bed61000 r-xp 00000000 08:02 3244555    /unisphere/srx3000/callp/lib/services/libSVCteen.so
bed61000-bed62000 rw-p 0000b000 08:02 3244555    /unisphere/srx3000/callp/lib/services/libSVCteen.so
bed62000-bed63000 rw-s 00000000 00:05 6848709    /SYSV28024276 (deleted)
bed63000-bed7f000 rw-p 00001000 00:00 0
bed7f000-bed8e000 r-xp 00000000 08:02 3244556    /unisphere/srx3000/callp/lib/services/libSVCtfs.so
bed8e000-bed90000 rw-p 0000e000 08:02 3244556    /unisphere/srx3000/callp/lib/services/libSVCtfs.so
bed90000-bed9e000 r-xp 00000000 08:02 3244557    /unisphere/srx3000/callp/lib/services/libSVCtpcc.so
bed9e000-beda0000 rw-p 0000d000 08:02 3244557    /unisphere/srx3000/callp/lib/services/libSVCtpcc.so
beda0000-bedab000 r-xp 00000000 08:02 3244558    /unisphere/srx3000/callp/lib/services/libSVCtrs.so
bedab000-bedac000 rw-p 0000b000 08:02 3244558    /unisphere/srx3000/callp/lib/services/libSVCtrs.so
bedac000-bedad000 rw-s 00000000 00:05 6848709    /SYSV28024276 (deleted)
bedad000-bedb9000 rw-p 00001000 00:00 0
bedb9000-bedeb000 r-xp 00000000 08:02 3244559    /unisphere/srx3000/callp/lib/services/libSVCtwc.so
bedeb000-bedef000 rw-p 00031000 08:02 3244559    /unisphere/srx3000/callp/lib/services/libSVCtwc.so
bedef000-bee05000 r-xp 00000000 08:02 3244561    /unisphere/srx3000/callp/lib/services/libSVCuscn.so
bee05000-bee07000 rw-p 00015000 08:02 3244561    /unisphere/srx3000/callp/lib/services/libSVCuscn.so
bee07000-bee13000 rw-p 00000000 00:00 0
bee13000-bee2c000 rw-s 00000000 00:05 7405782    /SYSVa8020046 (deleted)
bee2c000-bee2d000 rw-p 00000000 00:00 0
bee30000-bee48000 rw-p 00004000 00:00 0
bff2e000-c0000000 rwxp fff2f000 00:00 0

^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2004-02-10 23:36 Bloch, Jack
  2004-02-11  1:09 ` your mail Maciej Zenczykowski
  0 siblings, 1 reply; 348+ messages in thread
From: Bloch, Jack @ 2004-02-10 23:36 UTC (permalink / raw)
  To: linux-kernel

I have a system with 2GB of memory. One of my processes calls mmap to try to
map a 100MB file into memory. This calls fails with -ENOMEM. I rebuilt the
kernel with a few debug printk statements in mmap.c to see where the failure
was occurring it occurred in the function arch_get_unmapped_area. the code
is as follows:

for (vma = find_vma(mm, addr); ; vma = vma->vm_next) {
		/* At this point:  (!vma || addr < vma->vm_end). */
		unsigned long __heap_stack_gap;
		if (TASK_SIZE - len < addr)
                { 
                        printk("%d TASK SIZE - LEN LESS THAN
ADDR\n",__LINE__);
			return -ENOMEM;
                } 
		if (!found_hole && (!vma || addr < vma->vm_start)) {
			mm->free_area_cache = addr;
			found_hole = 1;
		}
		if (!vma)
			return addr;
		__heap_stack_gap = 0;
		if (vma->vm_flags & VM_GROWSDOWN)
			__heap_stack_gap = heap_stack_gap << PAGE_SHIFT;
		if (addr + len + __heap_stack_gap <= vma->vm_start)
			return addr;
		addr = vma->vm_end;
	}

The printk is mine. What exactly is meant by the fact that TASK_SIZE - len <
addr?

Regards,


Jack Bloch 
Siemens ICN
phone                (561) 923-6550
e-mail                jack.bloch@icn.siemens.com


^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2003-12-26 20:20 caszonyi
  2003-12-26 22:27 ` your mail Linus Torvalds
  0 siblings, 1 reply; 348+ messages in thread
From: caszonyi @ 2003-12-26 20:20 UTC (permalink / raw)
  To: linux-kernel; +Cc: kraxel

[-- Attachment #1: Type: TEXT/PLAIN, Size: 245 bytes --]

Hi

I was trying to capture a tv program  with mencoder when the oops occured
a couple  of hours later the system froze without leaving a single trace
in logs. I was able to reboot with SysRq.

Programs versions, config and dmesg are attached.


[-- Attachment #2: Type: TEXT/PLAIN, Size: 772 bytes --]

If some fields are empty or look unusual you may have an old version.
Compare to the current minimal requirements in Documentation/Changes.
 
Linux grinch 2.6.0 #3 Fri Dec 19 23:02:04 EET 2003 i686 unknown
 
Gnu C                  3.2.3
Gnu make               3.80
util-linux             2.11z
mount                  2.11z
module-init-tools      0.9.9
e2fsprogs              1.32
jfsutils               1.1.4
reiserfsprogs          3.6.4
xfsprogs               2.3.5
quota-tools            3.08.
PPP                    2.4.1
nfs-utils              1.0.4
Dynamic linker (ldd)   2.3.1
Linux C++ Library      5.0.3
Procps                 3.1.8
Net-tools              1.60
Kbd                    1.08
Sh-utils               2.0
Modules Loaded         

[-- Attachment #3: Type: TEXT/PLAIN, Size: 10207 bytes --]

Dec 26 17:57:21 grinch -- MARK --
Dec 26 17:59:08 grinch kernel: Unable to handle kernel paging request at virtual address c4bea00c
Dec 26 17:59:08 grinch kernel:  printing eip:
Dec 26 17:59:08 grinch kernel: c0333f60
Dec 26 17:59:08 grinch kernel: *pde = 00011067
Dec 26 17:59:08 grinch kernel: *pte = 04bea000
Dec 26 17:59:08 grinch kernel: Oops: 0000 [#1]
Dec 26 17:59:08 grinch kernel: CPU:    0
Dec 26 17:59:08 grinch kernel: EIP:    0060:[<c0333f60>]    Not tainted
Dec 26 17:59:08 grinch kernel: EFLAGS: 00210206
Dec 26 17:59:08 grinch kernel: EIP is at bttv_risc_planar+0x140/0x2c0
Dec 26 17:59:08 grinch kernel: eax: 00000000   ebx: 00001000   ecx: 00000000   edx: c4bea000
Dec 26 17:59:08 grinch kernel: esi: 00001000   edi: c4be9a20   ebp: 00000b64   esp: c5455b50
Dec 26 17:59:08 grinch kernel: ds: 007b   es: 007b   ss: 0068
Dec 26 17:59:08 grinch kernel: Process mencoder (pid: 572, threadinfo=c5454000 task=c6ca2040)
Dec 26 17:59:08 grinch kernel: Stack: cfe40000 c56df6a8 000020bc 00000000 c4bea000 c4be9810 c68e98a4 00000000 
Dec 26 17:59:08 grinch kernel:        0000039c 0000011f 000820ce 00081f00 c56df600 000a26c0 c0335197 c0556e00 
Dec 26 17:59:08 grinch kernel:        c56df6a8 c4be9000 0000039c 0000039c 0000039c 00000120 0000088e 0000004e 
Dec 26 17:59:08 grinch kernel: Call Trace:
Dec 26 17:59:08 grinch kernel:  [<c0335197>] bttv_buffer_risc+0x1f7/0x6a0
Dec 26 17:59:08 grinch kernel:  [<c032d7f0>] bttv_prepare_buffer+0xf0/0x190
Dec 26 17:59:08 grinch kernel:  [<c032d952>] buffer_prepare+0x42/0x50
Dec 26 17:59:08 grinch kernel:  [<c033ea8f>] videobuf_qbuf+0xbf/0x160
Dec 26 17:59:08 grinch kernel:  [<c032fe91>] bttv_do_ioctl+0x11e1/0x14e0
Dec 26 17:59:08 grinch kernel:  [<c012572b>] update_wall_time+0xb/0x40
Dec 26 17:59:08 grinch kernel:  [<c0125b9f>] do_timer+0xdf/0xf0
Dec 26 17:59:08 grinch kernel:  [<c0138f21>] mempool_alloc+0x91/0x180
Dec 26 17:59:08 grinch kernel:  [<c0138f21>] mempool_alloc+0x91/0x180
Dec 26 17:59:08 grinch kernel:  [<c011b840>] autoremove_wake_function+0x0/0x50
Dec 26 17:59:08 grinch kernel:  [<c013e9cc>] mark_page_accessed+0x2c/0x40
Dec 26 17:59:08 grinch kernel:  [<c011a181>] __wake_up_common+0x31/0x50
Dec 26 17:59:08 grinch kernel:  [<c011a181>] __wake_up_common+0x31/0x50
Dec 26 17:59:08 grinch kernel:  [<c02ce732>] n_tty_receive_buf+0x192/0xff0
Dec 26 17:59:08 grinch kernel:  [<c01699aa>] d_splice_alias+0x4a/0x110
Dec 26 17:59:08 grinch kernel:  [<c02d1421>] pty_write+0x1a1/0x1b0
Dec 26 17:59:08 grinch kernel:  [<c0118fd8>] kernel_map_pages+0x28/0x90
Dec 26 17:59:08 grinch kernel:  [<c013a50c>] __alloc_pages+0x35c/0x3b0
Dec 26 17:59:08 grinch kernel:  [<c0329d28>] video_usercopy+0xd8/0x1d0
Dec 26 17:59:08 grinch kernel:  [<c0145824>] do_mmap_pgoff+0x434/0x710
Dec 26 17:59:08 grinch kernel:  [<c03301ce>] bttv_ioctl+0x3e/0x70
Dec 26 17:59:08 grinch kernel:  [<c032ecb0>] bttv_do_ioctl+0x0/0x14e0
Dec 26 17:59:08 grinch kernel:  [<c0163e33>] sys_ioctl+0xf3/0x280
Dec 26 17:59:08 grinch kernel:  [<c0109367>] syscall_call+0x7/0xb
Dec 26 17:59:08 grinch kernel: 
Dec 26 17:59:08 grinch kernel: Code: 8b 52 0c 39 54 24 5c 89 54 24 0c 89 d0 73 e4 8b 4c 24 20 89 
Dec 26 17:59:23 grinch kernel:  <1>Unable to handle kernel paging request at virtual address c4bea00c
Dec 26 17:59:23 grinch kernel:  printing eip:
Dec 26 17:59:23 grinch kernel: c0333f60
Dec 26 17:59:23 grinch kernel: *pde = 00011067
Dec 26 17:59:23 grinch kernel: *pte = 04bea000
Dec 26 17:59:23 grinch kernel: Oops: 0000 [#2]
Dec 26 17:59:23 grinch kernel: CPU:    0
Dec 26 17:59:23 grinch kernel: EIP:    0060:[<c0333f60>]    Not tainted
Dec 26 17:59:23 grinch kernel: EFLAGS: 00210206
Dec 26 17:59:23 grinch kernel: EIP is at bttv_risc_planar+0x140/0x2c0
Dec 26 17:59:23 grinch kernel: eax: 00000000   ebx: 00001000   ecx: 00000000   edx: c4bea000
Dec 26 17:59:23 grinch kernel: esi: 00001000   edi: c4be9a20   ebp: 00000b64   esp: c5455b50
Dec 26 17:59:23 grinch kernel: ds: 007b   es: 007b   ss: 0068
Dec 26 17:59:23 grinch kernel: Process mencoder (pid: 573, threadinfo=c5454000 task=c6ca2660)
Dec 26 17:59:23 grinch kernel: Stack: cfe40000 c56df2e8 000020bc 00000000 c4bea000 c4be9810 c68e98a4 00000000 
Dec 26 17:59:23 grinch kernel:        0000039c 0000011f 000820ce 00081f00 c56df240 000a26c0 c0335197 c0556e00 
Dec 26 17:59:23 grinch kernel:        c56df2e8 c4be9000 0000039c 0000039c 0000039c 00000120 0000088e 0000004e 
Dec 26 17:59:23 grinch kernel: Call Trace:
Dec 26 17:59:23 grinch kernel:  [<c0335197>] bttv_buffer_risc+0x1f7/0x6a0
Dec 26 17:59:23 grinch kernel:  [<c032d7f0>] bttv_prepare_buffer+0xf0/0x190
Dec 26 17:59:23 grinch kernel:  [<c032d952>] buffer_prepare+0x42/0x50
Dec 26 17:59:23 grinch kernel:  [<c033ea8f>] videobuf_qbuf+0xbf/0x160
Dec 26 17:59:23 grinch kernel:  [<c032fe91>] bttv_do_ioctl+0x11e1/0x14e0
Dec 26 17:59:23 grinch kernel:  [<c012572b>] update_wall_time+0xb/0x40
Dec 26 17:59:23 grinch kernel:  [<c0125b9f>] do_timer+0xdf/0xf0
Dec 26 17:59:23 grinch kernel:  [<c01094d4>] common_interrupt+0x18/0x20
Dec 26 17:59:23 grinch kernel:  [<c01142d4>] delay_tsc+0x14/0x20
Dec 26 17:59:23 grinch kernel:  [<c02b4132>] __delay+0x12/0x20
Dec 26 17:59:23 grinch kernel:  [<c036b2a4>] i2c_outb+0x104/0x2f0
Dec 26 17:59:23 grinch kernel:  [<c0163b3f>] kill_fasync+0x2f/0x70
Dec 26 17:59:23 grinch kernel:  [<c02ce732>] n_tty_receive_buf+0x192/0xff0
Dec 26 17:59:23 grinch kernel:  [<c036b14e>] i2c_stop+0x9e/0xf0
Dec 26 17:59:23 grinch kernel:  [<c0163b3f>] kill_fasync+0x2f/0x70
Dec 26 17:59:23 grinch kernel:  [<c02ce732>] n_tty_receive_buf+0x192/0xff0
Dec 26 17:59:23 grinch kernel:  [<c036616d>] i2c_master_send+0x6d/0xc0
Dec 26 17:59:23 grinch kernel:  [<c033cd2d>] set_tv_freq+0x11d/0x280
Dec 26 17:59:23 grinch kernel:  [<c02d1421>] pty_write+0x1a1/0x1b0
Dec 26 17:59:23 grinch kernel:  [<c0118fd8>] kernel_map_pages+0x28/0x90
Dec 26 17:59:23 grinch kernel:  [<c013a50c>] __alloc_pages+0x35c/0x3b0
Dec 26 17:59:23 grinch kernel:  [<c0329d28>] video_usercopy+0xd8/0x1d0
Dec 26 17:59:23 grinch kernel:  [<c0145824>] do_mmap_pgoff+0x434/0x710
Dec 26 17:59:23 grinch kernel:  [<c03301ce>] bttv_ioctl+0x3e/0x70
Dec 26 17:59:23 grinch kernel:  [<c032ecb0>] bttv_do_ioctl+0x0/0x14e0
Dec 26 17:59:23 grinch kernel:  [<c0163e33>] sys_ioctl+0xf3/0x280
Dec 26 17:59:23 grinch kernel:  [<c0109367>] syscall_call+0x7/0xb
Dec 26 17:59:23 grinch kernel: 
Dec 26 17:59:23 grinch kernel: Code: 8b 52 0c 39 54 24 5c 89 54 24 0c 89 d0 73 e4 8b 4c 24 20 89 
Dec 26 17:59:36 grinch kernel:  <1>Unable to handle kernel paging request at virtual address c4bea00c
Dec 26 17:59:36 grinch kernel:  printing eip:
Dec 26 17:59:36 grinch kernel: c0333f60
Dec 26 17:59:36 grinch kernel: *pde = 00011067
Dec 26 17:59:36 grinch kernel: *pte = 04bea000
Dec 26 17:59:36 grinch kernel: Oops: 0000 [#3]
Dec 26 17:59:36 grinch kernel: CPU:    0
Dec 26 17:59:36 grinch kernel: EIP:    0060:[<c0333f60>]    Not tainted
Dec 26 17:59:36 grinch kernel: EFLAGS: 00210206
Dec 26 17:59:36 grinch kernel: EIP is at bttv_risc_planar+0x140/0x2c0
Dec 26 17:59:36 grinch kernel: eax: 00000000   ebx: 00001000   ecx: 00000000   edx: c4bea000
Dec 26 17:59:36 grinch kernel: esi: 00001000   edi: c4be9a20   ebp: 00000b64   esp: c6567b50
Dec 26 17:59:36 grinch kernel: ds: 007b   es: 007b   ss: 0068
Dec 26 17:59:36 grinch kernel: Process mencoder (pid: 575, threadinfo=c6566000 task=c6ca2c80)
Dec 26 17:59:36 grinch kernel: Stack: cfe40000 cd1cbd28 000020bc 00000000 c4bea000 c4be9810 c68e98a4 00000000 
Dec 26 17:59:36 grinch kernel:        0000039c 0000011f 000820ce 00081f00 cd1cbc80 000a26c0 c0335197 c0556e00 
Dec 26 17:59:36 grinch kernel:        cd1cbd28 c4be9000 0000039c 0000039c 0000039c 00000120 0000088e 0000004e 
Dec 26 17:59:36 grinch kernel: Call Trace:
Dec 26 17:59:36 grinch kernel:  [<c0335197>] bttv_buffer_risc+0x1f7/0x6a0
Dec 26 17:59:36 grinch kernel:  [<c032d7f0>] bttv_prepare_buffer+0xf0/0x190
Dec 26 17:59:36 grinch kernel:  [<c032d952>] buffer_prepare+0x42/0x50
Dec 26 17:59:36 grinch kernel:  [<c033ea8f>] videobuf_qbuf+0xbf/0x160
Dec 26 17:59:36 grinch kernel:  [<c032fe91>] bttv_do_ioctl+0x11e1/0x14e0
Dec 26 17:59:36 grinch kernel:  [<c01198d6>] scheduler_tick+0x226/0x4a0
Dec 26 17:59:36 grinch kernel:  [<c01258c6>] update_process_times+0x46/0x60
Dec 26 17:59:36 grinch kernel:  [<c0125a10>] run_timer_softirq+0x110/0x1b0
Dec 26 17:59:36 grinch kernel:  [<c0125b9f>] do_timer+0xdf/0xf0
Dec 26 17:59:36 grinch kernel:  [<c0119120>] recalc_task_prio+0x90/0x1a0
Dec 26 17:59:36 grinch kernel:  [<c01192ce>] try_to_wake_up+0x9e/0x160
Dec 26 17:59:36 grinch kernel:  [<c01192ce>] try_to_wake_up+0x9e/0x160
Dec 26 17:59:36 grinch kernel:  [<c011a181>] __wake_up_common+0x31/0x50
Dec 26 17:59:36 grinch kernel:  [<c02ce732>] n_tty_receive_buf+0x192/0xff0
Dec 26 17:59:36 grinch kernel:  [<c01258c6>] update_process_times+0x46/0x60
Dec 26 17:59:36 grinch kernel:  [<c010b1f7>] do_IRQ+0x107/0x140
Dec 26 17:59:36 grinch kernel:  [<c02d1421>] pty_write+0x1a1/0x1b0
Dec 26 17:59:36 grinch kernel:  [<c0119120>] recalc_task_prio+0x90/0x1a0
Dec 26 17:59:36 grinch kernel:  [<c01192ce>] try_to_wake_up+0x9e/0x160
Dec 26 17:59:36 grinch kernel:  [<c011a181>] __wake_up_common+0x31/0x50
Dec 26 17:59:36 grinch kernel:  [<c0329d28>] video_usercopy+0xd8/0x1d0
Dec 26 17:59:36 grinch kernel:  [<c0119bb1>] schedule+0x51/0x570
Dec 26 17:59:36 grinch kernel:  [<c03301ce>] bttv_ioctl+0x3e/0x70
Dec 26 17:59:36 grinch kernel:  [<c032ecb0>] bttv_do_ioctl+0x0/0x14e0
Dec 26 17:59:36 grinch kernel:  [<c0163e33>] sys_ioctl+0xf3/0x280
Dec 26 17:59:36 grinch kernel:  [<c010dbf2>] do_syscall_trace+0x42/0x90
Dec 26 17:59:36 grinch kernel:  [<c0109367>] syscall_call+0x7/0xb
Dec 26 17:59:36 grinch kernel: 
Dec 26 17:59:36 grinch kernel: Code: 8b 52 0c 39 54 24 5c 89 54 24 0c 89 d0 73 e4 8b 4c 24 20 89 
Dec 26 18:17:21 grinch -- MARK --
Dec 26 18:37:21 grinch -- MARK --
Dec 26 18:57:21 grinch -- MARK --
Dec 26 19:17:21 grinch -- MARK --
Dec 26 19:37:21 grinch -- MARK --
Dec 26 19:57:21 grinch -- MARK --
Dec 26 20:17:21 grinch -- MARK --
Dec 26 20:37:21 grinch -- MARK --
Dec 26 20:47:02 grinch syslogd 1.4.1: restart.


[-- Attachment #4: Type: TEXT/PLAIN, Size: 10850 bytes --]

Linux version 2.6.0 (root@grinch) (gcc version 3.2.3) #3 Fri Dec 19 23:02:04 EET 2003
BIOS-provided physical RAM map:
 BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
 BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
 BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
 BIOS-e820: 0000000000100000 - 000000000fff0000 (usable)
 BIOS-e820: 000000000fff0000 - 000000000fff3000 (ACPI NVS)
 BIOS-e820: 000000000fff3000 - 0000000010000000 (ACPI data)
 BIOS-e820: 00000000ffff0000 - 0000000100000000 (reserved)
255MB LOWMEM available.
On node 0 totalpages: 65520
  DMA zone: 4096 pages, LIFO batch:1
  Normal zone: 61424 pages, LIFO batch:14
  HighMem zone: 0 pages, LIFO batch:1
DMI not present.
Building zonelist for node : 0
Kernel command line: BOOT_IMAGE=k260 ro root=306 psmouse_noext nmi_watchdog=2
Local APIC disabled by BIOS -- reenabling.
Found and enabled local APIC!
Initializing CPU#0
PID hash table entries: 1024 (order 10: 8192 bytes)
Detected 700.411 MHz processor.
Console: colour VGA+ 132x25
Memory: 253804k/262080k available (3093k kernel code, 7548k reserved, 842k data, 356k init, 0k highmem)
Checking if this processor honours the WP bit even in supervisor mode... Ok.
Calibrating delay loop... 1372.16 BogoMIPS
Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
CPU:     After generic identify, caps: 0183fbff c1c7fbff 00000000 00000000
CPU:     After vendor identify, caps: 0183fbff c1c7fbff 00000000 00000000
CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
CPU: L2 Cache: 64K (64 bytes/line)
CPU:     After all inits, caps: 0183fbf7 c1c7fbff 00000000 00000020
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#0.
CPU: AMD Duron(tm) Processor stepping 01
Enabling fast FPU save and restore... done.
Checking 'hlt' instruction... OK.
POSIX conformance testing by UNIFIX
enabled ExtINT on CPU#0
ESR value before enabling vector: 00000000
ESR value after enabling vector: 00000000
testing NMI watchdog ... OK.
Using local APIC timer interrupts.
calibrating APIC timer ...
..... CPU clock speed is 699.0952 MHz.
..... host bus clock speed is 199.0986 MHz.
NET: Registered protocol family 16
PCI: Using configuration type 1
mtrr: v2.0 (20020519)
Linux Plug and Play Support v0.97 (c) Adam Belay
pnp: the driver 'system' has been registered
PnPBIOS: Scanning system for PnP BIOS support...
PnPBIOS: Found PnP BIOS installation structure at 0xc00fbdf0
PnPBIOS: PnP BIOS version 1.0, entry 0xf0000:0xbe20, dseg 0xf0000
pnp: match found with the PnP device '00:07' and the driver 'system'
pnp: match found with the PnP device '00:08' and the driver 'system'
pnp: match found with the PnP device '00:0b' and the driver 'system'
pnp: 00:0b: ioport range 0x208-0x20f has been reserved
PnPBIOS: 16 nodes reported by PnP BIOS; 16 recorded by driver
PCI: Probing PCI hardware
PCI: Probing PCI hardware (bus 00)
Disabling VIA memory write queue (PCI ID 0305, rev 02): [55] 81 & 1f -> 01
PCI: Using IRQ router VIA [1106/0686] at 0000:00:07.0
Machine check exception polling timer started.
apm: BIOS version 1.2 Flags 0x07 (Driver version 1.16ac)
Coda Kernel/Venus communications, v6.0.0, coda@cs.cmu.edu
Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
udf: registering filesystem
SGI XFS for Linux with ACLs, no debug enabled
isapnp: Scanning for PnP cards...
isapnp: Card 'Crystal Codec'
isapnp: 1 Plug & Play card detected total
pty: 512 Unix98 ptys configured
request_module: failed /sbin/modprobe -- parport_lowlevel. error = -16
lp: driver loaded but no devices found
Real Time Clock Driver v1.12
Non-volatile memory driver v1.2
ppdev: user-space parallel port driver
Linux agpgart interface v0.100 (c) Dave Jones
agpgart: Detected VIA Twister-K/KT133x/KM133 chipset
agpgart: Maximum main memory to use for agp memory: 203M
agpgart: AGP aperture is 128M @ 0xd0000000
[drm] Initialized radeon 1.9.0 20020828 on minor 0
Serial: 8250/16550 driver $Revision: 1.90 $ 8 ports, IRQ sharing enabled
ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
pnp: the driver 'serial' has been registered
pnp: match found with the PnP device '00:0d' and the driver 'serial'
pnp: match found with the PnP device '00:0e' and the driver 'serial'
pnp: the driver 'parport_pc' has been registered
pnp: match found with the PnP device '00:10' and the driver 'parport_pc'
parport0: PC-style at 0x3bc (0x7bc) [PCSPP,TRISTATE]
parport0: cpp_daisy: aa5500ff(38)
parport0: assign_addrs: aa5500ff(38)
parport0: cpp_daisy: aa5500ff(38)
parport0: assign_addrs: aa5500ff(38)
lp0: using parport0 (polling).
lp0: console ready
parport_pc: Via 686A parallel port: io=0x3BC
Using anticipatory io scheduler
Floppy drive(s): fd0 is 1.44M
spurious 8259A interrupt: IRQ7.
FDC 0 is a post-1991 82077
loop: loaded (max 8 devices)
PPP generic driver version 2.4.2
PPP Deflate Compression module registered
PPP BSD Compression module registered
SLIP: version 0.8.4-NET3.019-NEWTTY (dynamic channels, max=256) (6 bit encapsulation enabled).
CSLIP: code copyright 1989 Regents of the University of California.
SLIP linefill/keepalive option.
8139too Fast Ethernet driver 0.9.26
PCI: Found IRQ 10 for device 0000:00:08.0
eth0: RealTek RTL8139 at 0xd0883000, 00:40:f4:72:99:b3, IRQ 10
eth0:  Identified 8139 chip type 'RTL-8100B/8139D'
PCI: Found IRQ 11 for device 0000:00:0a.0
eth1: RealTek RTL8139 at 0xd0885000, 00:40:f4:74:6d:fb, IRQ 11
eth1:  Identified 8139 chip type 'RTL-8100B/8139D'
Linux video capture interface: v1.00
bttv: driver version 0.9.12 loaded
bttv: using 8 buffers with 2080k (520 pages) each for capture
bttv: Bt8xx card found (0).
PCI: Found IRQ 9 for device 0000:00:09.0
PCI: Sharing IRQ 9 with 0000:00:09.1
bttv0: Bt878 (rev 2) at 0000:00:09.0, irq: 9, latency: 32, mmio: 0xe2001000
bttv0: detected: AVermedia TVCapture 98 [card=13], PCI subsystem ID is 1461:0002
bttv0: using: AVerMedia TVCapture 98 [card=13,autodetected]
bttv0: Hauppauge/Voodoo msp34xx: reset line init [11]
bttv0: Avermedia eeprom[0x4011]: tuner=5 radio:no remote control:yes
bttv0: using tuner=5
bttv0: i2c: checking for MSP34xx @ 0x80... not found
bttv0: i2c: checking for MSP34xx (alternate address) @ 0x88... not found
bttv0: i2c: checking for TDA9875 @ 0xb0... not found
bttv0: i2c: checking for TDA7432 @ 0x8a... not found
bttv0: registered device video0
bttv0: registered device vbi0
bttv0: PLL: 28636363 => 35468950 .. ok
tvaudio: TV audio decoder + audio/video mux driver
tvaudio: known chips: tda9840,tda9873h,tda9874h/a,tda9850,tda9855,tea6300,tea6420,tda8425,pic16c54 (PV951),ta8874z
tuner: chip found @ 0xc2
tuner: type set to 5 (Philips PAL_BG (FI1216 and compatibles))
registering 0-0061
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
VP_IDE: IDE controller at PCI slot 0000:00:07.1
VP_IDE: chipset revision 16
VP_IDE: not 100% native mode: will probe irqs later
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
VP_IDE: VIA vt82c686a (rev 22) IDE UDMA66 controller on pci0000:00:07.1
    ide0: BM-DMA at 0xd000-0xd007, BIOS settings: hda:DMA, hdb:DMA
    ide1: BM-DMA at 0xd008-0xd00f, BIOS settings: hdc:DMA, hdd:pio
hda: Maxtor 2F040J0, ATA DISK drive
hdb: SONY CDU4811, ATAPI CD/DVD-ROM drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
hdc: TEAC CD-W552E, ATAPI CD/DVD-ROM drive
ide1 at 0x170-0x177,0x376 on irq 15
hda: max request size: 128KiB
hda: 80293248 sectors (41110 MB) w/2048KiB Cache, CHS=65535/16/63, UDMA(66)
 hda: hda1 hda2 hda3 hda4 < hda5 hda6 hda7 hda8 hda9 >
end_request: I/O error, dev hdb, sector 0
hdb: ATAPI 48X CD-ROM drive, 120kB Cache, UDMA(33)
Uniform CD-ROM driver Revision: 3.12
end_request: I/O error, dev hdc, sector 0
hdc: ATAPI 52X CD-ROM CD-R/RW drive, 2048kB Cache, UDMA(33)
mice: PS/2 mouse device common for all mice
input: PC Speaker
input: PS/2 Generic Mouse on isa0060/serio1
serio: i8042 AUX port at 0x60,0x64 irq 12
input: AT Translated Set 2 keyboard on isa0060/serio0
serio: i8042 KBD port at 0x60,0x64 irq 1
i2c /dev entries driver
tuner: type already set (5)
registering 0-0050
tuner: type already set (5)
registering 0-0051
tuner: type already set (5)
registering 0-0052
tuner: type already set (5)
registering 0-0053
tuner: type already set (5)
registering 0-0054
tuner: type already set (5)
registering 0-0055
tuner: type already set (5)
registering 0-0056
tuner: type already set (5)
registering 0-0057
registering 1-0050
registering 1-0051
pnp: the driver 'cs4232' has been registered
pnp: match found with the PnP device '01:01.00' and the driver 'cs4232'
pnp: Device 01:01.00 activated.
<Crystal audio controller (CS4239)> at 0x534 irq 5 dma 1,0
ad1848: Interrupt test failed (IRQ5)
ad1848/cs4248 codec driver Copyright (C) by Hannu Savolainen 1993-1996
ad1848: No ISAPnP cards found, trying standard ones...
YM3812 and OPL-3 driver Copyright (C) by Hannu Savolainen, Rob Hooft 1993-1996
btaudio: driver version 0.7 loaded [digital+analog]
PCI: Found IRQ 9 for device 0000:00:09.1
PCI: Sharing IRQ 9 with 0000:00:09.0
btaudio: Bt878 (rev 2) at 00:09.1, irq: 9, latency: 32, mmio: 0xe2002000
btaudio: using card config "default"
btaudio: registered device dsp1 [digital]
btaudio: registered device dsp2 [analog]
btaudio: registered device mixer1
NET: Registered protocol family 2
IP: routing cache hash table of 2048 buckets, 16Kbytes
TCP: Hash tables configured (established 16384 bind 32768)
IPv4 over IPv4 tunneling driver
ip_conntrack version 2.1 (2047 buckets, 16376 max) - 300 bytes per conntrack
ip_tables: (C) 2000-2002 Netfilter core team
ipt_recent v0.3.1: Stephen Frost <sfrost@snowman.net>.  http://snowman.net/projects/ipt_recent/
arp_tables: (C) 2002 David S. Miller
NET: Registered protocol family 1
NET: Registered protocol family 17
You didn't specify the type of your ufs filesystem

mount -t ufs -o ufstype=sun|sunx86|44bsd|old|hp|nextstep|netxstep-cd|openstep ...

>>>WARNING<<< Wrong ufstype may corrupt your filesystem, default is ufstype=old
ufs_read_super: bad magic number
UDF-fs DEBUG fs/udf/lowlevel.c:65:udf_get_last_session: CDROMMULTISESSION not supported: rc=-22
UDF-fs DEBUG fs/udf/super.c:1544:udf_fill_super: Multi-session=0
UDF-fs DEBUG fs/udf/super.c:532:udf_vrs: Starting at sector 16 (2048 byte sectors)
UDF-fs: No VRS found
VFS: Mounted root (jfs filesystem) readonly.
Freeing unused kernel memory: 356k freed
Adding 530104k swap on /dev/hda7.  Priority:-1 extents:1
eth0: link down
eth1: link down

[-- Attachment #5: Type: TEXT/PLAIN, Size: 6670 bytes --]

CONFIG_X86=y
CONFIG_MMU=y
CONFIG_UID16=y
CONFIG_GENERIC_ISA_DMA=y

CONFIG_EXPERIMENTAL=y
CONFIG_BROKEN=y
CONFIG_BROKEN_ON_SMP=y

CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_SYSCTL=y
CONFIG_LOG_BUF_SHIFT=16
CONFIG_KALLSYMS=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_IOSCHED_DEADLINE=y

CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
CONFIG_OBSOLETE_MODPARM=y
CONFIG_KMOD=y

CONFIG_X86_PC=y
CONFIG_MK7=y
CONFIG_X86_CMPXCHG=y
CONFIG_X86_XADD=y
CONFIG_X86_L1_CACHE_SHIFT=6
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_INVLPG=y
CONFIG_X86_BSWAP=y
CONFIG_X86_POPAD_OK=y
CONFIG_X86_GOOD_APIC=y
CONFIG_X86_INTEL_USERCOPY=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_X86_USE_3DNOW=y
CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
CONFIG_PREEMPT=y
CONFIG_X86_UP_APIC=y
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_TSC=y
CONFIG_X86_MCE=y
CONFIG_X86_MCE_NONFATAL=y
CONFIG_X86_CPUID=y
CONFIG_NOHIGHMEM=y
CONFIG_MTRR=y
CONFIG_HAVE_DEC_LOCK=y

CONFIG_PM=y


CONFIG_APM=y
CONFIG_APM_DO_ENABLE=y
CONFIG_APM_RTC_IS_GMT=y


CONFIG_PCI=y
CONFIG_PCI_GODIRECT=y
CONFIG_PCI_DIRECT=y
CONFIG_PCI_LEGACY_PROC=y
CONFIG_PCI_NAMES=y
CONFIG_ISA=y

CONFIG_BINFMT_ELF=y




CONFIG_PARPORT=y
CONFIG_PARPORT_PC=y
CONFIG_PARPORT_PC_CML1=y
CONFIG_PARPORT_PC_FIFO=y
CONFIG_PARPORT_PC_SUPERIO=y
CONFIG_PARPORT_1284=y

CONFIG_PNP=y
CONFIG_PNP_DEBUG=y

CONFIG_ISAPNP=y
CONFIG_PNPBIOS=y

CONFIG_BLK_DEV_FD=y
CONFIG_BLK_DEV_LOOP=y

CONFIG_IDE=y
CONFIG_BLK_DEV_IDE=y

CONFIG_BLK_DEV_IDEDISK=y
CONFIG_IDEDISK_MULTI_MODE=y
CONFIG_BLK_DEV_IDECD=y
CONFIG_IDE_TASKFILE_IO=y

CONFIG_BLK_DEV_IDEPCI=y
CONFIG_IDEPCI_SHARE_IRQ=y
CONFIG_BLK_DEV_GENERIC=y
CONFIG_BLK_DEV_IDEDMA_PCI=y
CONFIG_IDEDMA_PCI_AUTO=y
CONFIG_BLK_DEV_ADMA=y
CONFIG_BLK_DEV_VIA82CXXX=y
CONFIG_BLK_DEV_IDEDMA=y
CONFIG_IDEDMA_AUTO=y







CONFIG_NET=y

CONFIG_PACKET=y
CONFIG_PACKET_MMAP=y
CONFIG_NETLINK_DEV=y
CONFIG_UNIX=y
CONFIG_INET=y
CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_IP_ROUTE_MULTIPATH=y
CONFIG_NET_IPIP=y
CONFIG_ARPD=y

CONFIG_NETFILTER=y

CONFIG_IP_NF_CONNTRACK=y
CONFIG_IP_NF_FTP=y
CONFIG_IP_NF_IRC=y
CONFIG_IP_NF_TFTP=y
CONFIG_IP_NF_IPTABLES=y
CONFIG_IP_NF_MATCH_LIMIT=y
CONFIG_IP_NF_MATCH_IPRANGE=y
CONFIG_IP_NF_MATCH_MAC=y
CONFIG_IP_NF_MATCH_PKTTYPE=y
CONFIG_IP_NF_MATCH_MARK=y
CONFIG_IP_NF_MATCH_MULTIPORT=y
CONFIG_IP_NF_MATCH_TOS=y
CONFIG_IP_NF_MATCH_RECENT=y
CONFIG_IP_NF_MATCH_ECN=y
CONFIG_IP_NF_MATCH_DSCP=y
CONFIG_IP_NF_MATCH_AH_ESP=y
CONFIG_IP_NF_MATCH_LENGTH=y
CONFIG_IP_NF_MATCH_TTL=y
CONFIG_IP_NF_MATCH_TCPMSS=y
CONFIG_IP_NF_MATCH_HELPER=y
CONFIG_IP_NF_MATCH_STATE=y
CONFIG_IP_NF_MATCH_CONNTRACK=y
CONFIG_IP_NF_MATCH_OWNER=y
CONFIG_IP_NF_FILTER=y
CONFIG_IP_NF_TARGET_REJECT=y
CONFIG_IP_NF_NAT=y
CONFIG_IP_NF_NAT_NEEDED=y
CONFIG_IP_NF_TARGET_MASQUERADE=y
CONFIG_IP_NF_TARGET_REDIRECT=y
CONFIG_IP_NF_TARGET_NETMAP=y
CONFIG_IP_NF_TARGET_SAME=y
CONFIG_IP_NF_NAT_LOCAL=y
CONFIG_IP_NF_NAT_SNMP_BASIC=y
CONFIG_IP_NF_NAT_IRC=y
CONFIG_IP_NF_NAT_FTP=y
CONFIG_IP_NF_NAT_TFTP=y
CONFIG_IP_NF_MANGLE=y
CONFIG_IP_NF_TARGET_TOS=y
CONFIG_IP_NF_TARGET_ECN=y
CONFIG_IP_NF_TARGET_DSCP=y
CONFIG_IP_NF_TARGET_MARK=y
CONFIG_IP_NF_TARGET_CLASSIFY=y
CONFIG_IP_NF_TARGET_LOG=y
CONFIG_IP_NF_TARGET_ULOG=y
CONFIG_IP_NF_TARGET_TCPMSS=y
CONFIG_IP_NF_ARPTABLES=y
CONFIG_IP_NF_ARPFILTER=y
CONFIG_XFRM=y

CONFIG_IPV6_SCTP__=y


CONFIG_NETDEVICES=y


CONFIG_NET_ETHERNET=y
CONFIG_MII=y

CONFIG_NET_PCI=y
CONFIG_8139TOO=y


CONFIG_PPP=y
CONFIG_PPP_FILTER=y
CONFIG_PPP_ASYNC=y
CONFIG_PPP_DEFLATE=y
CONFIG_PPP_BSDCOMP=y
CONFIG_SLIP=y
CONFIG_SLIP_COMPRESSED=y
CONFIG_SLIP_SMART=y
CONFIG_SLIP_MODE_SLIP6=y


CONFIG_SHAPER=y







CONFIG_INPUT=y

CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768

CONFIG_SOUND_GAMEPORT=y
CONFIG_SERIO=y
CONFIG_SERIO_I8042=y
CONFIG_SERIO_SERPORT=y

CONFIG_INPUT_KEYBOARD=y
CONFIG_KEYBOARD_ATKBD=y
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=y
CONFIG_INPUT_MISC=y
CONFIG_INPUT_PCSPKR=y

CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y

CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_NR_UARTS=4
CONFIG_SERIAL_8250_EXTENDED=y
CONFIG_SERIAL_8250_SHARE_IRQ=y
CONFIG_SERIAL_8250_DETECT_IRQ=y
CONFIG_SERIAL_8250_MULTIPORT=y
CONFIG_SERIAL_8250_RSA=y

CONFIG_SERIAL_CORE=y
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=512
CONFIG_PRINTER=y
CONFIG_LP_CONSOLE=y
CONFIG_PPDEV=y

CONFIG_I2C=y
CONFIG_I2C_CHARDEV=y

CONFIG_I2C_ALGOBIT=y

CONFIG_I2C_VIA=y
CONFIG_I2C_VIAPRO=y

CONFIG_I2C_SENSOR=y
CONFIG_SENSORS_EEPROM=y
CONFIG_SENSORS_VIA686A=y



CONFIG_NVRAM=y
CONFIG_RTC=y

CONFIG_AGP=y
CONFIG_AGP_VIA=y
CONFIG_DRM=y
CONFIG_DRM_RADEON=y

CONFIG_VIDEO_DEV=y


CONFIG_VIDEO_BT848=y


CONFIG_VIDEO_TUNER=y
CONFIG_VIDEO_BUF=y
CONFIG_VIDEO_BTCX=y

CONFIG_VIDEO_SELECT=y

CONFIG_VGA_CONSOLE=y
CONFIG_DUMMY_CONSOLE=y

CONFIG_SOUND=y


CONFIG_SOUND_PRIME=y
CONFIG_SOUND_BT878=y
CONFIG_SOUND_OSS=y
CONFIG_SOUND_TRACEINIT=y
CONFIG_SOUND_DMAP=y
CONFIG_SOUND_CS4232=y
CONFIG_SOUND_YM3812=y
CONFIG_SOUND_TVMIXER=y


CONFIG_EXT2_FS=y
CONFIG_EXT2_FS_XATTR=y
CONFIG_EXT2_FS_POSIX_ACL=y
CONFIG_EXT3_FS=y
CONFIG_EXT3_FS_XATTR=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_JBD=y
CONFIG_FS_MBCACHE=y
CONFIG_JFS_FS=y
CONFIG_JFS_POSIX_ACL=y
CONFIG_JFS_DEBUG=y
CONFIG_FS_POSIX_ACL=y
CONFIG_XFS_FS=y
CONFIG_XFS_POSIX_ACL=y

CONFIG_ISO9660_FS=y
CONFIG_JOLIET=y
CONFIG_ZISOFS=y
CONFIG_ZISOFS_FS=y
CONFIG_UDF_FS=y

CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=y

CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_DEVPTS_FS=y
CONFIG_TMPFS=y
CONFIG_RAMFS=y

CONFIG_UFS_FS=y

CONFIG_NFS_FS=y
CONFIG_NFS_V3=y
CONFIG_NFSD=y
CONFIG_NFSD_V3=y
CONFIG_NFSD_TCP=y
CONFIG_LOCKD=y
CONFIG_LOCKD_V4=y
CONFIG_EXPORTFS=y
CONFIG_SUNRPC=y
CONFIG_SMB_FS=y
CONFIG_CODA_FS=y
CONFIG_CODA_FS_OLD_API=y

CONFIG_PARTITION_ADVANCED=y
CONFIG_MSDOS_PARTITION=y
CONFIG_BSD_DISKLABEL=y
CONFIG_SOLARIS_X86_PARTITION=y
CONFIG_SMB_NLS=y
CONFIG_NLS=y

CONFIG_NLS_DEFAULT="iso8859-2"
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_CODEPAGE_850=y
CONFIG_NLS_CODEPAGE_852=y
CONFIG_NLS_CODEPAGE_1250=y
CONFIG_NLS_ISO8859_1=y
CONFIG_NLS_ISO8859_2=y
CONFIG_NLS_ISO8859_15=y
CONFIG_NLS_UTF8=y


CONFIG_DEBUG_KERNEL=y
CONFIG_MAGIC_SYSRQ=y
CONFIG_DEBUG_PAGEALLOC=y
CONFIG_X86_EXTRA_IRQS=y
CONFIG_X86_FIND_SMP_CONFIG=y
CONFIG_X86_MPPARSE=y



CONFIG_CRC32=y
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_X86_BIOS_REBOOT=y
CONFIG_PC=y

^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2003-12-23 14:16 dublinux
  2003-12-23 14:54 ` your mail Matti Aarnio
  0 siblings, 1 reply; 348+ messages in thread
From: dublinux @ 2003-12-23 14:16 UTC (permalink / raw)
  To: linux-kernel

unsubscribe linux-kernel

^ permalink raw reply	[flat|nested] 348+ messages in thread
[parent not found: <20031210120336.GU8039@holomorphy.com>]
* RE: your mail
@ 2003-12-03 16:19 Bloch, Jack
  0 siblings, 0 replies; 348+ messages in thread
From: Bloch, Jack @ 2003-12-03 16:19 UTC (permalink / raw)
  To: 'Linus Torvalds'; +Cc: linux-kernel

Thanks,

I found the problem. I do have errno.h included. I was doing a read of errno
after calling perror. If I read it directly after getting the neagtive 0ne
back, it contains the right value.

Jack Bloch 
Siemens ICN
phone                (561) 923-6550
e-mail                jack.bloch@icn.siemens.com


-----Original Message-----
From: Linus Torvalds [mailto:torvalds@osdl.org]
Sent: Wednesday, December 03, 2003 11:04 AM
To: Bloch, Jack
Cc: linux-kernel@vger.kernel.org
Subject: Re: your mail




On Wed, 3 Dec 2003, Bloch, Jack wrote:
>
> I try to open a non-existan device driver node file. The Kernel returns a
> value of -1 (expected). However, when I read the value of errno it
contains
> a value of 29. A call to the perror functrion does print out the correct
> error message (a value of 2). Why does this happen?

Because you forgot a "#include <errno.h>"? Or you have something else
wrong in your program that makes "errno" mean the wrong thing?

		Linus

^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2003-12-03 15:08 Bloch, Jack
  2003-12-03 15:43 ` your mail Richard B. Johnson
  2003-12-03 16:03 ` Linus Torvalds
  0 siblings, 2 replies; 348+ messages in thread
From: Bloch, Jack @ 2003-12-03 15:08 UTC (permalink / raw)
  To: linux-kernel

I try to open a non-existan device driver node file. The Kernel returns a
value of -1 (expected). However, when I read the value of errno it contains
a value of 29. A call to the perror functrion does print out the correct
error message (a value of 2). Why does this happen?

Jack Bloch 
Siemens ICN
phone                (561) 923-6550
e-mail                jack.bloch@icn.siemens.com


^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2003-09-30  8:17 John Bradford
  2003-09-30 13:31 ` your mail Dave Jones
  0 siblings, 1 reply; 348+ messages in thread
From: John Bradford @ 2003-09-30  8:17 UTC (permalink / raw)
  To: Jamie Lokier, akpm; +Cc: torvalds, linux-kernel

richard.brunner@amd.com
In-Reply-To: <20030930073814.GA26649@mail.jlokier.co.uk>
References:  <20030930073814.GA26649@mail.jlokier.co.uk>
Subject: Re: [PATCH] Mutilated form of Andi Kleen's AMD prefetch errata patch

Quote from Jamie Lokier <jamie@shareable.org>:

>    2. Nevertheless, when a kernel _not_ optimised for those AMD processors
>       is run on one, the "alternative" mechanism now correctly replaces
>       prefetch instructions with nops.

> It's a reasonable argument that if a kernel version, say 2.6.0, promises
> to hide the errata from _userspace_ programs, then the generic or
> not-AMD-optimised kernels should do that too.  Otherwise userspace may
> as well provide the workaround itself, by catching SIGSEGV - because it
> is perfectly normal and common to run a generic kernel on an AMD.

This problem, and others like it, would be solved for ever with
Adrian's bitmap-of-supported-cpus patch, though.  With that, there is
no 'generic' kernel, either it supports Athlons, or it doesn't.  100%
elimination of Athlon specific code for other CPUs.  Everybody is
happy.

Of course a kernel compiled strictly for 386s may seem to boot on an
Athlon but not work properly.  So what?  Just don't run the 'wrong'
kernel.

John.

^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2003-08-28  2:25 warudkar
  2003-08-27 16:02 ` your mail William Lee Irwin III
  0 siblings, 1 reply; 348+ messages in thread
From: warudkar @ 2003-08-28  2:25 UTC (permalink / raw)
  To: kernel, wli, linux-kernel; +Cc: Andrew Morton

Con - With swappiness set to 100, the apps do start up in 3 minutes and kswapd doesn't hog the CPU. But X is still unusable till all of them have started up.
Wli - Sorry, vmstat segfaults on 2.6!

kernel@kolivas.org wrote
On Thu, 28 Aug 2003 07:38, warudkar@vsnl.net wrote:
> Trying out 2.6.0-test4-mm1. Inside KDE, I start OpenOffice.org, Rational
> Rose and Konsole at a time. All of these take extremely long time to
> startup. (approx > 5 minutes). Kswapd hogs the CPU all the time. X becomes
> unusable till all of them startup, although I can telnet and run top. Same
> thing run under 2.4.18 starts up in 3 minutes, X stays usable and kswapd
> never take more than 2% CPU.

Yes I can reproduce this with a memory heavy load as well on low memory 
(linking at the end of a big kernel compile is standard problem). I actually 
found the best workaround was to increase the swappiness instead of 
decreasing it.

Try 
echo 100 > /proc/sys/vm/swappiness

time it

then try
echo 0 > /proc/sys/vm/swappiness

you'll see that at low swappiness kswapd0 can use ridiculous amounts of cpu 
trying to avoid swap. The default is 60.

Con

^ permalink raw reply	[flat|nested] 348+ messages in thread
* Re: your mail
@ 2003-08-25 16:45 Marcelo Tosatti
  2003-08-25 16:59 ` Herbert Pötzl
  0 siblings, 1 reply; 348+ messages in thread
From: Marcelo Tosatti @ 2003-08-25 16:45 UTC (permalink / raw)
  To: Herbert Pötzl; +Cc: lkml

On Mon, 25 Aug 2003, Herbert Pötzl wrote:

> On Mon, Aug 25, 2003 at 10:53:21AM -0300, Marcelo Tosatti wrote:
> >
> > >
> > >
> > > Matthias Andree wrote:
> > >
> > > >On Mon, 25 Aug 2003, Marcelo Tosatti wrote:
> > > >
> > > >
> > > >>- 2.4.22-rc4 was released as 2.4.22 with no changes.
> > > >>
> > > >
> > > >What are the plans for 2.4.23? XFS merge perhaps <hint>?
> > > >
> > >
> > > Maybe some of Andrea's VM stuff?
> >
> > Definately. Thats the first thing I'm going to do after looking
through
> > "2.4.23-pre-patches" folder.
>
> any chance for the Bind Mount Extensions? 8-)

I haven't found time to at the patch yet but will do so soon.

^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2003-08-25 13:53 Marcelo Tosatti
  2003-08-25 14:30 ` your mail Herbert Pötzl
  0 siblings, 1 reply; 348+ messages in thread
From: Marcelo Tosatti @ 2003-08-25 13:53 UTC (permalink / raw)
  To: Nick Piggin; +Cc: lkml


>
>
> Matthias Andree wrote:
>
> >On Mon, 25 Aug 2003, Marcelo Tosatti wrote:
> >
> >
> >>- 2.4.22-rc4 was released as 2.4.22 with no changes.
> >>
> >
> >What are the plans for 2.4.23? XFS merge perhaps <hint>?
> >
>
> Maybe some of Andrea's VM stuff?

Definately. Thats the first thing I'm going to do after looking through
"2.4.23-pre-patches" folder.

^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2003-08-18  6:21 "Andrey Borzenkov" 
  2003-08-18 20:42 ` your mail Greg KH
  0 siblings, 1 reply; 348+ messages in thread
From: "Andrey Borzenkov"  @ 2003-08-18  6:21 UTC (permalink / raw)
  To: "jw schultz" ; +Cc: "Greg KH" , linux-kernel


> Actually you have not answered his question.  And i think it
> a reasonable one.  It could be it was answered elsewhere.

No it was not answered. Yes you got this exactly. Aparently my
englisg is not as bad after all ... :)

>>>>> Question: how to configure udev so that "database" always refers to LUN 0
>>>>> on target 0 on bus 0 on HBA in PCI slot 1.
>>> Let's avoid this communication problem. You show me namedev.config line that 
>>> implements the above.

> I'll try to put slightly differently.  I'll concede that we
> cannot positionaly identify USB devices so lets set that
> aside for the nonce.  We can persistently, positionaly
> identify a device within the HBA context (BUS +ID + LUN) and
> should be able to do the same for a PCI HBA (PCI slot +
> device) or (PCI bridge topology).

actually you can. As Greg pointed out, topology rarely changes,
so it gives you enough information (of course if you constantly
add and remove USB hubs it becomes a bit of pain). But it has
the same problem - USB bus grows off PCI bus (usually) so adding
new USB controller possibly invalidates all configuration.

> So can i uniquely identify using persistent positional
> information a drive at PCI_slot=1, HBA_on_card=0, BUS=0,
> ID=1, LUN=0?  And how do i uniquely identify it in the udev
> config file so that adding the same model drive in the same
> BUS+ID+LUN on an same model HBA card in another PCI slot
> does not confuse the two?  If i cannot, can i at least do
> the identification so that adding ID=0,LUN=0 to the scsi buss
> doesn't cause a name change.

yep.

just to show what I expected from sysfs - here is entry from Solaris
/devices:

brw-r-----   1 root     sys       32,240 Jan 24  2002 /devices/pci@16,4000/scsi@5,1/sd@0,0:a

this entry identifies disk partition 0 on drive with SCSI ID 0, LUN 0
connected to bus 1 of controller in slot 5 of PCI bus identified
by 16. Now you can use whatever policy you like to give human
meaningful name to this entry. And if you have USB it will continue
further giving you exact topology starting from the root of your
device tree.

and this path does not contain single logical id so it is not subject
to change if I add the same controller somewhere else.

hopefully it clarifies what I mean ...

regards

-andrey

^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2003-08-14 21:57 kartikey bhatt
  2003-08-15  3:31 ` your mail James Morris
  0 siblings, 1 reply; 348+ messages in thread
From: kartikey bhatt @ 2003-08-14 21:57 UTC (permalink / raw)
  To: jmorris; +Cc: davem, linux-kernel, alan

Hi James.
A little bit work for you.
Somebody on mailing list commented that you should *really* go for better
algorithm like CAST6 (rfc2612) to be included in kernel.
This time I'm sending you cast6.c (cast6 cipher algorithm) implementation.
But this time it's a patch.
I just want it get tested.
I've tested it on i386 against kernel version 2.6.0-test3.
Patch includes.
	1. cast6.c (new).
	2. tcrypt.c and tcrypt.h (modified).

			-Bhatt Kartikey Mahendra <cloud # 9>

/*-------------------------------Begin 
Patch----------------------------------*/

diff -u --recursive -N linux-2.6.0-test3/crypto/cast6.c linux/crypto/cast6.c
--- linux-2.6.0-test3/crypto/cast6.c	1970-01-01 05:30:00.000000000 +0530
+++ linux/crypto/cast6.c	2003-08-15 02:31:39.000000000 +0530
@@ -0,0 +1,562 @@
+/* Kernel cryptographic api.
+ * cast6.c - Cast6 cipher algorithm [rfc2612].
+ *
+ * CAST-256 (*cast6*) is a DES like Substitution-Permutation Network (SPN)
+ * cryptosystem built upon the CAST-128 (*cast5*) [rfc2144] encryption
+ * algorithm.
+ *
+ * Copyright (C) 2003 Kartikey Mahendra Bhatt <kartik_me@hotmail.com>.
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of GNU General Public License as published by the Free
+ * Software Foundation; either version 2 of the License, or (at your 
option)
+ * any later version.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
USA
+ */
+
+
+#include <linux/init.h>
+#include <linux/crypto.h>
+#include <linux/module.h>
+#include <linux/errno.h>
+#include <linux/string.h>
+
+#define CAST6_BLOCK_SIZE 16
+#define CAST6_MIN_KEY_SIZE 16
+#define CAST6_MAX_KEY_SIZE 32
+
+struct cast6_ctx {
+	u32 Km[12][4];
+	u8 Kr[12][4];
+};
+
+#define rol(n,x) ( ((x) << (n)) | ((x) >> (32-(n))) )
+
+#define F1(D,r,m)  (  (I = ((m) + (D))), (I=rol((r),I)),   \
+    (((s1[I >> 24] ^ s2[(I>>16)&0xff]) - s3[(I>>8)&0xff]) + s4[I&0xff]) )
+#define F2(D,r,m)  (  (I = ((m) ^ (D))), (I=rol((r),I)),   \
+    (((s1[I >> 24] - s2[(I>>16)&0xff]) + s3[(I>>8)&0xff]) ^ s4[I&0xff]) )
+#define F3(D,r,m)  (  (I = ((m) - (D))), (I=rol((r),I)),   \
+    (((s1[I >> 24] + s2[(I>>16)&0xff]) ^ s3[(I>>8)&0xff]) - s4[I&0xff]) )
+
+static const u32 s1[256] = {
+	0x30fb40d4, 0x9fa0ff0b, 0x6beccd2f, 0x3f258c7a, 0x1e213f2f,
+	0x9c004dd3, 0x6003e540, 0xcf9fc949,
+	0xbfd4af27, 0x88bbbdb5, 0xe2034090, 0x98d09675, 0x6e63a0e0,
+	0x15c361d2, 0xc2e7661d, 0x22d4ff8e,
+	0x28683b6f, 0xc07fd059, 0xff2379c8, 0x775f50e2, 0x43c340d3,
+	0xdf2f8656, 0x887ca41a, 0xa2d2bd2d,
+	0xa1c9e0d6, 0x346c4819, 0x61b76d87, 0x22540f2f, 0x2abe32e1,
+	0xaa54166b, 0x22568e3a, 0xa2d341d0,
+	0x66db40c8, 0xa784392f, 0x004dff2f, 0x2db9d2de, 0x97943fac,
+	0x4a97c1d8, 0x527644b7, 0xb5f437a7,
+	0xb82cbaef, 0xd751d159, 0x6ff7f0ed, 0x5a097a1f, 0x827b68d0,
+	0x90ecf52e, 0x22b0c054, 0xbc8e5935,
+	0x4b6d2f7f, 0x50bb64a2, 0xd2664910, 0xbee5812d, 0xb7332290,
+	0xe93b159f, 0xb48ee411, 0x4bff345d,
+	0xfd45c240, 0xad31973f, 0xc4f6d02e, 0x55fc8165, 0xd5b1caad,
+	0xa1ac2dae, 0xa2d4b76d, 0xc19b0c50,
+	0x882240f2, 0x0c6e4f38, 0xa4e4bfd7, 0x4f5ba272, 0x564c1d2f,
+	0xc59c5319, 0xb949e354, 0xb04669fe,
+	0xb1b6ab8a, 0xc71358dd, 0x6385c545, 0x110f935d, 0x57538ad5,
+	0x6a390493, 0xe63d37e0, 0x2a54f6b3,
+	0x3a787d5f, 0x6276a0b5, 0x19a6fcdf, 0x7a42206a, 0x29f9d4d5,
+	0xf61b1891, 0xbb72275e, 0xaa508167,
+	0x38901091, 0xc6b505eb, 0x84c7cb8c, 0x2ad75a0f, 0x874a1427,
+	0xa2d1936b, 0x2ad286af, 0xaa56d291,
+	0xd7894360, 0x425c750d, 0x93b39e26, 0x187184c9, 0x6c00b32d,
+	0x73e2bb14, 0xa0bebc3c, 0x54623779,
+	0x64459eab, 0x3f328b82, 0x7718cf82, 0x59a2cea6, 0x04ee002e,
+	0x89fe78e6, 0x3fab0950, 0x325ff6c2,
+	0x81383f05, 0x6963c5c8, 0x76cb5ad6, 0xd49974c9, 0xca180dcf,
+	0x380782d5, 0xc7fa5cf6, 0x8ac31511,
+	0x35e79e13, 0x47da91d0, 0xf40f9086, 0xa7e2419e, 0x31366241,
+	0x051ef495, 0xaa573b04, 0x4a805d8d,
+	0x548300d0, 0x00322a3c, 0xbf64cddf, 0xba57a68e, 0x75c6372b,
+	0x50afd341, 0xa7c13275, 0x915a0bf5,
+	0x6b54bfab, 0x2b0b1426, 0xab4cc9d7, 0x449ccd82, 0xf7fbf265,
+	0xab85c5f3, 0x1b55db94, 0xaad4e324,
+	0xcfa4bd3f, 0x2deaa3e2, 0x9e204d02, 0xc8bd25ac, 0xeadf55b3,
+	0xd5bd9e98, 0xe31231b2, 0x2ad5ad6c,
+	0x954329de, 0xadbe4528, 0xd8710f69, 0xaa51c90f, 0xaa786bf6,
+	0x22513f1e, 0xaa51a79b, 0x2ad344cc,
+	0x7b5a41f0, 0xd37cfbad, 0x1b069505, 0x41ece491, 0xb4c332e6,
+	0x032268d4, 0xc9600acc, 0xce387e6d,
+	0xbf6bb16c, 0x6a70fb78, 0x0d03d9c9, 0xd4df39de, 0xe01063da,
+	0x4736f464, 0x5ad328d8, 0xb347cc96,
+	0x75bb0fc3, 0x98511bfb, 0x4ffbcc35, 0xb58bcf6a, 0xe11f0abc,
+	0xbfc5fe4a, 0xa70aec10, 0xac39570a,
+	0x3f04442f, 0x6188b153, 0xe0397a2e, 0x5727cb79, 0x9ceb418f,
+	0x1cacd68d, 0x2ad37c96, 0x0175cb9d,
+	0xc69dff09, 0xc75b65f0, 0xd9db40d8, 0xec0e7779, 0x4744ead4,
+	0xb11c3274, 0xdd24cb9e, 0x7e1c54bd,
+	0xf01144f9, 0xd2240eb1, 0x9675b3fd, 0xa3ac3755, 0xd47c27af,
+	0x51c85f4d, 0x56907596, 0xa5bb15e6,
+	0x580304f0, 0xca042cf1, 0x011a37ea, 0x8dbfaadb, 0x35ba3e4a,
+	0x3526ffa0, 0xc37b4d09, 0xbc306ed9,
+	0x98a52666, 0x5648f725, 0xff5e569d, 0x0ced63d0, 0x7c63b2cf,
+	0x700b45e1, 0xd5ea50f1, 0x85a92872,
+	0xaf1fbda7, 0xd4234870, 0xa7870bf3, 0x2d3b4d79, 0x42e04198,
+	0x0cd0ede7, 0x26470db8, 0xf881814c,
+	0x474d6ad7, 0x7c0c5e5c, 0xd1231959, 0x381b7298, 0xf5d2f4db,
+	0xab838653, 0x6e2f1e23, 0x83719c9e,
+	0xbd91e046, 0x9a56456e, 0xdc39200c, 0x20c8c571, 0x962bda1c,
+	0xe1e696ff, 0xb141ab08, 0x7cca89b9,
+	0x1a69e783, 0x02cc4843, 0xa2f7c579, 0x429ef47d, 0x427b169c,
+	0x5ac9f049, 0xdd8f0f00, 0x5c8165bf
+};
+
+static const u32 s2[256] = {
+	0x1f201094, 0xef0ba75b, 0x69e3cf7e, 0x393f4380, 0xfe61cf7a,
+	0xeec5207a, 0x55889c94, 0x72fc0651,
+	0xada7ef79, 0x4e1d7235, 0xd55a63ce, 0xde0436ba, 0x99c430ef,
+	0x5f0c0794, 0x18dcdb7d, 0xa1d6eff3,
+	0xa0b52f7b, 0x59e83605, 0xee15b094, 0xe9ffd909, 0xdc440086,
+	0xef944459, 0xba83ccb3, 0xe0c3cdfb,
+	0xd1da4181, 0x3b092ab1, 0xf997f1c1, 0xa5e6cf7b, 0x01420ddb,
+	0xe4e7ef5b, 0x25a1ff41, 0xe180f806,
+	0x1fc41080, 0x179bee7a, 0xd37ac6a9, 0xfe5830a4, 0x98de8b7f,
+	0x77e83f4e, 0x79929269, 0x24fa9f7b,
+	0xe113c85b, 0xacc40083, 0xd7503525, 0xf7ea615f, 0x62143154,
+	0x0d554b63, 0x5d681121, 0xc866c359,
+	0x3d63cf73, 0xcee234c0, 0xd4d87e87, 0x5c672b21, 0x071f6181,
+	0x39f7627f, 0x361e3084, 0xe4eb573b,
+	0x602f64a4, 0xd63acd9c, 0x1bbc4635, 0x9e81032d, 0x2701f50c,
+	0x99847ab4, 0xa0e3df79, 0xba6cf38c,
+	0x10843094, 0x2537a95e, 0xf46f6ffe, 0xa1ff3b1f, 0x208cfb6a,
+	0x8f458c74, 0xd9e0a227, 0x4ec73a34,
+	0xfc884f69, 0x3e4de8df, 0xef0e0088, 0x3559648d, 0x8a45388c,
+	0x1d804366, 0x721d9bfd, 0xa58684bb,
+	0xe8256333, 0x844e8212, 0x128d8098, 0xfed33fb4, 0xce280ae1,
+	0x27e19ba5, 0xd5a6c252, 0xe49754bd,
+	0xc5d655dd, 0xeb667064, 0x77840b4d, 0xa1b6a801, 0x84db26a9,
+	0xe0b56714, 0x21f043b7, 0xe5d05860,
+	0x54f03084, 0x066ff472, 0xa31aa153, 0xdadc4755, 0xb5625dbf,
+	0x68561be6, 0x83ca6b94, 0x2d6ed23b,
+	0xeccf01db, 0xa6d3d0ba, 0xb6803d5c, 0xaf77a709, 0x33b4a34c,
+	0x397bc8d6, 0x5ee22b95, 0x5f0e5304,
+	0x81ed6f61, 0x20e74364, 0xb45e1378, 0xde18639b, 0x881ca122,
+	0xb96726d1, 0x8049a7e8, 0x22b7da7b,
+	0x5e552d25, 0x5272d237, 0x79d2951c, 0xc60d894c, 0x488cb402,
+	0x1ba4fe5b, 0xa4b09f6b, 0x1ca815cf,
+	0xa20c3005, 0x8871df63, 0xb9de2fcb, 0x0cc6c9e9, 0x0beeff53,
+	0xe3214517, 0xb4542835, 0x9f63293c,
+	0xee41e729, 0x6e1d2d7c, 0x50045286, 0x1e6685f3, 0xf33401c6,
+	0x30a22c95, 0x31a70850, 0x60930f13,
+	0x73f98417, 0xa1269859, 0xec645c44, 0x52c877a9, 0xcdff33a6,
+	0xa02b1741, 0x7cbad9a2, 0x2180036f,
+	0x50d99c08, 0xcb3f4861, 0xc26bd765, 0x64a3f6ab, 0x80342676,
+	0x25a75e7b, 0xe4e6d1fc, 0x20c710e6,
+	0xcdf0b680, 0x17844d3b, 0x31eef84d, 0x7e0824e4, 0x2ccb49eb,
+	0x846a3bae, 0x8ff77888, 0xee5d60f6,
+	0x7af75673, 0x2fdd5cdb, 0xa11631c1, 0x30f66f43, 0xb3faec54,
+	0x157fd7fa, 0xef8579cc, 0xd152de58,
+	0xdb2ffd5e, 0x8f32ce19, 0x306af97a, 0x02f03ef8, 0x99319ad5,
+	0xc242fa0f, 0xa7e3ebb0, 0xc68e4906,
+	0xb8da230c, 0x80823028, 0xdcdef3c8, 0xd35fb171, 0x088a1bc8,
+	0xbec0c560, 0x61a3c9e8, 0xbca8f54d,
+	0xc72feffa, 0x22822e99, 0x82c570b4, 0xd8d94e89, 0x8b1c34bc,
+	0x301e16e6, 0x273be979, 0xb0ffeaa6,
+	0x61d9b8c6, 0x00b24869, 0xb7ffce3f, 0x08dc283b, 0x43daf65a,
+	0xf7e19798, 0x7619b72f, 0x8f1c9ba4,
+	0xdc8637a0, 0x16a7d3b1, 0x9fc393b7, 0xa7136eeb, 0xc6bcc63e,
+	0x1a513742, 0xef6828bc, 0x520365d6,
+	0x2d6a77ab, 0x3527ed4b, 0x821fd216, 0x095c6e2e, 0xdb92f2fb,
+	0x5eea29cb, 0x145892f5, 0x91584f7f,
+	0x5483697b, 0x2667a8cc, 0x85196048, 0x8c4bacea, 0x833860d4,
+	0x0d23e0f9, 0x6c387e8a, 0x0ae6d249,
+	0xb284600c, 0xd835731d, 0xdcb1c647, 0xac4c56ea, 0x3ebd81b3,
+	0x230eabb0, 0x6438bc87, 0xf0b5b1fa,
+	0x8f5ea2b3, 0xfc184642, 0x0a036b7a, 0x4fb089bd, 0x649da589,
+	0xa345415e, 0x5c038323, 0x3e5d3bb9,
+	0x43d79572, 0x7e6dd07c, 0x06dfdf1e, 0x6c6cc4ef, 0x7160a539,
+	0x73bfbe70, 0x83877605, 0x4523ecf1
+};
+
+static const u32 s3[256] = {
+	0x8defc240, 0x25fa5d9f, 0xeb903dbf, 0xe810c907, 0x47607fff,
+	0x369fe44b, 0x8c1fc644, 0xaececa90,
+	0xbeb1f9bf, 0xeefbcaea, 0xe8cf1950, 0x51df07ae, 0x920e8806,
+	0xf0ad0548, 0xe13c8d83, 0x927010d5,
+	0x11107d9f, 0x07647db9, 0xb2e3e4d4, 0x3d4f285e, 0xb9afa820,
+	0xfade82e0, 0xa067268b, 0x8272792e,
+	0x553fb2c0, 0x489ae22b, 0xd4ef9794, 0x125e3fbc, 0x21fffcee,
+	0x825b1bfd, 0x9255c5ed, 0x1257a240,
+	0x4e1a8302, 0xbae07fff, 0x528246e7, 0x8e57140e, 0x3373f7bf,
+	0x8c9f8188, 0xa6fc4ee8, 0xc982b5a5,
+	0xa8c01db7, 0x579fc264, 0x67094f31, 0xf2bd3f5f, 0x40fff7c1,
+	0x1fb78dfc, 0x8e6bd2c1, 0x437be59b,
+	0x99b03dbf, 0xb5dbc64b, 0x638dc0e6, 0x55819d99, 0xa197c81c,
+	0x4a012d6e, 0xc5884a28, 0xccc36f71,
+	0xb843c213, 0x6c0743f1, 0x8309893c, 0x0feddd5f, 0x2f7fe850,
+	0xd7c07f7e, 0x02507fbf, 0x5afb9a04,
+	0xa747d2d0, 0x1651192e, 0xaf70bf3e, 0x58c31380, 0x5f98302e,
+	0x727cc3c4, 0x0a0fb402, 0x0f7fef82,
+	0x8c96fdad, 0x5d2c2aae, 0x8ee99a49, 0x50da88b8, 0x8427f4a0,
+	0x1eac5790, 0x796fb449, 0x8252dc15,
+	0xefbd7d9b, 0xa672597d, 0xada840d8, 0x45f54504, 0xfa5d7403,
+	0xe83ec305, 0x4f91751a, 0x925669c2,
+	0x23efe941, 0xa903f12e, 0x60270df2, 0x0276e4b6, 0x94fd6574,
+	0x927985b2, 0x8276dbcb, 0x02778176,
+	0xf8af918d, 0x4e48f79e, 0x8f616ddf, 0xe29d840e, 0x842f7d83,
+	0x340ce5c8, 0x96bbb682, 0x93b4b148,
+	0xef303cab, 0x984faf28, 0x779faf9b, 0x92dc560d, 0x224d1e20,
+	0x8437aa88, 0x7d29dc96, 0x2756d3dc,
+	0x8b907cee, 0xb51fd240, 0xe7c07ce3, 0xe566b4a1, 0xc3e9615e,
+	0x3cf8209d, 0x6094d1e3, 0xcd9ca341,
+	0x5c76460e, 0x00ea983b, 0xd4d67881, 0xfd47572c, 0xf76cedd9,
+	0xbda8229c, 0x127dadaa, 0x438a074e,
+	0x1f97c090, 0x081bdb8a, 0x93a07ebe, 0xb938ca15, 0x97b03cff,
+	0x3dc2c0f8, 0x8d1ab2ec, 0x64380e51,
+	0x68cc7bfb, 0xd90f2788, 0x12490181, 0x5de5ffd4, 0xdd7ef86a,
+	0x76a2e214, 0xb9a40368, 0x925d958f,
+	0x4b39fffa, 0xba39aee9, 0xa4ffd30b, 0xfaf7933b, 0x6d498623,
+	0x193cbcfa, 0x27627545, 0x825cf47a,
+	0x61bd8ba0, 0xd11e42d1, 0xcead04f4, 0x127ea392, 0x10428db7,
+	0x8272a972, 0x9270c4a8, 0x127de50b,
+	0x285ba1c8, 0x3c62f44f, 0x35c0eaa5, 0xe805d231, 0x428929fb,
+	0xb4fcdf82, 0x4fb66a53, 0x0e7dc15b,
+	0x1f081fab, 0x108618ae, 0xfcfd086d, 0xf9ff2889, 0x694bcc11,
+	0x236a5cae, 0x12deca4d, 0x2c3f8cc5,
+	0xd2d02dfe, 0xf8ef5896, 0xe4cf52da, 0x95155b67, 0x494a488c,
+	0xb9b6a80c, 0x5c8f82bc, 0x89d36b45,
+	0x3a609437, 0xec00c9a9, 0x44715253, 0x0a874b49, 0xd773bc40,
+	0x7c34671c, 0x02717ef6, 0x4feb5536,
+	0xa2d02fff, 0xd2bf60c4, 0xd43f03c0, 0x50b4ef6d, 0x07478cd1,
+	0x006e1888, 0xa2e53f55, 0xb9e6d4bc,
+	0xa2048016, 0x97573833, 0xd7207d67, 0xde0f8f3d, 0x72f87b33,
+	0xabcc4f33, 0x7688c55d, 0x7b00a6b0,
+	0x947b0001, 0x570075d2, 0xf9bb88f8, 0x8942019e, 0x4264a5ff,
+	0x856302e0, 0x72dbd92b, 0xee971b69,
+	0x6ea22fde, 0x5f08ae2b, 0xaf7a616d, 0xe5c98767, 0xcf1febd2,
+	0x61efc8c2, 0xf1ac2571, 0xcc8239c2,
+	0x67214cb8, 0xb1e583d1, 0xb7dc3e62, 0x7f10bdce, 0xf90a5c38,
+	0x0ff0443d, 0x606e6dc6, 0x60543a49,
+	0x5727c148, 0x2be98a1d, 0x8ab41738, 0x20e1be24, 0xaf96da0f,
+	0x68458425, 0x99833be5, 0x600d457d,
+	0x282f9350, 0x8334b362, 0xd91d1120, 0x2b6d8da0, 0x642b1e31,
+	0x9c305a00, 0x52bce688, 0x1b03588a,
+	0xf7baefd5, 0x4142ed9c, 0xa4315c11, 0x83323ec5, 0xdfef4636,
+	0xa133c501, 0xe9d3531c, 0xee353783
+};
+
+static const u32 s4[256] = {
+	0x9db30420, 0x1fb6e9de, 0xa7be7bef, 0xd273a298, 0x4a4f7bdb,
+	0x64ad8c57, 0x85510443, 0xfa020ed1,
+	0x7e287aff, 0xe60fb663, 0x095f35a1, 0x79ebf120, 0xfd059d43,
+	0x6497b7b1, 0xf3641f63, 0x241e4adf,
+	0x28147f5f, 0x4fa2b8cd, 0xc9430040, 0x0cc32220, 0xfdd30b30,
+	0xc0a5374f, 0x1d2d00d9, 0x24147b15,
+	0xee4d111a, 0x0fca5167, 0x71ff904c, 0x2d195ffe, 0x1a05645f,
+	0x0c13fefe, 0x081b08ca, 0x05170121,
+	0x80530100, 0xe83e5efe, 0xac9af4f8, 0x7fe72701, 0xd2b8ee5f,
+	0x06df4261, 0xbb9e9b8a, 0x7293ea25,
+	0xce84ffdf, 0xf5718801, 0x3dd64b04, 0xa26f263b, 0x7ed48400,
+	0x547eebe6, 0x446d4ca0, 0x6cf3d6f5,
+	0x2649abdf, 0xaea0c7f5, 0x36338cc1, 0x503f7e93, 0xd3772061,
+	0x11b638e1, 0x72500e03, 0xf80eb2bb,
+	0xabe0502e, 0xec8d77de, 0x57971e81, 0xe14f6746, 0xc9335400,
+	0x6920318f, 0x081dbb99, 0xffc304a5,
+	0x4d351805, 0x7f3d5ce3, 0xa6c866c6, 0x5d5bcca9, 0xdaec6fea,
+	0x9f926f91, 0x9f46222f, 0x3991467d,
+	0xa5bf6d8e, 0x1143c44f, 0x43958302, 0xd0214eeb, 0x022083b8,
+	0x3fb6180c, 0x18f8931e, 0x281658e6,
+	0x26486e3e, 0x8bd78a70, 0x7477e4c1, 0xb506e07c, 0xf32d0a25,
+	0x79098b02, 0xe4eabb81, 0x28123b23,
+	0x69dead38, 0x1574ca16, 0xdf871b62, 0x211c40b7, 0xa51a9ef9,
+	0x0014377b, 0x041e8ac8, 0x09114003,
+	0xbd59e4d2, 0xe3d156d5, 0x4fe876d5, 0x2f91a340, 0x557be8de,
+	0x00eae4a7, 0x0ce5c2ec, 0x4db4bba6,
+	0xe756bdff, 0xdd3369ac, 0xec17b035, 0x06572327, 0x99afc8b0,
+	0x56c8c391, 0x6b65811c, 0x5e146119,
+	0x6e85cb75, 0xbe07c002, 0xc2325577, 0x893ff4ec, 0x5bbfc92d,
+	0xd0ec3b25, 0xb7801ab7, 0x8d6d3b24,
+	0x20c763ef, 0xc366a5fc, 0x9c382880, 0x0ace3205, 0xaac9548a,
+	0xeca1d7c7, 0x041afa32, 0x1d16625a,
+	0x6701902c, 0x9b757a54, 0x31d477f7, 0x9126b031, 0x36cc6fdb,
+	0xc70b8b46, 0xd9e66a48, 0x56e55a79,
+	0x026a4ceb, 0x52437eff, 0x2f8f76b4, 0x0df980a5, 0x8674cde3,
+	0xedda04eb, 0x17a9be04, 0x2c18f4df,
+	0xb7747f9d, 0xab2af7b4, 0xefc34d20, 0x2e096b7c, 0x1741a254,
+	0xe5b6a035, 0x213d42f6, 0x2c1c7c26,
+	0x61c2f50f, 0x6552daf9, 0xd2c231f8, 0x25130f69, 0xd8167fa2,
+	0x0418f2c8, 0x001a96a6, 0x0d1526ab,
+	0x63315c21, 0x5e0a72ec, 0x49bafefd, 0x187908d9, 0x8d0dbd86,
+	0x311170a7, 0x3e9b640c, 0xcc3e10d7,
+	0xd5cad3b6, 0x0caec388, 0xf73001e1, 0x6c728aff, 0x71eae2a1,
+	0x1f9af36e, 0xcfcbd12f, 0xc1de8417,
+	0xac07be6b, 0xcb44a1d8, 0x8b9b0f56, 0x013988c3, 0xb1c52fca,
+	0xb4be31cd, 0xd8782806, 0x12a3a4e2,
+	0x6f7de532, 0x58fd7eb6, 0xd01ee900, 0x24adffc2, 0xf4990fc5,
+	0x9711aac5, 0x001d7b95, 0x82e5e7d2,
+	0x109873f6, 0x00613096, 0xc32d9521, 0xada121ff, 0x29908415,
+	0x7fbb977f, 0xaf9eb3db, 0x29c9ed2a,
+	0x5ce2a465, 0xa730f32c, 0xd0aa3fe8, 0x8a5cc091, 0xd49e2ce7,
+	0x0ce454a9, 0xd60acd86, 0x015f1919,
+	0x77079103, 0xdea03af6, 0x78a8565e, 0xdee356df, 0x21f05cbe,
+	0x8b75e387, 0xb3c50651, 0xb8a5c3ef,
+	0xd8eeb6d2, 0xe523be77, 0xc2154529, 0x2f69efdf, 0xafe67afb,
+	0xf470c4b2, 0xf3e0eb5b, 0xd6cc9876,
+	0x39e4460c, 0x1fda8538, 0x1987832f, 0xca007367, 0xa99144f8,
+	0x296b299e, 0x492fc295, 0x9266beab,
+	0xb5676e69, 0x9bd3ddda, 0xdf7e052f, 0xdb25701c, 0x1b5e51ee,
+	0xf65324e6, 0x6afce36c, 0x0316cc04,
+	0x8644213e, 0xb7dc59d0, 0x7965291f, 0xccd6fd43, 0x41823979,
+	0x932bcdf6, 0xb657c34d, 0x4edfd282,
+	0x7ae5290c, 0x3cb9536b, 0x851e20fe, 0x9833557e, 0x13ecf0b0,
+	0xd3ffb372, 0x3f85c5c1, 0x0aef7ed2
+};
+
+static const u32 Tm[24][8] = {
+	{ 0x5a827999, 0xc95c653a, 0x383650db, 0xa7103c7c, 0x15ea281d,
+		0x84c413be, 0xf39dff5f, 0x6277eb00 } ,
+	{ 0xd151d6a1, 0x402bc242, 0xaf05ade3, 0x1ddf9984, 0x8cb98525,
+		0xfb9370c6, 0x6a6d5c67, 0xd9474808 } ,
+	{ 0x482133a9, 0xb6fb1f4a, 0x25d50aeb, 0x94aef68c, 0x0388e22d,
+		0x7262cdce, 0xe13cb96f, 0x5016a510 } ,
+	{ 0xbef090b1, 0x2dca7c52, 0x9ca467f3, 0x0b7e5394, 0x7a583f35,
+		0xe9322ad6, 0x580c1677, 0xc6e60218 } ,
+	{ 0x35bfedb9, 0xa499d95a, 0x1373c4fb, 0x824db09c, 0xf1279c3d,
+		0x600187de, 0xcedb737f, 0x3db55f20 } ,
+	{ 0xac8f4ac1, 0x1b693662, 0x8a432203, 0xf91d0da4, 0x67f6f945,
+		0xd6d0e4e6, 0x45aad087, 0xb484bc28 } ,
+	{ 0x235ea7c9, 0x9238936a, 0x01127f0b, 0x6fec6aac, 0xdec6564d,
+		0x4da041ee, 0xbc7a2d8f, 0x2b541930 } ,
+	{ 0x9a2e04d1, 0x0907f072, 0x77e1dc13, 0xe6bbc7b4, 0x5595b355,
+		0xc46f9ef6, 0x33498a97, 0xa2237638 } ,
+	{ 0x10fd61d9, 0x7fd74d7a, 0xeeb1391b, 0x5d8b24bc, 0xcc65105d,
+		0x3b3efbfe, 0xaa18e79f, 0x18f2d340 } ,
+	{ 0x87ccbee1, 0xf6a6aa82, 0x65809623, 0xd45a81c4, 0x43346d65,
+		0xb20e5906, 0x20e844a7, 0x8fc23048 } ,
+	{ 0xfe9c1be9, 0x6d76078a, 0xdc4ff32b, 0x4b29decc, 0xba03ca6d,
+		0x28ddb60e, 0x97b7a1af, 0x06918d50 } ,
+	{ 0x756b78f1, 0xe4456492, 0x531f5033, 0xc1f93bd4, 0x30d32775,
+		0x9fad1316, 0x0e86feb7, 0x7d60ea58 } ,
+	{ 0xec3ad5f9, 0x5b14c19a, 0xc9eead3b, 0x38c898dc, 0xa7a2847d,
+		0x167c701e, 0x85565bbf, 0xf4304760 } ,
+	{ 0x630a3301, 0xd1e41ea2, 0x40be0a43, 0xaf97f5e4, 0x1e71e185,
+		0x8d4bcd26, 0xfc25b8c7, 0x6affa468 } ,
+	{ 0xd9d99009, 0x48b37baa, 0xb78d674b, 0x266752ec, 0x95413e8d,
+		0x041b2a2e, 0x72f515cf, 0xe1cf0170 } ,
+	{ 0x50a8ed11, 0xbf82d8b2, 0x2e5cc453, 0x9d36aff4, 0x0c109b95,
+		0x7aea8736, 0xe9c472d7, 0x589e5e78 } ,
+	{ 0xc7784a19, 0x365235ba, 0xa52c215b, 0x14060cfc, 0x82dff89d,
+		0xf1b9e43e, 0x6093cfdf, 0xcf6dbb80 } ,
+	{ 0x3e47a721, 0xad2192c2, 0x1bfb7e63, 0x8ad56a04, 0xf9af55a5,
+		0x68894146, 0xd7632ce7, 0x463d1888 } ,
+	{ 0xb5170429, 0x23f0efca, 0x92cadb6b, 0x01a4c70c, 0x707eb2ad,
+		0xdf589e4e, 0x4e3289ef, 0xbd0c7590 } ,
+	{ 0x2be66131, 0x9ac04cd2, 0x099a3873, 0x78742414, 0xe74e0fb5,
+		0x5627fb56, 0xc501e6f7, 0x33dbd298 } ,
+	{ 0xa2b5be39, 0x118fa9da, 0x8069957b, 0xef43811c, 0x5e1d6cbd,
+		0xccf7585e, 0x3bd143ff, 0xaaab2fa0 } ,
+	{ 0x19851b41, 0x885f06e2, 0xf738f283, 0x6612de24, 0xd4ecc9c5,
+		0x43c6b566, 0xb2a0a107, 0x217a8ca8 } ,
+	{ 0x90547849, 0xff2e63ea, 0x6e084f8b, 0xdce23b2c, 0x4bbc26cd,
+		0xba96126e, 0x296ffe0f, 0x9849e9b0 } ,
+	{ 0x0723d551, 0x75fdc0f2, 0xe4d7ac93, 0x53b19834, 0xc28b83d5,
+		0x31656f76, 0xa03f5b17, 0x0f1946b8 }
+};
+
+static const u8 Tr[4][8] = {
+	{ 0x13, 0x04, 0x15, 0x06, 0x17, 0x08, 0x19, 0x0a } ,
+	{ 0x1b, 0x0c, 0x1d, 0x0e, 0x1f, 0x10, 0x01, 0x12 } ,
+	{ 0x03, 0x14, 0x05, 0x16, 0x07, 0x18, 0x09, 0x1a } ,
+	{ 0x0b, 0x1c, 0x0d, 0x1e, 0x0f, 0x00, 0x11, 0x02 }
+};
+
+/* forward octave */
+static inline void W(u32 *key, unsigned int i) {
+	u32 I;
+	key[6] ^= F1(key[7], Tr[i % 4][0], Tm[i][0]);
+	key[5] ^= F2(key[6], Tr[i % 4][1], Tm[i][1]);
+	key[4] ^= F3(key[5], Tr[i % 4][2], Tm[i][2]);
+	key[3] ^= F1(key[4], Tr[i % 4][3], Tm[i][3]);
+	key[2] ^= F2(key[3], Tr[i % 4][4], Tm[i][4]);
+	key[1] ^= F3(key[2], Tr[i % 4][5], Tm[i][5]);
+	key[0] ^= F1(key[1], Tr[i % 4][6], Tm[i][6]);
+	key[7] ^= F2(key[0], Tr[i % 4][7], Tm[i][7]);
+}
+
+static int
+cast6_setkey(void *ctx, const u8 * in_key, unsigned key_len, u32 * flags)
+{
+	int i;
+	u32 key[8];
+	u8 p_key[32]; /* padded key */
+
+	if (key_len < 16 || key_len > 32 || key_len % 4 != 0) {
+		*flags |= CRYPTO_TFM_RES_BAD_KEY_LEN;
+		return -EINVAL;
+	}
+
+	memset (p_key, 0, 32);
+	memcpy (p_key, in_key, key_len);
+
+	key[0] = p_key[0] << 24 | p_key[1] << 16 | p_key[2] << 8 | p_key[3];		/* A 
*/
+	key[1] = p_key[4] << 24 | p_key[5] << 16 | p_key[6] << 8 | p_key[7];		/* B 
*/
+	key[2] = p_key[8] << 24 | p_key[9] << 16 | p_key[10] << 8 | p_key[11];		/* 
C */
+	key[3] = p_key[12] << 24 | p_key[13] << 16 | p_key[14] << 8 | 
p_key[15];	/* D */
+	key[4] = p_key[16] << 24 | p_key[17] << 16 | p_key[18] << 8 | 
p_key[19];	/* E */
+	key[5] = p_key[20] << 24 | p_key[21] << 16 | p_key[22] << 8 | 
p_key[23];	/* F */
+	key[6] = p_key[24] << 24 | p_key[25] << 16 | p_key[26] << 8 | 
p_key[27];	/* G */
+	key[7] = p_key[28] << 24 | p_key[29] << 16 | p_key[30] << 8 | 
p_key[31];	/* H */
+
+	struct cast6_ctx *c = (struct cast6_ctx *) ctx;
+
+	for (i = 0; i < 12; i++) {
+		W (key, 2 * i);
+		W (key, 2 * i + 1);
+
+		c->Kr[i][0] = key[0] & 0x1f;
+		c->Kr[i][1] = key[2] & 0x1f;
+		c->Kr[i][2] = key[4] & 0x1f;
+		c->Kr[i][3] = key[6] & 0x1f;
+
+		c->Km[i][0] = key[7];
+		c->Km[i][1] = key[5];
+		c->Km[i][2] = key[3];
+		c->Km[i][3] = key[1];
+	}
+
+	return 0;
+}
+
+/*forward quad round*/
+static inline void Q (u32 * block, u8 * Kr, u32 * Km) {
+	u32 I;
+	block[2] ^= F1(block[3], Kr[0], Km[0]);
+	block[1] ^= F2(block[2], Kr[1], Km[1]);
+	block[0] ^= F3(block[1], Kr[2], Km[2]);
+	block[3] ^= F1(block[0], Kr[3], Km[3]);
+}
+
+/*reverse quad round*/
+static inline void QBAR (u32 * block, u8 * Kr, u32 * Km) {
+	u32 I;
+        block[3] ^= F1(block[0], Kr[3], Km[3]);
+        block[0] ^= F3(block[1], Kr[2], Km[2]);
+        block[1] ^= F2(block[2], Kr[1], Km[1]);
+        block[2] ^= F1(block[3], Kr[0], Km[0]);
+}
+
+static void cast6_encrypt (void * ctx, u8 * outbuf, const u8 * inbuf) {
+	struct cast6_ctx * c = (struct cast6_ctx *)ctx;
+	u32 block[4];
+	u32 * Km;
+	u8 * Kr;
+
+	block[0] = inbuf[0] << 24 | inbuf[1] << 16 | inbuf[2] << 8 | inbuf[3];
+	block[1] = inbuf[4] << 24 | inbuf[5] << 16 | inbuf[6] << 8 | inbuf[7];
+	block[2] = inbuf[8] << 24 | inbuf[9] << 16 | inbuf[10] << 8 | inbuf[11];
+	block[3] = inbuf[12] << 24 | inbuf[13] << 16 | inbuf[14] << 8 | inbuf[15];
+
+	Km = c->Km[0]; Kr = c->Kr[0]; Q (block, Kr, Km);
+	Km = c->Km[1]; Kr = c->Kr[1]; Q (block, Kr, Km);
+	Km = c->Km[2]; Kr = c->Kr[2]; Q (block, Kr, Km);
+	Km = c->Km[3]; Kr = c->Kr[3]; Q (block, Kr, Km);
+	Km = c->Km[4]; Kr = c->Kr[4]; Q (block, Kr, Km);
+	Km = c->Km[5]; Kr = c->Kr[5]; Q (block, Kr, Km);
+	Km = c->Km[6]; Kr = c->Kr[6]; QBAR (block, Kr, Km);
+	Km = c->Km[7]; Kr = c->Kr[7]; QBAR (block, Kr, Km);
+	Km = c->Km[8]; Kr = c->Kr[8]; QBAR (block, Kr, Km);
+	Km = c->Km[9]; Kr = c->Kr[9]; QBAR (block, Kr, Km);
+	Km = c->Km[10]; Kr = c->Kr[10]; QBAR (block, Kr, Km);
+	Km = c->Km[11]; Kr = c->Kr[11]; QBAR (block, Kr, Km);
+
+	outbuf[0] = (block[0] >> 24) & 0xff;
+	outbuf[1] = (block[0] >> 16) & 0xff;
+	outbuf[2] = (block[0] >> 8) & 0xff;
+	outbuf[3] = block[0] & 0xff;
+	outbuf[4] = (block[1] >> 24) & 0xff;
+	outbuf[5] = (block[1] >> 16) & 0xff;
+	outbuf[6] = (block[1] >> 8) & 0xff;
+	outbuf[7] = block[1] & 0xff;
+	outbuf[8] = (block[2] >> 24) & 0xff;
+	outbuf[9] = (block[2] >> 16) & 0xff;
+	outbuf[10] = (block[2] >> 8) & 0xff;
+	outbuf[11] = block[2] & 0xff;
+	outbuf[12] = (block[3] >> 24) & 0xff;
+	outbuf[13] = (block[3] >> 16) & 0xff;
+	outbuf[14] = (block[3] >> 8) & 0xff;
+	outbuf[15] = block[3] & 0xff;
+}
+
+static void cast6_decrypt (void * ctx, u8 * outbuf, const u8 * inbuf) {
+	struct cast6_ctx * c = (struct cast6_ctx *)ctx;
+	u32 block[4];
+	u32 * Km;
+	u8 * Kr;
+
+	block[0] = inbuf[0] << 24 | inbuf[1] << 16 | inbuf[2] << 8 | inbuf[3];
+	block[1] = inbuf[4] << 24 | inbuf[5] << 16 | inbuf[6] << 8 | inbuf[7];
+	block[2] = inbuf[8] << 24 | inbuf[9] << 16 | inbuf[10] << 8 | inbuf[11];
+	block[3] = inbuf[12] << 24 | inbuf[13] << 16 | inbuf[14] << 8 | inbuf[15];
+
+	Km = c->Km[11]; Kr = c->Kr[11]; Q (block, Kr, Km);
+	Km = c->Km[10]; Kr = c->Kr[10]; Q (block, Kr, Km);
+	Km = c->Km[9]; Kr = c->Kr[9]; Q (block, Kr, Km);
+	Km = c->Km[8]; Kr = c->Kr[8]; Q (block, Kr, Km);
+	Km = c->Km[7]; Kr = c->Kr[7]; Q (block, Kr, Km);
+	Km = c->Km[6]; Kr = c->Kr[6]; Q (block, Kr, Km);
+	Km = c->Km[5]; Kr = c->Kr[5]; QBAR (block, Kr, Km);
+	Km = c->Km[4]; Kr = c->Kr[4]; QBAR (block, Kr, Km);
+	Km = c->Km[3]; Kr = c->Kr[3]; QBAR (block, Kr, Km);
+	Km = c->Km[2]; Kr = c->Kr[2]; QBAR (block, Kr, Km);
+	Km = c->Km[1]; Kr = c->Kr[1]; QBAR (block, Kr, Km);
+	Km = c->Km[0]; Kr = c->Kr[0]; QBAR (block, Kr, Km);
+
+	outbuf[0] = (block[0] >> 24) & 0xff;
+	outbuf[1] = (block[0] >> 16) & 0xff;
+	outbuf[2] = (block[0] >> 8) & 0xff;
+	outbuf[3] = block[0] & 0xff;
+	outbuf[4] = (block[1] >> 24) & 0xff;
+	outbuf[5] = (block[1] >> 16) & 0xff;
+	outbuf[6] = (block[1] >> 8) & 0xff;
+	outbuf[7] = block[1] & 0xff;
+	outbuf[8] = (block[2] >> 24) & 0xff;
+	outbuf[9] = (block[2] >> 16) & 0xff;
+	outbuf[10] = (block[2] >> 8) & 0xff;
+	outbuf[11] = block[2] & 0xff;
+	outbuf[12] = (block[3] >> 24) & 0xff;
+	outbuf[13] = (block[3] >> 16) & 0xff;
+	outbuf[14] = (block[3] >> 8) & 0xff;
+	outbuf[15] = block[3] & 0xff;
+}
+
+static struct crypto_alg alg = {
+	.cra_name = "cast6",
+	.cra_flags = CRYPTO_ALG_TYPE_CIPHER,
+	.cra_blocksize = CAST6_BLOCK_SIZE,
+	.cra_ctxsize = sizeof(struct cast6_ctx),
+	.cra_module = THIS_MODULE,
+	.cra_list = LIST_HEAD_INIT(alg.cra_list),
+	.cra_u = {
+		  .cipher = {
+			     .cia_min_keysize = CAST6_MIN_KEY_SIZE,
+			     .cia_max_keysize = CAST6_MAX_KEY_SIZE,
+			     .cia_ivsize = CAST6_BLOCK_SIZE,
+			     .cia_setkey = cast6_setkey,
+			     .cia_encrypt = cast6_encrypt,
+			     .cia_decrypt = cast6_decrypt}
+		  }
+};
+
+static int __init init(void)
+{
+	return crypto_register_alg(&alg);
+}
+
+static void __exit fini(void)
+{
+	crypto_unregister_alg(&alg);
+}
+
+module_init(init);
+module_exit(fini);
+
+MODULE_LICENSE("GPL");
+MODULE_DESCRIPTION("Cast6 Cipher Algorithm");
diff -u --recursive -N linux-2.6.0-test3/crypto/tcrypt.c 
linux/crypto/tcrypt.c
--- linux-2.6.0-test3/crypto/tcrypt.c	2003-08-15 02:27:13.000000000 +0530
+++ linux/crypto/tcrypt.c	2003-08-15 02:31:54.000000000 +0530
@@ -48,8 +48,8 @@

static char *check[] = {
	"des", "md5", "des3_ede", "rot13", "sha1", "sha256", "blowfish",
-	"twofish", "serpent", "sha384", "sha512", "md4", "aes", "deflate",
-	 NULL
+	"twofish", "serpent", "sha384", "sha512", "md4", "aes", "cast6",
+	"deflate", NULL
};

static void
@@ -2087,6 +2087,105 @@
	crypto_free_tfm(tfm);
}

+static void
+test_cast6(void)
+{
+	unsigned int ret, i, tsize;
+	u8 *p, *q, *key;
+	struct crypto_tfm *tfm;
+	struct cast6_tv *cast_tv;
+	struct scatterlist sg[1];
+
+	printk("\ntesting cast6 encryption\n");
+
+	tfm = crypto_alloc_tfm("cast6", 0);
+	if (tfm == NULL) {
+		printk("failed to load transform for cast6 (default ecb)\n");
+		return;
+	}
+
+	tsize = sizeof (cast6_enc_tv_template);
+	if (tsize > TVMEMSIZE) {
+		printk("template (%u) too big for tvmem (%u)\n", tsize,
+		       TVMEMSIZE);
+		return;
+	}
+
+	memcpy(tvmem, cast6_enc_tv_template, tsize);
+	cast_tv = (void *) tvmem;
+	for (i = 0; i < CAST6_ENC_TEST_VECTORS; i++) {
+		printk("test %u (%d bit key):\n", i + 1, cast_tv[i].keylen * 8);
+		key = cast_tv[i].key;
+
+		ret = crypto_cipher_setkey(tfm, key, cast_tv[i].keylen);
+		if (ret) {
+			printk("setkey() failed flags=%x\n", tfm->crt_flags);
+
+			if (!cast_tv[i].fail)
+				goto out;
+		}
+
+		p = cast_tv[i].plaintext;
+		sg[0].page = virt_to_page(p);
+		sg[0].offset = ((long) p & ~PAGE_MASK);
+		sg[0].length = sizeof(cast_tv[i].plaintext);
+		ret = crypto_cipher_encrypt(tfm, sg, sg, sg[0].length);
+		if (ret) {
+			printk("encrypt() failed flags=%x\n", tfm->crt_flags);
+			goto out;
+		}
+
+		q = kmap(sg[0].page) + sg[0].offset;
+		hexdump(q, sizeof(cast_tv[i].result));
+
+		printk("%s\n", memcmp(q, cast_tv[i].result,
+			sizeof(cast_tv[i].result)) ? "fail" : "pass");
+	}
+
+	printk("\ntesting cast6 decryption\n");
+
+	tsize = sizeof (cast6_dec_tv_template);
+	if (tsize > TVMEMSIZE) {
+		printk("template (%u) too big for tvmem (%u)\n", tsize,
+		       TVMEMSIZE);
+		return;
+	}
+
+	memcpy(tvmem, cast6_dec_tv_template, tsize);
+	cast_tv = (void *) tvmem;
+	for (i = 0; i < CAST6_DEC_TEST_VECTORS; i++) {
+		printk("test %u (%d bit key):\n", i + 1, cast_tv[i].keylen * 8);
+		key = cast_tv[i].key;
+
+		ret = crypto_cipher_setkey(tfm, key, cast_tv[i].keylen);
+		if (ret) {
+			printk("setkey() failed flags=%x\n", tfm->crt_flags);
+
+			if (!cast_tv[i].fail)
+				goto out;
+		}
+
+		p = cast_tv[i].plaintext;
+		sg[0].page = virt_to_page(p);
+		sg[0].offset = ((long) p & ~PAGE_MASK);
+		sg[0].length = sizeof(cast_tv[i].plaintext);
+		ret = crypto_cipher_decrypt(tfm, sg, sg, sg[0].length);
+		if (ret) {
+			printk("decrypt() failed flags=%x\n", tfm->crt_flags);
+			goto out;
+		}
+
+		q = kmap(sg[0].page) + sg[0].offset;
+		hexdump(q, sizeof(cast_tv[i].result));
+
+		printk("%s\n", memcmp(q, cast_tv[i].result,
+			sizeof(cast_tv[i].result)) ? "fail" : "pass");
+	}
+
+out:
+	crypto_free_tfm(tfm);
+}
+
void
test_aes(void)
{
@@ -2300,6 +2399,7 @@
		test_blowfish();
		test_twofish();
		test_serpent();
+		test_cast6();
		test_aes();
		test_sha384();
		test_sha512();
@@ -2363,6 +2463,8 @@
		test_deflate();
		break;

+	case 14: test_cast6();
+
#ifdef CONFIG_CRYPTO_HMAC
	case 100:
		test_hmac_md5();
diff -u --recursive -N linux-2.6.0-test3/crypto/tcrypt.h 
linux/crypto/tcrypt.h
--- linux-2.6.0-test3/crypto/tcrypt.h	2003-07-14 09:08:01.000000000 +0530
+++ linux/crypto/tcrypt.h	2003-08-15 02:31:54.000000000 +0530
@@ -1589,6 +1589,93 @@
	}
};

+/* Cast6 test vectors from RFC 2144 */
+#define CAST6_ENC_TEST_VECTORS	3
+#define CAST6_DEC_TEST_VECTORS  3
+
+struct cast6_tv {
+	unsigned keylen;
+	unsigned fail;
+	u8 key[32];
+	u8 plaintext[16];
+	u8 result[16];
+};
+
+struct cast6_tv cast6_enc_tv_template[] =
+{
+	{
+		16,
+		0,
+		{ 0x23, 0x42, 0xbb, 0x9e, 0xfa, 0x38, 0x54, 0x2c,
+		  0x0a, 0xf7, 0x56, 0x47, 0xf2, 0x9f, 0x61, 0x5d },
+		{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+		  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
+		{ 0xc8, 0x42, 0xa0, 0x89, 0x72, 0xb4, 0x3d, 0x20,
+		  0x83, 0x6c, 0x91, 0xd1, 0xb7, 0x53, 0x0f, 0x6b },
+	},
+	{
+		24,
+		0,
+		{ 0x23, 0x42, 0xbb, 0x9e, 0xfa, 0x38, 0x54, 0x2c,
+		  0xbe, 0xd0, 0xac, 0x83, 0x94, 0x0a, 0xc2, 0x98,
+		  0xba, 0xc7, 0x7a, 0x77, 0x17, 0x94, 0x28, 0x63 },
+		{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+		  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
+		{ 0x1b, 0x38, 0x6c, 0x02, 0x10, 0xdc, 0xad, 0xcb,
+		  0xdd, 0x0e, 0x41, 0xaa, 0x08, 0xa7, 0xa7, 0xe8 },
+	},
+	{
+		32,
+		0,
+		{ 0x23, 0x42, 0xbb, 0x9e, 0xfa, 0x38, 0x54, 0x2c,
+                  0xbe, 0xd0, 0xac, 0x83, 0x94, 0x0a, 0xc2, 0x98,
+		  0x8d, 0x7c, 0x47, 0xce, 0x26, 0x49, 0x08, 0x46,
+		  0x1c, 0xc1, 0xb5, 0x13, 0x7a, 0xe6, 0xb6, 0x04 },
+		{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+		  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
+		{ 0x4f, 0x6a, 0x20, 0x38, 0x28, 0x68, 0x97, 0xb9,
+		  0xc9, 0x87, 0x01, 0x36, 0x55, 0x33, 0x17, 0xfa },
+	}
+};
+
+struct cast6_tv cast6_dec_tv_template[] =
+{
+	{
+		16,
+		0,
+		{ 0x23, 0x42, 0xbb, 0x9e, 0xfa, 0x38, 0x54, 0x2c,
+		  0x0a, 0xf7, 0x56, 0x47, 0xf2, 0x9f, 0x61, 0x5d },
+		{ 0xc8, 0x42, 0xa0, 0x89, 0x72, 0xb4, 0x3d, 0x20,
+		  0x83, 0x6c, 0x91, 0xd1, 0xb7, 0x53, 0x0f, 0x6b },
+		{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+		  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
+	},
+	{
+		24,
+		0,
+		{ 0x23, 0x42, 0xbb, 0x9e, 0xfa, 0x38, 0x54, 0x2c,
+		  0xbe, 0xd0, 0xac, 0x83, 0x94, 0x0a, 0xc2, 0x98,
+		  0xba, 0xc7, 0x7a, 0x77, 0x17, 0x94, 0x28, 0x63 },
+		{ 0x1b, 0x38, 0x6c, 0x02, 0x10, 0xdc, 0xad, 0xcb,
+		  0xdd, 0x0e, 0x41, 0xaa, 0x08, 0xa7, 0xa7, 0xe8 },
+		{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+		  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
+	},
+	{
+		32,
+		0,
+		{ 0x23, 0x42, 0xbb, 0x9e, 0xfa, 0x38, 0x54, 0x2c,
+                  0xbe, 0xd0, 0xac, 0x83, 0x94, 0x0a, 0xc2, 0x98,
+		  0x8d, 0x7c, 0x47, 0xce, 0x26, 0x49, 0x08, 0x46,
+		  0x1c, 0xc1, 0xb5, 0x13, 0x7a, 0xe6, 0xb6, 0x04 },
+		{ 0x4f, 0x6a, 0x20, 0x38, 0x28, 0x68, 0x97, 0xb9,
+		  0xc9, 0x87, 0x01, 0x36, 0x55, 0x33, 0x17, 0xfa },
+		{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+		  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
+	}
+};
+
+
/*
  * AES test vectors.
  */

/*-------------------------------End 
Patch-----------------------------------*/

_________________________________________________________________
Race along with NK. The fastest Indian. 
http://server1.msn.co.in/sp03/tataracing/index.asp Feel the thrill!


^ permalink raw reply	[flat|nested] 348+ messages in thread
[parent not found: <200308031136.17768.lx@lxhp.in-berlin.de>]
* (no subject)
@ 2003-05-14 18:41 dirf
  2003-05-16 10:00 ` your mail Maciej Soltysiak
  0 siblings, 1 reply; 348+ messages in thread
From: dirf @ 2003-05-14 18:41 UTC (permalink / raw)
  To: linux-kernel

Hi, 
My questions, for a moment, are very simple. I hope that you can help me.

- Where I can find a list of RFCs?
- Where I can find a cdfs format ( cd file system format)?

^ permalink raw reply	[flat|nested] 348+ messages in thread
[parent not found: <053C05D4.4D025D2E.0005F166@netscape.net>]
* (no subject)
@ 2003-04-30 21:39 Mauricio Oliveira Carneiro
  2003-05-01  0:05 ` your mail Greg KH
  0 siblings, 1 reply; 348+ messages in thread
From: Mauricio Oliveira Carneiro @ 2003-04-30 21:39 UTC (permalink / raw)
  To: linux-kernel

Hi everyone,

I'm almost hanging myself.. it's been a week trying without success :-( 
Maybe someone here could help me out. Sorry for the disturbance ! 

I have bought a USB FLASH MEMORY device from Kmit Co. The model is : "Unity 
ITS". I bought it from FRY's Electronics in Palo Alto, CA (USA)
 
It works perfectly with windows, but i'm having problems with linux 2.4.20- 
9 kernel.
 
It detects the existance of the USB FLASH MEMORY device, as of my 
/proc/bus/usb/device file says :
 
C:* #Ifs= 2 Cfg#= 1 Atr=a0 MxPwr= 98mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=01 Driver=hid
E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl=10ms
I:  If#= 1 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=02 Driver=hid
E:  Ad=82(I) Atr=03(Int.) MxPS=   8 Ivl=10ms
T:  Bus=02 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#=  4 Spd=12  MxCh= 0
D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=16 #Cfgs=  1
P:  Vendor=09a6 ProdID=8001 Rev= 1.00
S:  Manufacturer=KMIT CO.,LTD
S:  Product=KM USB Removable Disk
S:  SerialNumber=20021226113657-00
 
 
At the /proc/scsi/usb-storage-0/0 file I get :
 
   Host scsi0: usb-storage
       Vendor: KMIT CO.,LTD
      Product: KM USB Removable Disk
Serial Number: 20021226113657-00
     Protocol: 8070i
    Transport: Bulk
         GUID: 09a68001002122fffffff600
     Attached: Yes
 
 
In /etc/mtab :
 
usbdevfs on /proc/bus/usb type usbdevfs (rw)
 


But I can't see it mounted anywhere in my system, nor can I mount it by 
hand since I don't know the device filename (/dev/?) .
 
 
I believe it works the same way for every flash memory drive.

if someone have already suffered of the same cause, I thank for the help :)
 
Mauricio Oliveira Carneiro
 

^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2003-04-25 17:35 Bloch, Jack
  2003-04-25 19:43 ` your mail Francois Romieu
  0 siblings, 1 reply; 348+ messages in thread
From: Bloch, Jack @ 2003-04-25 17:35 UTC (permalink / raw)
  To: linux-kernel

Is there example driver source code available for a MUSYCC CN8478 device?
Please CC me directly on any answers. 

Jack Bloch 
Siemens ICN
phone                (561) 923-6550
e-mail                jack.bloch@icn.siemens.com


^ permalink raw reply	[flat|nested] 348+ messages in thread
* RE: your mail
@ 2003-04-05  0:38 Ed Vance
  2003-04-05  4:51 ` Keith Owens
  0 siblings, 1 reply; 348+ messages in thread
From: Ed Vance @ 2003-04-05  0:38 UTC (permalink / raw)
  To: 'Keith Owens', 'Matti Aarnio'; +Cc: linux-kernel

On Fri, Apr 04, 2003 at 3:21 PM, Keith Owens wrote:
> 
> On Fri, 4 Apr 2003 14:10:16 -0800 , 
> Ed Vance <EdV@macrolink.com> wrote:
> >Perhaps there is a middle ground. Leave the list open, but require a
> >confirmation reply prior to passing along posts from addresses that:
> >
> >1. are not members of the list, AND
> >2. have not previously done a proper confirmation reply.
> 
> 30 seconds after doing that, the spammers will forge email that claims
> to be from LT, AC, DM, MT etc.  Not to mention all the viruses that
> forge the headers.  Verification by 'From:' line on an open list is
> pointless.
> 

Keith,

No single method is perfect. Your point is well taken. 

The goal was to greatly reduce, in one swell foop, the volume of spam that
the filters (and postmaster) must interactively deal with. I thought that
perhaps this method could replace one of more of the troublesome filtering
techniques to achieve the same net spam reduction without evoking as much
whining.

imperfect != pointless

Matti, 
Roughly what percentage of the spam actually hitting vger today (and
bouncing off) is based on Keith's flavor of spoofing? Is it even 1 percent? 

Cheers,
Ed

---------------------------------------------------------------- 
Ed Vance              edv (at) macrolink (dot) com
Macrolink, Inc.       1500 N. Kellogg Dr  Anaheim, CA  92807
----------------------------------------------------------------

^ permalink raw reply	[flat|nested] 348+ messages in thread
* RE: your mail
@ 2003-04-04 22:10 Ed Vance
  2003-04-04 23:19 ` William Scott Lockwood III
  2003-04-04 23:21 ` Keith Owens
  0 siblings, 2 replies; 348+ messages in thread
From: Ed Vance @ 2003-04-04 22:10 UTC (permalink / raw)
  To: 'Matti Aarnio'; +Cc: William Scott Lockwood III, linux-kernel

On Fri, Apr 04, 2003 at 12:38 PM, Matti Aarnio wrote:
> [snip]
> A somewhat better anti-spam filter method, than what we use presently
> is to use strictly CLOSED list -- e.g. must be a member to post.
> I have seen what kind of pains closed lists are, I even moderate
> couple small ones.
> 
> However we are deliberately running "open for posting, subject to
> filters" policy, which lets questions and reports to come from
> non-subscribers.
> 

Perhaps there is a middle ground. Leave the list open, but require a
confirmation reply prior to passing along posts from addresses that:

1. are not members of the list, AND
2. have not previously done a proper confirmation reply.

The unconfirmed posts would time out and disappear after a decent interval,
to prevent constipation.

So, anybody could still post, the members would not be inconvenienced, and
non-members would be inconvenienced only on their first post from each
address they post from. This would preserve the "real time" nature of the
list, while gaining the assurance that all who post are life-forms, even if
they live in front of a keyboard and have no real life.  ;-)

Of course, this would require storage for the list of confirmed addresses
and pending unconfirmed posts, and the bandwidth and other overhead of the
infrequent confirmation messages.

Just a thought. 

Cheers,
Ed

---------------------------------------------------------------- 
Ed Vance              edv (at) macrolink (dot) com
Macrolink, Inc.       1500 N. Kellogg Dr  Anaheim, CA  92807
----------------------------------------------------------------

^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2003-04-03 16:22 Richard B. Johnson
  2003-04-03 19:22 ` David S. Miller
  0 siblings, 1 reply; 348+ messages in thread
From: Richard B. Johnson @ 2003-04-03 16:22 UTC (permalink / raw)
  To: Linux kernel


FYI vger rejects mail sent from yahoo.com, claims that it
has a HTML subpart and considers it spam or Outlook Virus.

FYI any mail sent from yahoo will end up using the yahoo tools
(qmail). This will put an empty HTML section in all mail. It
is not a good thing to reject this because that means you reject
all mail from yahoo.

I have gotten several messages of this kind by persons who are
not bold enough to report problems on their own. The last rejection
of which I speak was rejected from N26835@yahoo.com on april 2
at 19:38:00


Cheers,
Dick Johnson
Penguin : Linux version 2.4.20 on an i686 machine (797.90 BogoMips).
Why is the government concerned about the lunatic fringe? Think about it.


^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2003-01-31 18:46 saurabh  khanna
  2003-02-03 12:53 ` your mail Alexander Kellett
  0 siblings, 1 reply; 348+ messages in thread
From: saurabh  khanna @ 2003-01-31 18:46 UTC (permalink / raw)
  To: linux-kernel

Problem: My xwindows did not open and my sound card don't work.

Xwindows:
I am a novice. I am using redhat linux 8. It detects my graphics 
card
correctly but when i tried to open xwindows, my system hangs.

Sound:
Linux has detected my sound card once but not configured it and 
after
that nor it is working nither it is detected by my linux.

GRUB:
Also, i can boot my linux through LILO only. GRUB wont work, it 
gives
error "Not enough memory".

I have re-installed linux on my computer but the problem 
remains.
All other detailes are follows.

Kernel version:
Linux version 2.4.18-14 (bhcompile@astest.test.redhat.com)
(gcc version 3.2 20020903 (Red Hat Linux 8.0 3.2-7))
#1 Wed Sep 4 12:13:11 EDT 2002


Commond which triggers the problem:
startx

Processor information:
processor	: 0

vendor_id	: AuthenticAMD

cpu family	: 6

model		: 6

model name	: AMD Athlon(TM) XP 1700+

stepping	: 2

cpu MHz		: 1469.861

cache size	: 256 KB

fdiv_bug	: no

hlt_bug		: no

f00f_bug	: no

coma_bug	: no

fpu		: yes

fpu_exception	: yes

cpuid level	: 1

wp		: yes

flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca 
cmov pat pse36 mmx fxsr sse syscall mmxext 3dnowext 3dnow

bogomips	: 2920.57



Module information:
nls_iso8859-1           3516   1 (autoclean)

nls_cp437               5116   1 (autoclean)

vfat                   13084   1 (autoclean)

fat                    38744   0 (autoclean)
[vfat]
autofs                 13348   0 (autoclean) (unused)

ipt_REJECT              3736   2 (autoclean)

iptable_filter          2412   1 (autoclean)

ip_tables              14840   2 [ipt_REJECT iptable_filter]

mousedev                5524   0 (unused)

keybdev                 2976   0 (unused)

hid                    22244   0 (unused)

input                   5888   0 [mousedev keybdev hid]

usb-ohci               21288   0 (unused)

usbcore                77056   1 [hid usb-ohci]

ext3                   70400   1

jbd                    52212   1 [ext3]



Loaded driver and hardware information:
0000-001f : dma
1
0020-003f : pic
1
0040-005f : timer

0060-006f : keyboard

0070-007f : rtc

0080-008f : dma page reg

00a0-00bf : pic
2
00c0-00df : dma
2
00f0-00ff : fpu

01f0-01f7 : ide
0
02f8-02ff : serial(auto)

03c0-03df : vga+

03f6-03f6 : ide
0
03f8-03ff : serial(auto)

0cf8-0cff : PCI conf
1
5000-500f : PCI device 10de:01b4 (nVidia Corporation)

5100-511f : PCI device 10de:01b4 (nVidia Corporation)

5500-550f : PCI device 10de:01b4 (nVidia Corporation)

a800-a80f : nVidia Corporation nForce IDE

a800-a807 : ide0

a808-a80f : ide1

b000-bfff : PCI Bus #01

b800-b807 : Rockwell International HCF 56k Data/Fax/Voice/Spkp 
(w/Handset) Modem

d800-d807 : PCI device 10de:01c3 (nVidia Corporation)

e000-e07f : PCI device 10de:01b1 (nVidia Corporation)

e100-e1ff : PCI device 10de:01b1 (nVidia Corporation)

00000000-0007ffff : System RAM

0009fc00-0009ffff : reserved

000a0000-000bffff : Video RAM area

000c0000-000c7fff : Video ROM

000f0000-000fffff : System ROM

00100000-06febfff : System RAM

00100000-00247f2e : Kernel code

00247f2f-0033ed03 : Kernel data

06fec000-06feefff : ACPI Tables

06fef000-06ffefff : reserved

06fff000-06ffffff : ACPI Non-volatile Storage

eb000000-ec7fffff : PCI Bus #02

eb000000-ebffffff : nVidia Corporation GeForce2 Integrated GPU

ec800000-ecffffff : PCI Bus #01

ec800000-ec80ffff : Rockwell International HCF 56k 
Data/Fax/Voice/Spkp (w/Handset) Modem

ed000000-ed000fff : PCI device 10de:01b1 (nVidia Corporation)

ed800000-ed87ffff : PCI device 10de:01b0 (nVidia Corporation)

ee000000-ee0003ff : PCI device 10de:01c3 (nVidia Corporation)

ee800000-ee800fff : PCI device 10de:01c2 (nVidia Corporation)

ee800000-ee800fff : usb-ohci
e
f000000-ef000fff : PCI device
10de:01c2 (nVidia Corporation)

ef000000-ef000fff : usb-ohci
e
ff00000-f7ffffff : PCI Bus #02

f0000000-f7ffffff : nVidia Corporation GeForce2 Integrated GPU

f8000000-fbffffff : PCI device
10de:01a4 (nVidia Corporation)

fec00000-fec00fff : reserved

fee00000-fee00fff : reserved

ffff0000-ffffffff : reserved


PCI information:
00:00.0 Host bridge: nVidia Corporation nForce CPU bridge (rev 
b2)
 	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- 
ParErr- Stepping- SERR- FastB2B-
 	Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- 
<TAbort- <MAbort- >SERR- <PERR-
 	Latency: 0
 	Region 0: Memory at f8000000 (32-bit, prefetchable) [size=64M]
 	Capabilities: [40] AGP version 2.0
 		Status: RQ=31 SBA+ 64bit- FW+ Rate=x1,x2,x4
 		Command: RQ=0 SBA- AGP- 64bit- FW- Rate=x1
 	Capabilities: [60] #08 [2001]

00:00.1 RAM memory: nVidia Corporation nForce 220/420 Memory 
Controller (rev b2)
 	Subsystem: nVidia Corporation: Unknown device 0c11
 	Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- 
ParErr- Stepping- SERR- FastB2B-
 	Status: Cap- 66Mhz+ UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- 
<TAbort- <MAbort- >SERR- <PERR-

00:00.2 RAM memory: nVidia Corporation nForce 220/420 Memory 
Controller (rev b2)
 	Subsystem: nVidia Corporation: Unknown device 0c11
 	Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- 
ParErr- Stepping- SERR- FastB2B-
 	Status: Cap- 66Mhz+ UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- 
<TAbort- <MAbort- >SERR- <PERR-

00:00.3 RAM memory: nVidia Corporation: Unknown device 01aa (rev 
b2)
 	Subsystem: nVidia Corporation: Unknown device 0c11
 	Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- 
ParErr- Stepping- SERR- FastB2B-
 	Status: Cap- 66Mhz+ UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- 
<TAbort- <MAbort- >SERR- <PERR-

00:01.0 ISA bridge: nVidia Corporation nForce ISA Bridge (rev 
c3)
 	Subsystem: nVidia Corporation: Unknown device 0c11
 	Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV- VGASnoop- 
ParErr- Stepping- SERR- FastB2B-
 	Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- 
<TAbort- <MAbort- >SERR- <PERR-
 	Latency: 0
 	Capabilities: [50] #08 [01e1]

00:01.1 SMBus: nVidia Corporation nForce PCI System Management 
(rev c1)
 	Subsystem: nVidia Corporation: Unknown device 0c11
 	Control: I/O+ Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- 
ParErr- Stepping- SERR- FastB2B-
 	Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- 
<TAbort- <MAbort- >SERR- <PERR-
 	Interrupt: pin A routed to IRQ 5
 	Region 0: I/O ports at 5000 [size=16]
 	Region 1: I/O ports at 5500 [size=16]
 	Region 2: I/O ports at 5100 [size=32]
 	Capabilities: [44] Power Management version 2
 		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA 
PME(D0-,D1-,D2-,D3hot+,D3cold+)
 		Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:02.0 USB Controller: nVidia Corporation: Unknown device 01c2 
(rev c3) (prog-if 10 [OHCI])
 	Subsystem: nVidia Corporation: Unknown device 0c11
 	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- 
ParErr- Stepping- SERR- FastB2B-
 	Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- 
<TAbort- <MAbort- >SERR- <PERR-
 	Latency: 0 (750ns min, 250ns max)
 	Interrupt: pin A routed to IRQ 5
 	Region 0: Memory at ef000000 (32-bit, non-prefetchable) 
[size=4K]
 	Capabilities: [44] Power Management version 2
 		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA 
PME(D0+,D1+,D2+,D3hot+,D3cold+)
 		Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:03.0 USB Controller: nVidia Corporation: Unknown device 01c2 
(rev c3) (prog-if 10 [OHCI])
 	Subsystem: nVidia Corporation: Unknown device 0c11
 	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- 
ParErr- Stepping- SERR- FastB2B-
 	Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- 
<TAbort- <MAbort- >SERR- <PERR-
 	Latency: 0 (750ns min, 250ns max)
 	Interrupt: pin A routed to IRQ 5
 	Region 0: Memory at ee800000 (32-bit, non-prefetchable) 
[size=4K]
 	Capabilities: [44] Power Management version 2
 		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA 
PME(D0+,D1+,D2+,D3hot+,D3cold+)
 		Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:04.0 Ethernet controller: nVidia Corporation: Unknown device 
01c3 (rev c2)
 	Subsystem: nVidia Corporation: Unknown device 0c11
 	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- 
ParErr- Stepping- SERR- FastB2B-
 	Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- 
<TAbort- <MAbort- >SERR- <PERR-
 	Latency: 0 (250ns min, 5000ns max)
 	Interrupt: pin A routed to IRQ 5
 	Region 0: Memory at ee000000 (32-bit, non-prefetchable) 
[size=1K]
 	Region 1: I/O ports at d800 [size=8]
 	Capabilities: [44] Power Management version 2
 		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA 
PME(D0+,D1+,D2+,D3hot+,D3cold+)
 		Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:05.0 Multimedia audio controller: nVidia Corporation: Unknown 
device 01b0 (rev c2)
 	Subsystem: nVidia Corporation: Unknown device 0c11
 	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- 
ParErr- Stepping- SERR- FastB2B-
 	Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- 
<TAbort- <MAbort- >SERR- <PERR-
 	Latency: 0 (250ns min, 3000ns max)
 	Interrupt: pin A routed to IRQ 5
 	Region 0: Memory at ed800000 (32-bit, non-prefetchable) 
[size=512K]
 	Capabilities: [44] Power Management version 2
 		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA 
PME(D0-,D1-,D2-,D3hot-,D3cold-)
 		Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:06.0 Multimedia audio controller: nVidia Corporation nForce 
Audio (rev c2)
 	Subsystem: nVidia Corporation: Unknown device 8384
 	Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- 
ParErr- Stepping- SERR- FastB2B-
 	Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- 
<TAbort- <MAbort- >SERR- <PERR-
 	Latency: 0 (500ns min, 1250ns max)
 	Interrupt: pin A routed to IRQ 11
 	Region 0: I/O ports at e100 [size=256]
 	Region 1: I/O ports at e000 [size=128]
 	Region 2: Memory at ed000000 (32-bit, non-prefetchable) 
[disabled] [size=4K]
 	Capabilities: [44] Power Management version 2
 		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA 
PME(D0-,D1-,D2-,D3hot-,D3cold-)
 		Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:08.0 PCI bridge: nVidia Corporation nForce PCI-to-PCI bridge 
(rev c2) (prog-if 00 [Normal decode])
 	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- 
ParErr- Stepping- SERR- FastB2B-
 	Status: Cap- 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- 
<TAbort- <MAbort- >SERR- <PERR-
 	Latency: 0
 	Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
 	I/O behind bridge: 0000b000-0000bfff
 	Memory behind bridge: ec800000-ecffffff
 	Prefetchable memory behind bridge: f8000000-f7ffffff
 	BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-

00:09.0 IDE interface: nVidia Corporation nForce IDE (rev c3) 
(prog-if 8a [Master SecP PriP])
 	Subsystem: nVidia Corporation: Unknown device 0c11
 	Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- 
ParErr- Stepping- SERR- FastB2B-
 	Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- 
<TAbort- <MAbort- >SERR- <PERR-
 	Latency: 0 (750ns min, 250ns max)
 	Region 4: I/O ports at a800 [size=16]
 	Capabilities: [44] Power Management version 2
 		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA 
PME(D0-,D1-,D2-,D3hot-,D3cold-)
 		Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:1e.0 PCI bridge: nVidia Corporation nForce AGP to PCI Bridge 
(rev b2) (prog-if 00 [Normal decode])
 	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- 
ParErr- Stepping- SERR- FastB2B-
 	Status: Cap- 66Mhz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- 
<TAbort- <MAbort- >SERR- <PERR-
 	Latency: 0
 	Bus: primary=00, secondary=02, subordinate=02, sec-latency=64
 	I/O behind bridge: 0000a000-00009fff
 	Memory behind bridge: eb000000-ec7fffff
 	Prefetchable memory behind bridge: eff00000-f7ffffff
 	BridgeCtl: Parity- SERR- NoISA- VGA+ MAbort- >Reset- FastB2B-

01:08.0 Communication controller: Rockwell International HCF 56k 
Data/Fax/Voice/Spkp (w/Handset) Modem (rev 01)
 	Subsystem: Rockwell International HCF 56k Data/Fax/Voice/Spkp 
(w/Handset) Modem
 	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- 
ParErr- Stepping- SERR- FastB2B-
 	Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- 
<TAbort- <MAbort- >SERR- <PERR-
 	Latency: 64
 	Interrupt: pin A routed to IRQ 5
 	Region 0: Memory at ec800000 (32-bit, non-prefetchable) 
[size=64K]
 	Region 1: I/O ports at b800 [size=8]
 	Capabilities: [40] Power Management version 2
 		Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA 
PME(D0+,D1+,D2+,D3hot+,D3cold+)
 		Status: D0 PME-Enable+ DSel=0 DScale=0 PME-

02:00.0 VGA compatible controller: nVidia Corporation NV15 
[GeForce2 - nForce GPU] (rev b1) (prog-if 00 [VGA])
 	Subsystem: nVidia Corporation: Unknown device 0c11
 	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- 
ParErr- Stepping- SERR- FastB2B-
 	Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- 
<TAbort- <MAbort- >SERR- <PERR-
 	Latency: 32 (1250ns min, 250ns max)
 	Interrupt: pin A routed to IRQ 11
 	Region 0: Memory at eb000000 (32-bit, non-prefetchable) 
[size=16M]
 	Region 1: Memory at f0000000 (32-bit, prefetchable) 
[size=128M]
 	Expansion ROM at efff0000 [disabled] [size=64K]
 	Capabilities: [60] Power Management version 2
 		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA 
PME(D0-,D1-,D2-,D3hot-,D3cold-)
 		Status: D0 PME-Enable- DSel=0 DScale=0 PME-
 	Capabilities: [44] AGP version 2.0
 		Status: RQ=31 SBA- 64bit- FW+ Rate=x1,x4
 		Command: RQ=0 SBA- AGP- 64bit- FW- Rate=<none>



XF86Config:

# File generated by anaconda.

Section "ServerLayout"
         Identifier     "Anaconda Configured"
         Screen      0  "Screen0" 0 0
         InputDevice    "Mouse0" "CorePointer"
 	InputDevice	"Mouse1" "SendCoreEvents"
         InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

Section "Files"

# The location of the RGB database.  Note, this is the name of 
the
# file minus the extension (like ".txt" or ".db").  There is 
normally
# no need to change the default.

     RgbPath	"/usr/X11R6/lib/X11/rgb"

# Multiple FontPath entries are allowed (they are concatenated 
together)
# By default, Red Hat 6.0 and later now use a font server 
independent of
# the X server to render fonts.

     FontPath   "unix/:7100"

EndSection

Section "Module"
         Load  "dbe"
         Load  "extmod"
 	Load  "fbdevhw"
 	Load  "dri"
         Load  "glx"
         Load  "record"
         Load  "freetype"
         Load  "type1"
EndSection

Section "InputDevice"
         Identifier  "Keyboard0"
         Driver      "keyboard"

#	Option	"AutoRepeat"	"500 5"

# when using XQUEUE, comment out the above line, and uncomment 
the
# following line
#	Option	"Protocol"	"Xqueue"

# Specify which keyboard LEDs can be user-controlled (eg, with 
xset(1))
#	Option	"Xleds"		"1 2 3"

# To disable the XKEYBOARD extension, uncomment XkbDisable.
#	Option	"XkbDisable"

# To customise the XKB settings to suit your keyboard, modify 
the
# lines below (which are the defaults).  For example, for a 
non-U.S.
# keyboard, you will probably want to use:
#	Option	"XkbModel"	"pc102"
# If you have a US Microsoft Natural keyboard, you can use:
#	Option	"XkbModel"	"microsoft"
#
# Then to change the language, change the Layout setting.
# For example, a german layout can be obtained with:
#	Option	"XkbLayout"	"de"
# or:
#	Option	"XkbLayout"	"de"
#	Option	"XkbVariant"	"nodeadkeys"
#
# If you'd like to switch the positions of your capslock and
# control keys, use:
#	Option	"XkbOptions"	"ctrl:swapcaps"
 	Option	"XkbRules"	"xfree86"
 	Option	"XkbModel"	"pc105"
 	Option	"XkbLayout"	"us"
 	#Option	"XkbVariant"	""
 	#Option	"XkbOptions"	""
EndSection

Section "InputDevice"
         Identifier  "Mouse0"
         Driver      "mouse"
         Option      "Protocol" "PS/2"
         Option      "Device" "/dev/psaux"
         Option      "ZAxisMapping" "4 5"
         Option      "Emulate3Buttons" "yes"
EndSection


Section "InputDevice"
 	Identifier	"Mouse1"
 	Driver		"mouse"
 	Option		"Device"		"/dev/input/mice"
 	Option		"Protocol"		"IMPS/2"
 	Option		"Emulate3Buttons"	"no"
 	Option		"ZAxisMapping"		"4 5"
EndSection


Section "Monitor"
         Identifier   "Monitor0"
         VendorName   "Monitor Vendor"
         ModelName    "Monitor Model"
         HorizSync   30-55
         VertRefresh 50-120
         Option "dpms"


EndSection

Section "Device"
 	# no known options
 	Identifier   "NVIDIA GeForce 2 MX (generic)"
         Driver       "nv"
         VendorName   "NVIDIA GeForce 2 MX (generic)"
         BoardName     "NVIDIA GeForce 2 MX (generic)"

         #BusID
EndSection

Section "Screen"
 	Identifier   "Screen0"
         Device       "NVIDIA GeForce 2 MX (generic)"
         Monitor      "Monitor0"
 	DefaultDepth	16

 	Subsection "Display"
         	Depth       16
                 Modes       "1024x768" "800x600" "640x480"
 	EndSubsection

EndSection

Section "DRI"
 	Mode 0666
EndSection

cmdline:
auto BOOT_IMAGE=linux ro BOOT_FILE=/boot/vmlinuz-2.4.18-14 
root=LABEL=/


dma:
4: cascade


intrrupts:
CPU0
   0:     337647          XT-PIC  timer
   1:       2694          XT-PIC  keyboard
   2:          0          XT-PIC  cascade
   5:          0          XT-PIC  usb-ohci, usb-ohci
   8:          1          XT-PIC  rtc
  12:         20          XT-PIC  PS/2 Mouse
  14:      27338          XT-PIC  ide0
NMI:          0
ERR:          2


partitions:
major minor  #blocks  name     rio rmerge rsect ruse wio wmerge 
wsect wuse running use aveq

    3     0   39121488 hda 2567 4181 52107 22201 1417 1941 26952 
45880 -2 329576 7788488
    3     1    5245191 hda1 9 43 104 109 0 0 0 0 0 109 109
    3     2          1 hda2 0 0 0 0 0 0 0 0 0 0 0
    3     5   10490413 hda5 9 43 104 95 0 0 0 0 0 95 95
    3     6   11695288 hda6 50 43 145 214 7 1 8 95 0 230 310
    3     7    8104761 hda7 9 43 104 132 0 0 0 0 0 132 132
    3     8    3277228 hda8 2475 3966 51498 21527 1410 1940 26944 
45785 0 22394 67314
    3     9     305203 hda9 9 25 104 56 0 0 0 0 0 56 56



My e-mail addresses are: linux_guyus@yahoo.com and 
linux_guyus@rediff.com
My postel address: 80, Ahilya Nagar Ext. Annapurna Road, Indore, 
M.P.,
India. PIN 452009
please answer me soon.
 		Thanking you.
 			Saurabh Khanna.


^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2003-01-24  5:54 Anoop J.
  2003-01-24  6:28 ` your mail David Lang
  0 siblings, 1 reply; 348+ messages in thread
From: Anoop J. @ 2003-01-24  5:54 UTC (permalink / raw)
  To: linux-mm, linux-kernel


How is this different from a fully associative cache .Would be better if u
could deal it based on the address bits used

Thanks

David Lang wrote:

>The idea of page coloring is based on the fact that common implementations
>of caching can't put any page in memory in any line in the cache (such an
>implementation is possible, but is more expensive to do so is not commonly
>done)
>
>With this implementation it means that if your program happens to use
>memory that cannot be mapped to half of the cache lines then effectivly
>the CPU cache is half it's rated size for your program. the next time your
>program runs it may get a more favorable memory allocation and be able to
>use all of the cache and therefor run faster.
>
>Page coloring is an attampt to take this into account when allocating
>memory to programs so that every program gets to use all of the cache.
>
>David Lang
>
>
> On Fri, 24 Jan 2003, Anoop J. wrote:
>
>>Date: Fri, 24 Jan 2003 10:38:03 +0530 (IST)
>>From: Anoop J. <cs99001@nitc.ac.in>
>>To: linux-kernel@vger.kernel.org, linux-mm@kvack.org
>>
>>
>>How does page coloring work. Iwant its mechanism not the implementation.
>>I went through some pages of W.L.Lynch's paper on cache and VM. Still not
>>able to grasp it .
>>
>>
>>Thanks in advance
>>
>>
>>
>>-
>>To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>>the body of a message to majordomo@vger.kernel.org
>>More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>Please read the FAQ at  http://www.tux.org/lkml/
>>
>




^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2003-01-24  5:08 Anoop J.
  2003-01-24  5:11 ` your mail David Lang
  0 siblings, 1 reply; 348+ messages in thread
From: Anoop J. @ 2003-01-24  5:08 UTC (permalink / raw)
  To: linux-kernel, linux-mm


How does page coloring work. Iwant its mechanism not the implementation.
I went through some pages of W.L.Lynch's paper on cache and VM. Still not
able to grasp it .


Thanks in advance




^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2003-01-12 13:28 Philip K.F. Hölzenspies
  2003-01-13 16:37 ` your mail Pete Zaitcev
  0 siblings, 1 reply; 348+ messages in thread
From: Philip K.F. Hölzenspies @ 2003-01-12 13:28 UTC (permalink / raw)
  To: linux-kernel
  Cc: 'Pete Zaitcev', 'Shawn Starr',
	'Bayard R. Coolidge'

I do have the following line in my fstab file (Bayard):

none  /proc/bus/usb  usbfs  defaults 0 0

I believe usbdevfs is deprecated (although - should I use it when my
hosthub is picked up by the OHCI driver in stead of the EHCI driver?).

My full dmesg is attached below (Pete), I'ld say the relevant section
is:

usb.c: registered new driver usbdevfs
usb.c: registered new driver hub
PCI: Enabling device 02:08.2 (0014 -> 0016)
PCI: No IRQ known for interrupt pin C of device 02:08.2. Probably buggy
MP table.
hcd.c: Found HC with no IRQ.  Check BIOS/PCI 02:08.2 setup!
uhci.c: USB Universal Host Controller Interface driver v1.1
PCI: Enabling device 02:08.0 (0014 -> 0016)
PCI: No IRQ known for interrupt pin A of device 02:08.0. Probably buggy
MP table.
usb-ohci.c: found OHCI device with no IRQ assigned. check BIOS settings!
PCI: Enabling device 02:08.1 (0014 -> 0016)
PCI: No IRQ known for interrupt pin B of device 02:08.1. Probably buggy
MP table.
usb-ohci.c: found OHCI device with no IRQ assigned. check BIOS settings!
usb.c: registered new driver hiddev
usb.c: registered new driver hid
hid-core.c: v1.8.1 Andreas Gal, Vojtech Pavlik <vojtech@suse.cz>
hid-core.c: USB HID support drivers
usb.c: registered new driver usblp
printer.c: v0.11: USB Printer Device Class driver
Initializing USB Mass Storage driver...
usb.c: registered new driver usb-storage
USB Mass Storage support registered.

Does anybody else with the A7M266-D have that "Probably buggy MP table."

For the OHCI 'found device with no IRQ assigned' I don't really get it.
I have all my PCI slots set to auto assign IRQ and I didn't reserve any
IRQ for Legacy Devices, so that shouldn't be the problem.

> I have this board, but the problem is the newer A7M266-D boards have
the USB
> 1.x pins removed.
(Shawn)

I don't know what would be considered a "newer" board, but mine is a 
03/07/2002-ASUS-A7M266-D

B.T.W.
I use BIOS rev. 1005.

Regards,

Philip

P.S.
Would configuring the kernel with >1GB mem support remove that
" Warning only 896MB will be used." from my dmesg?



Linux version 2.4.20 (root@tomwaits) (gcc version 3.2) #1 SMP Sat Jan 11
18:46:51 CET 2003
BIOS-provided physical RAM map:
 BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
 BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
 BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
 BIOS-e820: 0000000000100000 - 000000003ffec000 (usable)
 BIOS-e820: 000000003ffec000 - 000000003ffef000 (ACPI data)
 BIOS-e820: 000000003ffef000 - 000000003ffff000 (reserved)
 BIOS-e820: 000000003ffff000 - 0000000040000000 (ACPI NVS)
 BIOS-e820: 00000000fec00000 - 00000000fec01000 (reserved)
 BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved)
 BIOS-e820: 00000000ffff0000 - 0000000100000000 (reserved)
Warning only 896MB will be used.
Use a HIGHMEM enabled kernel.
896MB LOWMEM available.
found SMP MP-table at 000f6d10
hm, page 000f6000 reserved twice.
hm, page 000f7000 reserved twice.
hm, page 000f6000 reserved twice.
hm, page 000f7000 reserved twice.
On node 0 totalpages: 229376
zone(0): 4096 pages.
zone(1): 225280 pages.
zone(2): 0 pages.
Intel MultiProcessor Specification v1.4
    Virtual Wire compatibility mode.
OEM ID: ASUS     Product ID: PROD00000000 APIC at: 0xFEE00000
Processor #0 Pentium(tm) Pro APIC version 16
Processor #1 Pentium(tm) Pro APIC version 16
I/O APIC #2 Version 17 at 0xFEC00000.
Processors: 2
Kernel command line: BOOT_IMAGE=lfs ro root=305
Initializing CPU#0
Detected 1533.431 MHz processor.
Console: colour VGA+ 80x25
Calibrating delay loop... 3060.53 BogoMIPS
Memory: 904324k/917504k available (1707k kernel code, 12792k reserved,
604k data, 124k init, 0k highmem)
Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes)
Inode cache hash table entries: 65536 (order: 7, 524288 bytes)
Mount-cache hash table entries: 16384 (order: 5, 131072 bytes)
Buffer-cache hash table entries: 65536 (order: 6, 262144 bytes)
Page-cache hash table entries: 262144 (order: 8, 1048576 bytes)
CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
CPU: L2 Cache: 256K (64 bytes/line)
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#0.
CPU:     After generic, caps: 0383fbff c1cbfbff 00000000 00000000
CPU:             Common caps: 0383fbff c1cbfbff 00000000 00000000
Enabling fast FPU save and restore... done.
Enabling unmasked SIMD FPU exception support... done.
Checking 'hlt' instruction... OK.
POSIX conformance testing by UNIFIX
mtrr: v1.40 (20010327) Richard Gooch (rgooch@atnf.csiro.au)
mtrr: detected mtrr type: Intel
CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
CPU: L2 Cache: 256K (64 bytes/line)
Intel machine check reporting enabled on CPU#0.
CPU:     After generic, caps: 0383fbff c1cbfbff 00000000 00000000
CPU:             Common caps: 0383fbff c1cbfbff 00000000 00000000
CPU0: AMD Athlon(TM) MP 1800+ stepping 02
per-CPU timeslice cutoff: 731.39 usecs.
enabled ExtINT on CPU#0
ESR value before enabling vector: 00000000
ESR value after enabling vector: 00000000
Booting processor 1/1 eip 2000
Initializing CPU#1
masked ExtINT on CPU#1
ESR value before enabling vector: 00000000
ESR value after enabling vector: 00000000
Calibrating delay loop... 3060.53 BogoMIPS
CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
CPU: L2 Cache: 256K (64 bytes/line)
Intel machine check reporting enabled on CPU#1.
CPU:     After generic, caps: 0383fbff c1cbfbff 00000000 00000000
CPU:             Common caps: 0383fbff c1cbfbff 00000000 00000000
CPU1: AMD Athlon(TM) MP 1800+ stepping 02
Total of 2 processors activated (6121.06 BogoMIPS).
ENABLING IO-APIC IRQs
Setting 2 in the phys_id_present_map
...changing IO-APIC physical APIC ID to 2 ... ok.
init IO_APIC IRQs
 IO-APIC (apicid-pin) 2-0, 2-5, 2-9, 2-10, 2-11, 2-17, 2-20, 2-21, 2-22,
2-23 not connected.
..TIMER: vector=0x31 pin1=2 pin2=0
number of MP IRQ sources: 16.
number of IO-APIC #2 registers: 24.
testing the IO APIC.......................

IO APIC #2......
.... register #00: 02000000
.......    : physical APIC id: 02
.... register #01: 00170011
.......     : max redirection entries: 0017
.......     : PRQ implemented: 0
.......     : IO APIC version: 0011
.... register #02: 00000000
.......     : arbitration: 00
.... IRQ redirection table:
 NR Log Phy Mask Trig IRR Pol Stat Dest Deli Vect:   
 00 000 00  1    0    0   0   0    0    0    00
 01 003 03  0    0    0   0   0    1    1    39
 02 003 03  0    0    0   0   0    1    1    31
 03 003 03  0    0    0   0   0    1    1    41
 04 003 03  0    0    0   0   0    1    1    49
 05 000 00  1    0    0   0   0    0    0    00
 06 003 03  0    0    0   0   0    1    1    51
 07 003 03  0    0    0   0   0    1    1    59
 08 003 03  0    0    0   0   0    1    1    61
 09 000 00  1    0    0   0   0    0    0    00
 0a 000 00  1    0    0   0   0    0    0    00
 0b 000 00  1    0    0   0   0    0    0    00
 0c 003 03  0    0    0   0   0    1    1    69
 0d 003 03  0    0    0   0   0    1    1    71
 0e 003 03  0    0    0   0   0    1    1    79
 0f 003 03  0    0    0   0   0    1    1    81
 10 003 03  1    1    0   1   0    1    1    89
 11 000 00  1    0    0   0   0    0    0    00
 12 003 03  1    1    0   1   0    1    1    91
 13 003 03  1    1    0   1   0    1    1    99
 14 000 00  1    0    0   0   0    0    0    00
 15 000 00  1    0    0   0   0    0    0    00
 16 000 00  1    0    0   0   0    0    0    00
 17 000 00  1    0    0   0   0    0    0    00
IRQ to pin mappings:
IRQ0 -> 0:2
IRQ1 -> 0:1
IRQ3 -> 0:3
IRQ4 -> 0:4
IRQ6 -> 0:6
IRQ7 -> 0:7
IRQ8 -> 0:8
IRQ12 -> 0:12
IRQ13 -> 0:13
IRQ14 -> 0:14
IRQ15 -> 0:15
IRQ16 -> 0:16
IRQ18 -> 0:18
IRQ19 -> 0:19
.................................... done.
Using local APIC timer interrupts.
calibrating APIC timer ...
..... CPU clock speed is 1533.4929 MHz.
..... host bus clock speed is 266.6942 MHz.
cpu: 0, clocks: 2666942, slice: 888980
CPU0<T0:2666928,T1:1777936,D:12,S:888980,C:2666942>
cpu: 1, clocks: 2666942, slice: 888980
CPU1<T0:2666928,T1:888960,D:8,S:888980,C:2666942>
checking TSC synchronization across CPUs: passed.
Waiting on wait_init_idle (map = 0x2)
All processors have done init_idle
mtrr: your CPUs had inconsistent fixed MTRR settings
mtrr: probably your BIOS does not setup all CPUs
PCI: PCI BIOS revision 2.10 entry at 0xf0de0, last bus=2
PCI: Using configuration type 1
PCI: Probing PCI hardware
PCI: Using IRQ router AMD768 [1022/7443] at 00:07.3
PCI->APIC IRQ transform: (B1,I5,P0) -> 16
PCI->APIC IRQ transform: (B2,I5,P0) -> 18
BIOS failed to enable PCI standards compliance, fixing this error.
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
Starting kswapd
Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
NTFS driver v1.1.22 [Flags: R/O]
pty: 256 Unix98 ptys configured
Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ
SERIAL_PCI enabled
ttyS00 at 0x03f8 (irq = 4) is a 16550A
ttyS01 at 0x02f8 (irq = 3) is a 16550A
amd768_rng: AMD768 system management I/O registers at 0xE400.
amd768_rng hardware driver 0.1.0 loaded
Uniform Multi-Platform E-IDE driver Revision: 6.31
ide: Assuming 33MHz system bus speed for PIO modes; override with
idebus=xx
AMD7441: IDE controller on PCI bus 00 dev 39
AMD7441: chipset revision 4
AMD7441: not 100% native mode: will probe irqs later
AMD7441: disabling single-word DMA support (revision < C4)
    ide0: BM-DMA at 0xd800-0xd807, BIOS settings: hda:DMA, hdb:DMA
    ide1: BM-DMA at 0xd808-0xd80f, BIOS settings: hdc:DMA, hdd:DMA
hda: WDC WD800JB-00CRA1, ATA DISK drive
hdb: WDC WD307AA-00BAA0, ATA DISK drive
hdc: LITEON DVD-ROM LTD163D, ATAPI CD/DVD-ROM drive
hdd: AOPEN CD-RW CRW3248 1.10 20020301, ATAPI CD/DVD-ROM drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15
blk: queue c03b9124, I/O limit 4095Mb (mask 0xffffffff)
hda: 156301488 sectors (80026 MB) w/8192KiB Cache, CHS=9729/255/63,
UDMA(100)
blk: queue c03b9270, I/O limit 4095Mb (mask 0xffffffff)
hdb: 60074784 sectors (30758 MB) w/2048KiB Cache, CHS=3739/255/63,
UDMA(66)
hdc: ATAPI 48X DVD-ROM drive, 512kB Cache, UDMA(33)
Uniform CD-ROM driver Revision: 3.12
hdd: ATAPI 48X CD-ROM CD-R/RW drive, 8192kB Cache, UDMA(33)
Partition check:
 hda: hda1 hda2 < hda5 >
 hdb: hdb1
Floppy drive(s): fd0 is 1.44M
FDC 0 is a post-1991 82077
loop: loaded (max 8 devices)
3c59x: Donald Becker and others. www.scyld.com/network/vortex.html
02:05.0: 3Com PCI 3c982 Dual Port Server Cyclone at 0xc800. Vers
LK1.1.16
Linux agpgart interface v0.99 (c) Jeff Hartmann
agpgart: Maximum main memory to use for agp memory: 816M
agpgart: Detected AMD 760MP chipset
agpgart: AGP aperture is 32M @ 0xfc000000
SCSI subsystem driver Revision: 1.00
kmod: failed to exec /sbin/modprobe -s -k scsi_hostadapter, errno = 2
es1371: version v0.30 time 18:48:06 Jan 11 2003
usb.c: registered new driver usbdevfs
usb.c: registered new driver hub
PCI: Enabling device 02:08.2 (0014 -> 0016)
PCI: No IRQ known for interrupt pin C of device 02:08.2. Probably buggy
MP table.
hcd.c: Found HC with no IRQ.  Check BIOS/PCI 02:08.2 setup!
uhci.c: USB Universal Host Controller Interface driver v1.1
PCI: Enabling device 02:08.0 (0014 -> 0016)
PCI: No IRQ known for interrupt pin A of device 02:08.0. Probably buggy
MP table.
usb-ohci.c: found OHCI device with no IRQ assigned. check BIOS settings!
PCI: Enabling device 02:08.1 (0014 -> 0016)
PCI: No IRQ known for interrupt pin B of device 02:08.1. Probably buggy
MP table.
usb-ohci.c: found OHCI device with no IRQ assigned. check BIOS settings!
usb.c: registered new driver hiddev
usb.c: registered new driver hid
hid-core.c: v1.8.1 Andreas Gal, Vojtech Pavlik <vojtech@suse.cz>
hid-core.c: USB HID support drivers
usb.c: registered new driver usblp
printer.c: v0.11: USB Printer Device Class driver
Initializing USB Mass Storage driver...
usb.c: registered new driver usb-storage
USB Mass Storage support registered.
mice: PS/2 mouse device common for all mice
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP, IGMP
IP: routing cache hash table of 8192 buckets, 64Kbytes
TCP: Hash tables configured (established 262144 bind 65536)
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
VFS: Mounted root (ext2 filesystem) readonly.
Freeing unused kernel memory: 124k freed



^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2002-11-11 19:22 David Mosberger
  2002-11-12  1:39 ` your mail Rik van Riel
  0 siblings, 1 reply; 348+ messages in thread
From: David Mosberger @ 2002-11-11 19:22 UTC (permalink / raw)
  To: Mario Smarduch; +Cc: linux-ia64, linux-kernel

>>>>> On Mon, 11 Nov 2002 10:29:29 -0600, Mario Smarduch <cms063@email.mot.com> said:

  Mario> I know that on some commercial Unix systems there are ways to
  Mario> cap the CPU utilization by user/group ids are there such
  Mario> features/patches available on Linux?

There are probably other patches floating around, but Process Resource
Management (PRM) for Linux is/was one approach to do just that:

	http://resourcemanagement.unixsolutions.hp.com/WaRM/prm_linux/

The kernel patches available from this URL are pretty old (up to
2.4.6, as far as I could see), and I'm not sure what the future plans
for PRM on Linux are.  Perhaps someone else can provide more details.

	--david

^ permalink raw reply	[flat|nested] 348+ messages in thread
* RE: your mail
@ 2002-10-31 18:13 Bloch, Jack
  0 siblings, 0 replies; 348+ messages in thread
From: Bloch, Jack @ 2002-10-31 18:13 UTC (permalink / raw)
  To: 'Tom Bradley'; +Cc: linux-kernel

Thanks very much.

Jack Bloch 
Siemens ICN
phone                (561) 923-6550
e-mail                jack.bloch@icn.siemens.com


-----Original Message-----
From: Tom Bradley [mailto:tojabr@tojabr.com]
Sent: Thursday, October 31, 2002 1:00 PM
To: Bloch, Jack
Cc: linux-kernel@vger.kernel.org
Subject: Re: your mail


They are just regular values. The UL tells the compiler to format the
number as an unsgned long.


On Thu, 31 Oct 2002, Bloch, Jack wrote:

> I am looking at some sample driver code which shows the usage of some
> unsigned integers 1UL, 2UL, 4UL, 16UL, 64UL, 128UL and 256UL.  I need to
> know what these are defined as. Please excuse my ignorance.
>
> Please CC me directly on any responses.
>
> Jack Bloch
> Siemens ICN
> phone                (561) 923-6550
> e-mail                jack.bloch@icn.siemens.com
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
>

^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2002-10-31 15:39 Bloch, Jack
  2002-10-31 18:00 ` your mail Tom Bradley
  0 siblings, 1 reply; 348+ messages in thread
From: Bloch, Jack @ 2002-10-31 15:39 UTC (permalink / raw)
  To: linux-kernel

I am looking at some sample driver code which shows the usage of some
unsigned integers 1UL, 2UL, 4UL, 16UL, 64UL, 128UL and 256UL.  I need to
know what these are defined as. Please excuse my ignorance. 

Please CC me directly on any responses.

Jack Bloch 
Siemens ICN
phone                (561) 923-6550
e-mail                jack.bloch@icn.siemens.com


^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2002-10-30 12:45 Roberto Fichera
  2002-10-30 14:04 ` your mail Richard B. Johnson
  0 siblings, 1 reply; 348+ messages in thread
From: Roberto Fichera @ 2002-10-30 12:45 UTC (permalink / raw)
  To: linux-kernel

I've a problem with a DAT on a Compaq Proliant ML350 with PIII 1GHz,
1Gb RAM, RAID controller Smart Array 451 with 3 x HDD 9Gb RAID 5
and an internal SCSI controller Adaptec 7899 Ultra160 where is connected
only a DAT 12/24 Gb. Current installed distribution is RH7.3 with its kernel
2.4.18-10 but I've tryed the standard 2.4.19 with the same problem.
The problem is that the DAT don't work any more with Linux. This DAT work
well on Win2K :-(! Below  there is some logs and a 'ps fax' showing a tar in
D state.

Does anyone know a solution ?

Thanks in advance,

Roberto Fichera

=====================================================
Linux version 2.4.18-10custom (root@custom) (gcc version 2.96 20000731 (Red 
Hat Linux 7.3 2.96-112)) #1 Wed Oct 30 11:26:14 CET 2002
BIOS-provided physical RAM map:
  BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
  BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
  BIOS-e820: 00000000000e0000 - 0000000000100000 (reserved)
  BIOS-e820: 0000000000100000 - 0000000048000000 (usable)
  BIOS-e820: 00000000fff80000 - 0000000100000000 (reserved)
256MB HIGHMEM available.
896MB LOWMEM available.
found SMP MP-table at 000f02c0
hm, page 000f0000 reserved twice.
hm, page 000f1000 reserved twice.
hm, page 000f0000 reserved twice.
hm, page 000f1000 reserved twice.
On node 0 totalpages: 294912
zone(0): 4096 pages.
zone(1): 225280 pages.
zone(2): 65536 pages.
Intel MultiProcessor Specification v1.4
     Virtual Wire compatibility mode.
OEM ID: COMPAQ   Product ID: PROLIANT     APIC at: 0xFEE00000
Processor #0 Pentium(tm) Pro APIC version 16
I/O APIC #8 Version 17 at 0xFEC00000.
I/O APIC #2 Version 17 at 0xFEC01000.
Processors: 1
Kernel command line: auto BOOT_IMAGE=linux ro root=4806 
BOOT_FILE=/boot/vmlinuz-2.4.18-10
Initializing CPU#0
Detected 993.400 MHz processor.
Console: colour VGA+ 80x25
Calibrating delay loop... 1979.18 BogoMIPS
Memory: 1161504k/1179648k available (855k kernel code, 17756k reserved, 
218k data, 212k init, 262144k highmem)
Dentry cache hash table entries: 262144 (order: 9, 2097152 bytes)
Inode cache hash table entries: 131072 (order: 8, 1048576 bytes)
Mount cache hash table entries: 32768 (order: 6, 262144 bytes)
Buffer cache hash table entries: 131072 (order: 7, 524288 bytes)
Page-cache hash table entries: 524288 (order: 9, 2097152 bytes)
CPU: Before vendor init, caps: 0383fbff 00000000 00000000, vendor = 0
CPU: L1 I cache: 16K, L1 D cache: 16K
CPU: L2 cache: 256K
CPU: After vendor init, caps: 0383fbff 00000000 00000000 00000000
CPU:     After generic, caps: 0383fbff 00000000 00000000 00000000
CPU:             Common caps: 0383fbff 00000000 00000000 00000000
CPU: Intel Pentium III (Coppermine) stepping 0a
Enabling fast FPU save and restore... done.
Enabling unmasked SIMD FPU exception support... done.
Checking 'hlt' instruction... OK.
POSIX conformance testing by UNIFIX
enabled ExtINT on CPU#0
ESR value before enabling vector: 00000000
ESR value after enabling vector: 00000000
Using local APIC timer interrupts.
calibrating APIC timer ...
..... CPU clock speed is 993.2873 MHz.
..... host bus clock speed is 132.4380 MHz.
cpu: 0, clocks: 1324380, slice: 662190
CPU0<T0:1324368,T1:662176,D:2,S:662190,C:1324380>
mtrr: v1.40 (20010327) Richard Gooch (rgooch@atnf.csiro.au)
mtrr: detected mtrr type: Intel
PCI: PCI BIOS revision 2.10 entry at 0xede3e, last bus=4
PCI: Using configuration type 1
PCI: Probing PCI hardware
Unknown bridge resource 2: assuming transparent
PCI: Discovered primary peer bus 04 [IRQ]
PCI: Using IRQ router ServerWorks [1166/0200] at 00:0f.0
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
apm: BIOS not found.
Starting kswapd
allocated 64 pages and 64 bhs reserved for the highmem bounces
VFS: Diskquotas version dquot_6.5.0 initialized
Journalled Block Device driver loaded
parport0: PC-style at 0x378 (0x778) [PCSPP(,...)]
parport0: irq 7 detected
pty: 256 Unix98 ptys configured
Real Time Clock Driver v1.10e
block: 1024 slots per queue, batch=256
Compaq SMART2 Driver (v 2.4.21)
cpqarray: Device 0x46 has been found at bus 4 dev 4 func 0
PCI: Found IRQ 11 for device 04:04.0
cpqarray: Finding drives on ida0 (Smart Array 431)
cpqarray ida/c0d0: blksz=512 nr_blks=71106240
blk: queue c026b300, I/O limit 4095Mb (mask 0xffffffff)
Partition check:
  ida/c0d0: p1 p2 < p5 p6 >
eepro100.c:v1.09j-t 9/29/99 Donald Becker 
http://www.scyld.com/network/eepro100.html
eepro100.c: $Revision: 1.36 $ 2000/11/17 Modified by Andrey V. Savochkin 
<saw@saw.sw.com.sg> and others
PCI: Found IRQ 15 for device 01:05.0
eth0: OEM i82557/i82558 10/100 Ethernet, 00:50:8B:EC:C2:DA, IRQ 15.
   Board assembly 010101-034, Physical connectors present: RJ45
   Primary interface chip i82555 PHY #1.
   General self-test: passed.
   Serial sub-system self-test: passed.
   Internal registers self-test: passed.
   ROM checksum self-test: passed (0x04f4518b).
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP
IP: routing cache hash table of 16384 buckets, 128Kbytes
TCP: Hash tables configured (established 262144 bind 65536)
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
kjournald starting.  Commit interval 5 seconds
EXT3-fs: mounted filesystem with ordered data mode.
VFS: Mounted root (ext3 filesystem) readonly.
Freeing unused kernel memory: 212k freed
Adding Swap: 526296k swap-space (priority -1)
EXT3 FS 2.4-0.9.18, 14 May 2002 on ida0(72,6), internal journal
kjournald starting.  Commit interval 5 seconds
EXT3 FS 2.4-0.9.18, 14 May 2002 on ida0(72,1), internal journal
EXT3-fs: mounted filesystem with ordered data mode.
SCSI subsystem driver Revision: 1.00
PCI: Found IRQ 11 for device 01:04.0
PCI: Sharing IRQ 11 with 01:04.1
PCI: Found IRQ 11 for device 01:04.1
PCI: Sharing IRQ 11 with 01:04.0
scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.6
         <Adaptec (Compaq OEM) 3960D Ultra160 SCSI adapter>
         aic7899: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs
scsi1 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.6
         <Adaptec (Compaq OEM) 3960D Ultra160 SCSI adapter>
         aic7899: Ultra160 Wide Channel B, SCSI Id=7, 32/253 SCBs
   Vendor: COMPAQ    Model: SDT-9000          Rev: 4.20
   Type:   Sequential-Access                  ANSI SCSI revision: 02
st: Version 20020205, bufsize 32768, wrt 30720, max init. bufs 4, s/g segs 16
Attached scsi tape st0 at scsi0, channel 0, id 6, lun 0
(scsi0:A:6): 10.000MB/s transfers (10.000MHz, offset 15)
st0: Block limits 1 - 16777215 bytes.

=====================================================
cat /proc/scsi/aic7xxx/0

Adaptec AIC7xxx driver version: 6.2.6
aic7899: Ultra160 Wide Channel A, SCSI Id=7, 32/253 SCBs
Corrupted Serial EEPROM
Channel A Target 0 Negotiation Settings
	User: 160.000MB/s transfers (80.000MHz DT, offset 255, 16bit)
Channel A Target 1 Negotiation Settings
	User: 160.000MB/s transfers (80.000MHz DT, offset 255, 16bit)
Channel A Target 2 Negotiation Settings
	User: 160.000MB/s transfers (80.000MHz DT, offset 255, 16bit)
Channel A Target 3 Negotiation Settings
	User: 160.000MB/s transfers (80.000MHz DT, offset 255, 16bit)
Channel A Target 4 Negotiation Settings
	User: 160.000MB/s transfers (80.000MHz DT, offset 255, 16bit)
Channel A Target 5 Negotiation Settings
	User: 160.000MB/s transfers (80.000MHz DT, offset 255, 16bit)
Channel A Target 6 Negotiation Settings
	User: 160.000MB/s transfers (80.000MHz DT, offset 255, 16bit)
	Goal: 10.000MB/s transfers (10.000MHz, offset 15)
	Curr: 10.000MB/s transfers (10.000MHz, offset 15)
	Channel A Target 6 Lun 0 Settings
		Commands Queued 14
		Commands Active 1
		Command Openings 0
		Max Tagged Openings 0
		Device Queue Frozen Count 0
Channel A Target 7 Negotiation Settings
	User: 160.000MB/s transfers (80.000MHz DT, offset 255, 16bit)
Channel A Target 8 Negotiation Settings
	User: 160.000MB/s transfers (80.000MHz DT, offset 255, 16bit)
Channel A Target 9 Negotiation Settings
	User: 160.000MB/s transfers (80.000MHz DT, offset 255, 16bit)
Channel A Target 10 Negotiation Settings
	User: 160.000MB/s transfers (80.000MHz DT, offset 255, 16bit)
Channel A Target 11 Negotiation Settings
	User: 160.000MB/s transfers (80.000MHz DT, offset 255, 16bit)
Channel A Target 12 Negotiation Settings
	User: 160.000MB/s transfers (80.000MHz DT, offset 255, 16bit)
Channel A Target 13 Negotiation Settings
	User: 160.000MB/s transfers (80.000MHz DT, offset 255, 16bit)
Channel A Target 14 Negotiation Settings
	User: 160.000MB/s transfers (80.000MHz DT, offset 255, 16bit)
Channel A Target 15 Negotiation Settings
	User: 160.000MB/s transfers (80.000MHz DT, offset 255, 16bit)

=====================================================
ps fax

   PID TTY      STAT   TIME COMMAND
     1 ?        S      0:00 init [3]
     2 ?        SW     0:00 [keventd]
     3 ?        SWN    0:00 [ksoftirqd_CPU0]
     4 ?        SW     0:00 [kswapd]
     5 ?        SW     0:00 [bdflush]
     6 ?        SW     0:00 [kupdated]
     8 ?        SW     0:00 [kjournald]
   116 ?        SW     0:00 [kjournald]
   419 ?        S      0:00 syslogd -m 0
   424 ?        S      0:00 klogd -x
   477 ?        S      0:00 xinetd -stayalive -reuse -pidfile 
/var/run/xinetd.pid
   520 ?        S      0:00 lpd Waiting
   551 ?        S      0:00 sendmail: accepting connections
   570 ?        S      0:00 crond
   612 ?        S      0:00 xfs -droppriv -daemon
   630 ?        S      0:00 smbd -D
   635 ?        S      0:00 nmbd -D
   639 ?        S      0:00  \_ nmbd -D
   672 ?        S      0:00 /usr/sbin/atd
   689 tty3     S      0:00 /sbin/mingetty tty3
   690 tty4     S      0:00 /sbin/mingetty tty4
   691 tty5     S      0:00 /sbin/mingetty tty5
   692 tty6     S      0:00 /sbin/mingetty tty6
   756 ?        S      0:00 acushare -start
  1075 ?        S      0:00 login -- root
  1079 tty1     S      0:00  \_ -bash
  1363 tty1     D      0:00      \_ tar cvf /dev/st0 ./linux/COPYING 
./linux/CRED
  1341 ?        S      0:00 login -- roberto
  1367 tty2     S      0:00  \_ -bash
  1412 tty2     S      0:00      \_ su
  1413 tty2     S      0:00          \_ bash
  1505 tty2     R      0:00              \_ ps fax
  1345 ?        SW     0:00 [scsi_eh_0]
  1346 ?        SW     0:00 [scsi_eh_1]

=====================================================
lsmod

Module                  Size  Used by    Tainted: P
aic7xxx               124864   1  (autoclean)
st                     28788   1  (autoclean)
scsi_mod               95648   2  (autoclean) [aic7xxx st]
nls_iso8859-1           3488   0  (autoclean)
nls_cp437               5120   0  (autoclean)
vfat                   11804   0  (autoclean)
fat                    36056   0  (autoclean) [vfat]
floppy                 52480   0  (autoclean)

=====================================================
cat /proc/interrupts

CPU0
   0:     248523          XT-PIC  timer
   1:       7747          XT-PIC  keyboard
   2:          0          XT-PIC  cascade
   8:          1          XT-PIC  rtc
  11:       7883          XT-PIC  ida0, aic7xxx, aic7xxx
  15:       6818          XT-PIC  eth0
NMI:          0
LOC:     248489
ERR:          0
MIS:          0

=====================================================
cat /proc/ioports

0000-001f : dma1
0020-003f : pic1
0040-005f : timer
0060-006f : keyboard
0070-007f : rtc
0080-008f : dma page reg
00a0-00bf : pic2
00c0-00df : dma2
00f0-00ff : fpu
0378-037a : parport0
03c0-03df : vga+
0cf8-0cff : PCI conf1
1000-2fff : PCI Bus #01
   1000-10ff : Adaptec AHA-3960D / AIC-7899A U160/m
   1400-14ff : Adaptec AHA-3960D / AIC-7899A U160/m (#2)
   1800-18ff : ATI Technologies Inc Rage XL
   1c00-1cff : Compaq Computer Corporation Advanced System Management 
Controller
   2000-203f : Intel Corp. 82557/8/9 [Ethernet Pro 100]
     2000-203f : eepro100
3000-300f : ServerWorks OSB4 IDE Controller
b000-b0ff : Digital Equipment Corporation DECchip 21554
   b000-b0ff : cpqarray

=====================================================
cat /proc/iomem

00000000-0009fbff : System RAM
0009fc00-0009ffff : reserved
000a0000-000bffff : Video RAM area
000c0000-000c7fff : Video ROM
000cd000-000d0fff : Extension ROM
000f0000-000fffff : System ROM
00100000-47ffffff : System RAM
   00100000-001d5fa5 : Kernel code
   001d5fa6-0020caff : Kernel data
f5000000-f5000fff : Digital Equipment Corporation DECchip 21554
f5100000-f6ffffff : PCI Bus #01
   f5100000-f5100fff : Adaptec AHA-3960D / AIC-7899A U160/m
     f5100000-f5100fff : aic7xxx
   f5200000-f5200fff : Adaptec AHA-3960D / AIC-7899A U160/m (#2)
     f5200000-f5200fff : aic7xxx
   f5300000-f53fffff : Intel Corp. 82557/8/9 [Ethernet Pro 100]
   f5400000-f5400fff : Intel Corp. 82557/8/9 [Ethernet Pro 100]
     f5400000-f5400fff : eepro100
   f5500000-f5500fff : ATI Technologies Inc Rage XL
   f5600000-f56000ff : Compaq Computer Corporation Advanced System 
Management Controller
   f6000000-f6ffffff : ATI Technologies Inc Rage XL
f7000000-f7000fff : ServerWorks OSB4/CSB5 OHCI USB Controller
fff80000-ffffffff : reserved

=====================================================
lspci -v

00:00.0 Host bridge: ServerWorks CNB20LE Host Bridge (rev 05)
	Flags: bus master, medium devsel, latency 64

00:00.1 Host bridge: ServerWorks CNB20LE Host Bridge (rev 05)
	Flags: bus master, medium devsel, latency 64

00:01.0 PCI bridge: Digital Equipment Corporation DECchip 21152 (rev 03) 
(prog-if 00 [Normal decode])
	Flags: bus master, medium devsel, latency 128
	Bus: primary=00, secondary=01, subordinate=01, sec-latency=255
	I/O behind bridge: 00001000-00002fff
	Memory behind bridge: f5100000-f6ffffff
	Capabilities: [dc] Power Management version 1

00:0f.0 ISA bridge: ServerWorks OSB4 South Bridge (rev 51)
	Subsystem: ServerWorks OSB4 South Bridge
	Flags: bus master, medium devsel, latency 0

00:0f.1 IDE interface: ServerWorks OSB4 IDE Controller (prog-if 8a [Master 
SecP PriP])
	Flags: bus master, medium devsel, latency 66
	I/O ports at 3000 [size=16]

00:0f.2 USB Controller: ServerWorks OSB4/CSB5 USB Controller (rev 04) 
(prog-if 10 [OHCI])
	Subsystem: ServerWorks OSB4/CSB5 USB Controller
	Flags: bus master, medium devsel, latency 64, IRQ 5
	Memory at f7000000 (32-bit, non-prefetchable) [size=4K]

01:04.0 SCSI storage controller: Adaptec AHA-3960D / AIC-7899A U160/m (rev 01)
	Subsystem: Compaq Computer Corporation Compaq 64-Bit/66MHz Dual Channel 
Wide Ultra3 SCSI Adapter
	Flags: bus master, 66Mhz, medium devsel, latency 64, IRQ 11
	BIST result: 00
	I/O ports at 1000 [disabled] [size=256]
	Memory at f5100000 (64-bit, non-prefetchable) [size=4K]
	Expansion ROM at <unassigned> [disabled] [size=128K]
	Capabilities: [dc] Power Management version 2

01:04.1 SCSI storage controller: Adaptec AHA-3960D / AIC-7899A U160/m (rev 01)
	Subsystem: Compaq Computer Corporation Compaq 64-Bit/66MHz Dual Channel 
Wide Ultra3 SCSI Adapter
	Flags: bus master, 66Mhz, medium devsel, latency 64, IRQ 11
	BIST result: 00
	I/O ports at 1400 [disabled] [size=256]
	Memory at f5200000 (64-bit, non-prefetchable) [size=4K]
	Expansion ROM at <unassigned> [disabled] [size=128K]
	Capabilities: [dc] Power Management version 2

01:05.0 Ethernet controller: Intel Corp. 82557/8/9 [Ethernet Pro 100] (rev 08)
	Subsystem: Compaq Computer Corporation NC3163 Fast Ethernet NIC (embedded, 
WOL)
	Flags: bus master, medium devsel, latency 66, IRQ 15
	Memory at f5400000 (32-bit, non-prefetchable) [size=4K]
	I/O ports at 2000 [size=64]
	Memory at f5300000 (32-bit, non-prefetchable) [size=1M]
	Expansion ROM at <unassigned> [disabled] [size=1M]
	Capabilities: [dc] Power Management version 2

01:06.0 VGA compatible controller: ATI Technologies Inc Rage XL (rev 27) 
(prog-if 00 [VGA])
	Subsystem: Compaq Computer Corporation: Unknown device 001e
	Flags: bus master, stepping, medium devsel, latency 66, IRQ 5
	Memory at f6000000 (32-bit, non-prefetchable) [size=16M]
	I/O ports at 1800 [size=256]
	Memory at f5500000 (32-bit, non-prefetchable) [size=4K]
	Expansion ROM at <unassigned> [disabled] [size=128K]
	Capabilities: [5c] Power Management version 2

01:07.0 System peripheral: Compaq Computer Corporation Advanced System 
Management Controller
	Subsystem: Compaq Computer Corporation: Unknown device b0f3
	Flags: medium devsel, IRQ 10
	I/O ports at 1c00 [size=256]
	Memory at f5600000 (32-bit, non-prefetchable) [size=256]

04:04.0 RAID bus controller: Digital Equipment Corporation DECchip 21554 
(rev 01)
	Subsystem: Compaq Computer Corporation Integrated Smart Array
	Flags: bus master, medium devsel, latency 66, IRQ 11
	Memory at f5000000 (32-bit, non-prefetchable) [size=4K]
	I/O ports at b000 [size=256]
	Expansion ROM at <unassigned> [disabled] [size=256K]
	Capabilities: [dc] Power Management version 2
	Capabilities: [e4] Slot ID: 0 slots, First-, chassis 00
	Capabilities: [ec] #06 [0080]


______________________________________
E-mail protetta dal servizio antivirus di IsolaWeb Agency & ISP
http://wwww.isolaweb.it

^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2002-10-17  7:41 Rusty Russell
  2002-10-17 14:56 ` your mail Kai Germaschewski
  0 siblings, 1 reply; 348+ messages in thread
From: Rusty Russell @ 2002-10-17  7:41 UTC (permalink / raw)
  To: Daniel Phillips, S; +Cc: Roman Zippel, linux-kernel

In message <E181zuY-0004Fl-00@starship> you write:
> On Thursday 17 October 2002 00:48, Rusty Russell wrote:
> > > On Wednesday 16 October 2002 08:11, Rusty Russell wrote:
> > > > It needs to be turned off when dealing with any interface which might
> > > > be used by one of the hard modules.  Which is pretty bad.
> > > 
> > > As far as I can see, preemption only has to be disabled during the 
> > > synchronize_kernel phase of unloading that one module, and this requireme
nt 
> > > is inherited neither by dependant or depending modules.
> > 
> > No, someone could already have been preempted before you start
> > synchronize_kernel().
> 
> I don't get that.  The sequence is:
> 
>   - turn off preemption
>   - unhook call points
>   - synchronize_kernel
>   - ...
> 
> which doesn't leave any preemption hole that I can see, so I can't comment
> on a couple of the other points until you clear that one up.

You mean that "turn off preemption" also wakes up anyone currently
preempted?  Otherwise they're preempted just inside one of those call
points.

> > Still a race between the zero check and the can't-increment state
> > setting.
> 
> But that one is easy: the zero check just takes the same spinlock as 
> TRY_INC_MOD_COUNT, then sets can't-increment only in the case the count
> is zero, considerably simpler than:

The current spinlock is horrible.  You could use a brlock, of course,
but I didn't mainly because of code bloat and speed.  My current code
looks like:

static inline int try_module_get(struct module *module)
{
	int ret = 1;

	if (module) {
		unsigned int cpu = get_cpu();
		if (likely(module->ref[cpu].live))
			local_inc(&module->ref[cpu].counter);
		else
			ret = 0;
		put_cpu();
	}
	return ret;
}

Which is small enough to be inlined quite nicely, and very fast.
Adding br_read_lock_irqsave() starts to get big and slow (at that
point it's more likely we want to move the module case out of line).

> > This is what my current code does: rmmod itself checks (if
> > /proc/modules available), then the kernel sets the module to
> > can't-increment, then checks again.  If the non-blocking flag is set,
> > it then re-animates the module and fails, otherwise it waits.
> 
> and leaves no window for spurious failure.  The still-initializing case is
> also easy, e.g., a filesystem module simply doesn't call register_filesystem
> until it's completely ready to service calls, so nobody is able to do
> TRY_INC_MOD_COUNT.

Consider some code which needs to know when cpus go up and down, so
registers a notifier.  If the notifier fires before the init is
finished, the notifier code will fail to "try_inc_mod_count()" and
won't call it (it doesn't do try_inc_mod_count at the moment, but
that's a bug).

I don't know of any code which does this now, but it is at least a
theoretical problem.

> > BTW, current patchset (2.5.43):
> 
> Thanks, I'll read them all on the 21st ;-)  The other thing I need to read
> closely is Roman's strategy for changing the module format, and the weird
> linker connections.

Roman dislikes linking in the kernel.  So did I until I wrote it: it's
really trivial (esp. compared with the code to coordinate with the
userspace linker properly).  And it exists today.  The linking takes
around 200 lines.  But, let's say his solution is 500 lines shorter
than mine.

For those five hundred lines, the new parameter infrastructure and
module versioning changes can be done *without* requiring any changes
in modutils.  If you've been following the module changes closely in
the last couple of years, you'll realize what a pain it has been to
introduce changes like licensing, etc.  This frees up our hand.

IMHO, the benifits of having it in-kernel outweigh the slight extra
size.

> > ...The second is the "die-mother-fucker-die"
> > version, which taints the kernel and just removes the damn thing.  For
> > most people, this is better than a reboot, and will usually "work".
> 
> Is there a case where removing a module would actually help?  What is
> the user going to do next, try to reinsert the same module?

Insert a fixed one, hopefully 8).  I was thinking for kernel
developers, and general robustness (eg. an oops inside a module leaves
its refcount at 1).

> > http://www.kernel.org/pub/linux/kernel/people/rusty/patches/Module/force-un
load.patch.gz
> 
> ERROR 404: Not Found.

Damn my fingers.  Updated (now applies on top of the others) but I
haven't tested this version yet (that's what I'm doing now):

http://www.kernel.org/pub/linux/kernel/people/rusty/patches/Module/forceunload.patch.gz

Cheers!
Rusty.
--
  Anyone who quotes me in their sig is an idiot. -- Rusty Russell.

^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2002-10-14  6:28 Maros RAJNOCH /HiaeR Silvanna/
  2002-10-14 12:28 ` your mail Dave Jones
  0 siblings, 1 reply; 348+ messages in thread
From: Maros RAJNOCH /HiaeR Silvanna/ @ 2002-10-14  6:28 UTC (permalink / raw)
  To: linux-kernel

[-- Attachment #1: Type: text/plain, Size: 5837 bytes --]

Unmounting file systems: Kernel BUG at page_alloc.c:90!
invalid operand: 0000
CPU:    0
EIP:    0010:[<co12d0ea>]
EFLAGS: 00010286
eax: 0000001f   ebx: 00000000   ecx: 00000001   edx: c02575a4
esi: 00000000   edi: c1452c7c   ebp: 00000000   esp: d1b51e8c
ds: 0018   es: 0018   ss: 0018
Process umount (pid:11412, stackpage=d1b51000)
Stack: c020ea7b c020ec89 0000005a c1452c7c c0135b93 c1452c7c 00000000 c1452c7c
       c1452c7c c1452c7c c1452c7c 00000000 c0124d6c c1452c7c 00000000 c0113c31
       d1b51ef8 c01356e1 d3895f60 d1b51ef0 d1244c28 00000000 00000000 c0124e1b
Call Trace: [<c020ea7b>] [<c020ec89>] [<c0135b93>] [<c0124d6c>] [<c0113c31>]
            [<c01356e1>] [<c0124e1b>] [<c01471d7>] [<c01472f8>] [<c0138fa9>]
            [<c01393b1>] [<c013949a>] [<c010901b>] [<c010002b>]

Code: 0f 0b 83 c4 0c 8b 47 18 83 e0 20 74 16 6a 5c 68 98 ec 20 c0


Linux version 2.4.2-2 (root@porky.devel.redhat.com) (gcc version 2.96 20000731 (Red Hat Linux 7.1 2.96-79)) #1 Sun Apr 8 20:41:30 EDT 2001
BIOS-provided physical RAM map:
 BIOS-e820: 000000000009fc00 @ 0000000000000000 (usable)
 BIOS-e820: 0000000000000400 @ 000000000009fc00 (reserved)
 BIOS-e820: 0000000000010000 @ 00000000000f0000 (reserved)
 BIOS-e820: 0000000000010000 @ 00000000ffff0000 (reserved)
 BIOS-e820: 0000000013ef0000 @ 0000000000100000 (usable)
 BIOS-e820: 000000000000d000 @ 0000000013ff3000 (ACPI data)
 BIOS-e820: 0000000000003000 @ 0000000013ff0000 (ACPI NVS)
On node 0 totalpages: 81904
zone(0): 4096 pages.
zone DMA has max 32 cached pages.
zone(1): 77808 pages.
zone Normal has max 607 cached pages.
zone(2): 0 pages.
zone HighMem has max 1 cached pages.
Kernel command line: auto BOOT_IMAGE=Linux ro root=306 BOOT_FILE=/boot/vmlinuz-2.4.2-2 video=vesa:mtrr
Initializing CPU#0
Detected 374.843 MHz processor.
Console: colour dummy device 80x25
Calibrating delay loop... 748.74 BogoMIPS
Memory: 319732k/327616k available (1365k kernel code, 7496k reserved, 92k data, 236k init, 0k highmem)
Dentry-cache hash table entries: 65536 (order: 7, 524288 bytes)
Buffer-cache hash table entries: 16384 (order: 4, 65536 bytes)
Page-cache hash table entries: 131072 (order: 8, 1048576 bytes)
Inode-cache hash table entries: 32768 (order: 6, 262144 bytes)
VFS: Diskquotas version dquot_6.5.0 initialized
CPU: Before vendor init, caps: 0183f9ff 00000000 00000000, vendor = 0
CPU: L1 I cache: 16K, L1 D cache: 16K
CPU: L2 cache: 128K
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#0.
CPU: After vendor init, caps: 0183f9ff 00000000 00000000 00000000
CPU: After generic, caps: 0183f9ff 00000000 00000000 00000000
CPU: Common caps: 0183f9ff 00000000 00000000 00000000
CPU: Intel Celeron (Mendocino) stepping 00
Enabling fast FPU save and restore... done.
Checking 'hlt' instruction... OK.
POSIX conformance testing by UNIFIX
mtrr: v1.37 (20001109) Richard Gooch (rgooch@atnf.csiro.au)
mtrr: detected mtrr type: Intel
PCI: PCI BIOS revision 2.10 entry at 0xfb2b0, last bus=1
PCI: Using configuration type 1
PCI: Probing PCI hardware
Unknown bridge resource 0: assuming transparent
PCI: Using IRQ router PIIX [8086/7110] at 00:07.0
PCI: Found IRQ 5 for device 00:07.2
PCI: The same IRQ used for device 00:09.0
Limiting direct PCI/PCI transfers.
isapnp: Scanning for PnP cards...
isapnp: No Plug & Play device found
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
apm: BIOS version 1.2 Flags 0x07 (Driver version 1.14)
Starting kswapd v1.8
vesafb: framebuffer at 0xe6000000, mapped to 0xd4800000, size 7936k
vesafb: mode is 1024x768x16, linelength=2048, pages=3
vesafb: protected mode interface info at c000:0444
vesafb: scrolling: redraw
vesafb: directcolor: size=0:5:6:5, shift=0:11:5:0
Console: switching to colour frame buffer device 128x48
fb0: VESA VGA frame buffer device
pty: 256 Unix98 ptys configured
block: queued sectors max/low 211784kB/80712kB, 640 slots per queue
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
Uniform Multi-Platform E-IDE driver Revision: 6.31
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
PIIX4: IDE controller on PCI bus 00 dev 39
PIIX4: chipset revision 1
PIIX4: not 100% native mode: will probe irqs later
    ide0: BM-DMA at 0xf000-0xf007, BIOS settings: hda:DMA, hdb:pio
    ide1: BM-DMA at 0xf008-0xf00f, BIOS settings: hdc:DMA, hdd:pio
hda: WDC AC26400B, ATA DISK drive
hdc: CD-532E-B, ATAPI CD/DVD-ROM drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15
hda: 12594960 sectors (6449 MB) w/512KiB Cache, CHS=784/255/63, UDMA(33)
Partition check:
 hda: hda1 hda2 hda4 < hda5 hda6 hda7 hda8 hda9 >
Floppy drive(s): fd0 is 1.44M
FDC 0 is a post-1991 82077
Serial driver version 5.02 (2000-08-09) with MANY_PORTS MULTIPORT SHARE_IRQ SERIAL_PCI ISAPNP enabled
Real Time Clock Driver v1.10d
md driver 0.90.0 MAX_MD_DEVS=256, MD_SB_DISKS=27
md.c: sizeof(mdp_super_t) = 4096
autodetecting RAID arrays
autorun ...
... autorun DONE.
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP, IGMP
IP: routing cache hash table of 2048 buckets, 16Kbytes
TCP: Hash tables configured (established 32768 bind 32768)
Linux IP multicast router 0.06 plus PIM-SM
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
VFS: Mounted root (ext2 filesystem) readonly.
Freeing unused kernel memory: 236k freed
Adding Swap: 104380k swap-space (priority -1)
usb.c: registered new driver usbdevfs
usb.c: registered new driver hub
usb-uhci.c: $Revision: 1.251 $ time 20:53:29 Apr  8 2001
usb-uhci.c: High bandwidth mode enabled
PCI: Found IRQ 5 for device 00:07.2
PCI: The same IRQ used for device 00:09.0
usb-uhci.c: USB UHCI at I/O 0x9000, IRQ 5
usb-uhci.c: Detected 2 ports
usb.c: new USB bus registered, assigned bus number 1
hub.c: USB hub found
hub.c: 2 ports detected

[-- Attachment #2: Type: application/pgp-signature, Size: 232 bytes --]

^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2002-10-02 19:58 Mark Peloquin
  2002-10-02 20:19 ` your mail jbradford
  0 siblings, 1 reply; 348+ messages in thread
From: Mark Peloquin @ 2002-10-02 19:58 UTC (permalink / raw)
  To: Alan Cox; +Cc: linux-kernel

On Wed, 2002-10-02 at 17:09, Alan Cox wrote:
> Look at history - if such a mess got in, it would never get sorted.

Instead of throwing around vague statements with little
context like "compost heap" and "such a mess", why don't
you spell out the specific design points of EVMS that you
disagree with. The advantages and disadvantages of
each point can then be discussed.

Mark



^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2002-10-02 12:41 s.stoklossa
  2002-10-02 12:51 ` your mail Sam Ravnborg
  0 siblings, 1 reply; 348+ messages in thread
From: s.stoklossa @ 2002-10-02 12:41 UTC (permalink / raw)
  To: mec; +Cc: linux-kernel

beim versuch, die Einstellungen von alsa aufzurufen, kam folgende FM:

 Q> ./scripts/Menuconfig: MCmenu74: command not found

grusz

Sven


^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2002-09-21  5:32 Greg KH
  2002-09-23 18:35 ` your mail Patrick Mochel
  0 siblings, 1 reply; 348+ messages in thread
From: Greg KH @ 2002-09-21  5:32 UTC (permalink / raw)
  To: Rhoads, Rob, linux-kernel, hardeneddrivers-discuss, cgl_discussion

cgl_discussion@lists.osdl.org, hardeneddrivers-discuss@lists.sourceforge.net
Cc: 
Bcc: 
Subject: 
Reply-To: 

hardeneddrivers-discuss@lists.sourceforge.net,
cgl_discussion@lists.osdl.org
Bcc: 
Subject: my review of the Device Driver Hardening Design Spec
Reply-To: 
In-Reply-To: <20020921014054.GA25665@kroah.com>

On Fri, Sep 20, 2002 at 06:40:54PM -0700, Greg KH wrote:
> Hi,
> 
> I've just started to read over the published spec, and will reserve
> comment on it, and the example code you've created after I'm done
> reading it.

Ok, here's some comments on the 0.5h release of the Device Driver
Hardening Design Specification:

(I'll skip the intro, and feel good sections and get into the details
that you lay out, starting in section 2)

Section 2:
2.1:
	- do NOT use /proc for driver info.  Use driverfs.
	- If you are using a kernel version that does not have driverfs,
	  put all /proc driver info under /proc/drivers, which is where
	  it belongs.
	- Only have 1 value per file, and no binary data in the files.
	- Do not put the "kernel version for which the driver was
	  compiled", as that _always_ much match the kernel version that
	  is running, so is redundant.

2.2:
	- do NOT use typedef

2.5.5:
	- you do not have to always check data returned from functions,
	  if you wrote the functions in the first place.  Redundant
	  checking of all data within the kernel, slows things down.
	  Sure, some checking is good, but do not say that it is a
	  requirement, or no one will want to use your driver.

The majority of section 2 is very nice, it's a good list of things that
drivers should do.


Section 3:

Wow, where to start...

The Common Statistic Manager:
	- why does this have to live in the kernel?  It should be in
	  userspace, grabbing all of the data from the /proc files you
	  just specified in section 2.1.
	  
POSIX event logging:
	- wow, not much I can say here, that hasn't already been said
	  before :(

Diagnostics:
	- now these are a good idea.  A common subsystem that drivers
	  can register what kind of diagnostics they can run on their
	  hardware, nice.

3.1.1:
	- UUIDs!!!???  You have got to be kidding.  Here, for the
	  benefit of those who have not read this, I'll quote:
	  	"Each subsystem, and each resource contained within each
		subsystem, needs to be uniquely identified.  In order to
		do this a hardened driver developer shall pre-assign a
		Universally Unique Identifier (UUID) as the Subsystem ID
		for each subsystem, and shall provide a means to assign
		a unique Resource ID string for each resource within a
		subsystem."
	
	 So for every resource, a string shall be associated with it.
	 But that means for most resources, the string will take up more
	 memory than the resource itself does.  Does that make sense?

	 It's also up to the driver to create these resource ids at
	 runtime and guarantee their uniqueness over the lifetime of the
	 kernel.  How in the world can you expect every driver author to
	 do this?  Any example code out there?

	 And what are these UUIDs going to be used for, ah, event
	 logging.  Enough said.

3.2 Statistics:
	You actually want every driver to support SNMP compliant
	statistics groups within themselves?  Why?  What a bloat of a
	kernel.

	All of this should be done (if at all) from userspace.
	

3.2.5.2:
(I'm not condoning ANY of these functions or code, just trying to point out how
you should, if they were to be in the kernel, done properly.)
	- do not use typedef
	- struct stat_info does not need *unit, as that is already
	  specified in the scale field, right?
	- the stat_value_t union is just a horrible abomination, don't
	  do that.

3.3 Diagnostics:
	- not a bad idea, but some work could be done on the
	  implementation.  Would fit in nicely with the device driver
	  model in 2.5.  For 2.4, it would be another subsystem a driver
	  would register with.

3.3.3.2:
	- no typedefs
	- run() is horrible, you are trying to fit all kinds of possible
	  diagnosis into one function callback.  Not a good idea.
	  Break the different kinds of callbacks out into different
	  functions.  That ensures type safety, right now you are just
	  creating another ioctl() type mess.

3.4 Event logging:
	- I'm not even going to touch this, sorry.

4: High Availability
	- are you all working with the existing HA group?

4.1:
	- um, what are you trying to say here.  This section is
	  pointless.  Yes we all think Hot Swap is a good idea, that's
	  why Linux currently supports it.

4.2:
	- RAID and ethernet bonding is nice. Again, Linux already has
	  projects and support for these things.  Why mention them?


The rest of this section is fine, and I welcome any test harnesses that
are created to do this kind of fault injection for driver testing.

5:
	- Here you back-pedal on everything you said up till now.  Let
	  me summarize what is said in these 3 paragraphs in 1 sentence:
	  	"Yes, all these things are well and good, but don't let
		them effect the currently great performance Linux has
		today."
	  Sorry, but you can't have it both ways.

5.1:
	- do NOT use #ifdef in the .c files.  Only in .h files.
	- why is CONFIG_DRIVER_HOTSWAP an option.  What does it do that
	  CONFIG_HOTPLUG does not do today?
	- actually, what do any of these CONFIG_ options do, and why
	  would someone not want the CONFIG_DRIVER_ROBUST to be always
	  enabled?


In summary, I think that a lot of people have spent a lot of time in
creating this document, and the surrounding code that matches this
document.  I really wish that a tiny bit of that effort had gone into
contacting the Linux kernel development community, and asking to work
with them on a project like this.  Due to that not happening, and by
looking at the resultant spec and code, I'm really afraid the majority
of that time and effort will have been wasted.

What do I think can be salvaged?  Diagnostics are a good idea, and I
think they fit into the driver model in 2.5 pretty well.  A lot of
kernel janitoring work could be done by the CG team to clean up, and
harden (by applying the things in section 2) the existing kernel
drivers.  That effort alone would go a long way in helping the stability
of Linux, and also introduce the CG developers into the kernel community
as active, helping developers.  It would allow the CG developers to
learn from the existing developers, as we must be doing something right
for Linux to be working as well as it does :)

Also, open specs for the hardware the CG members produce, to allow
existing kernel drivers to be enhanced (instead of having to be reverse
engineered), and new kernel drivers to be created, would also go a long
way in helping out both the CG's members and the entire Linux
community's cause of having a robust, stable kernel be achived easier.
Closed specs, and closed drivers do not help anyone.


thanks for reading this far,

greg k-h

^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2002-09-14 12:39 Paolo Ciarrocchi
  2002-09-14 17:05 ` your mail Rik van Riel
  0 siblings, 1 reply; 348+ messages in thread
From: Paolo Ciarrocchi @ 2002-09-14 12:39 UTC (permalink / raw)
  To: linux-kernel; +Cc: conman

[...]
>http://kernel.kolivas.net under the FAQ. A final >reminder note: it won't work on
>2.5.x

Con, 
I think that only the _memload_ test is not
working with 2.5.*, am I wrong?

Paolo
-- 
Get your free email from www.linuxmail.org 


Powered by Outblaze

^ permalink raw reply	[flat|nested] 348+ messages in thread
[parent not found: <200208312335.g7VNZmk37659@sullivan.realtime.net>]
* (no subject)
@ 2002-08-30 18:43 Bloch, Jack
  2002-08-30 18:55 ` your mail Matthew Dharm
                   ` (2 more replies)
  0 siblings, 3 replies; 348+ messages in thread
From: Bloch, Jack @ 2002-08-30 18:43 UTC (permalink / raw)
  To: linux-kernel

I have an embedded system runing a 2.4.18-3 Kernel. It runs from a 256MB
compact flash disk (emulates an IDE interface). I am using an EXT2
filesystem. During some power-off/power-on testing, the disk check failed.
It dropped me to a shell and I had to run e2fsck -cfv to correct this
problem. This is all good and well in a lab environment, but in reality,
there is nobody there to perform the repair (running system is not equipped
with keyboard and monitor). Is there any way to invoke e2fsck automatically
or inhibit the failure detection mechanism? Please CC me directly on any
responses.


Thanks in advance....

Jack Bloch 
Siemens ICN
phone                (561) 923-6550
e-mail                jack.bloch@icn.siemens.com


^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2002-08-27 18:22 Steffen Persvold
  2002-08-27 19:27 ` your mail Willy Tarreau
  0 siblings, 1 reply; 348+ messages in thread
From: Steffen Persvold @ 2002-08-27 18:22 UTC (permalink / raw)
  To: linux-kernel

Dear list people,

Lately I've been testing out a couple of Dell PowerEdge 2650 machines. 
These babies have dual onboard BCM95701A10 NICs (Tigon3 chip) mounted 
in the same PCI-X 133MHz 64 bit bus.

Since they have dual onboard GbE, I've been trying to channel bond them 
using just two crossover cables between two machines. The results I'm 
seeing is at the first glance very strange. What I see is that the 
performance when bonded (round robin) is about _half_ (and sometimes even 
less) compared to just using a single interface. Here are some netpipe-2.4 
results :

64k message size, single interface
  1:     65536 bytes  190 times -->  760.54 Mbps in 0.000657 sec

256k message size, single interface
  1:    262144 bytes   53 times -->  855.04 Mbps in 0.002339 sec

64 message size, both interfaces (using round robin)
  1:     65536 bytes   65 times -->  257.06 Mbps in 0.001945 sec

256k message size, both interfaces (using round robin)
  1:    262144 bytes   25 times -->  376.01 Mbps in 0.005319 sec

Looking at the output of netstat -s after a testrun with 256k message 
size, I see some differences (main items) :

Single interface :
 Tcp:
      0 segments retransmited

 TcpExt:
     109616 packets directly queued to recvmsg prequeue.
     52249581 packets directly received from backlog
     125694404 packets directly received from prequeue
     78 packets header predicted
     124999 packets header predicted and directly queued to user
     TCPPureAcks: 93
     TCPHPAcks: 22981

      
Bonded interfaces :
  Tcp:
      234 segments retransmited

  TcpExt:
      1 delayed acks sent
      Quick ack mode was activated 234 times
      67087 packets directly queued to recvmsg prequeue.
      6058227 packets directly received from backlog
      13276665 packets directly received from prequeue
      6232 packets header predicted
      4625 packets header predicted and directly queued to user
      TCPPureAcks: 25708
      TCPHPAcks: 4456


The biggest difference as far as I can see is the 'packtes header 
predicted', 'packets header predicted and directly queued to user', 
'TCPPureAcks' and TCPHPAcks.

I have an idea that this happens because the packets are comming out of 
order into the receiving node (i.e the bonding device is alternating 
between each interface when sending, and when the receiving node gets the 
packets it is possible that the first interface get packets number 0, 2, 
4 and 6 in one interrupt and queues it to the network stack before packet 
1, 3, 5 is handled on the other interface).

If this is the case, any ideas how to fix this...

I would really love to get 2Gbit/sec on these machines....


PS

I've also seen this feature on the Intel GbE cards (e1000), but these 
drivers has a parameter named RxIntDelay which can be set to 0 to get 
interrupt for each packet. Is this possible with the tg3 driver too ?

DS

Regards,
--
  Steffen Persvold   |       Scali AS
 mailto:sp@scali.com |  http://www.scali.com
Tel: (+47) 2262 8950 |   Olaf Helsets vei 6
Fax: (+47) 2262 8951 |   N0621 Oslo, NORWAY



^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2002-08-23 14:45 Mike Dresser
  2002-08-23 15:12 ` your mail Bill Unruh
  0 siblings, 1 reply; 348+ messages in thread
From: Mike Dresser @ 2002-08-23 14:45 UTC (permalink / raw)
  To: linux-ppp; +Cc: linux-kernel

I'm having problems with pppd under 2.4.19, with pppd 2.4.1

I can establish a new connection, and no problems.  But once the ISP on
the other end hangs up, this is what i get in my syslog.
Repeats over and over.  I saw a few google postings about this, but those
were back in _1999_, so I would think they were fixed by now.

Doesn't matter if PPP is compiled in with the kernel, or modules.

I'm running Debian 3.0(woody)

This worked under Debian 2.2 and kernel 2.2.21

Aug 23 10:25:55 tilburybackup chat[9825]: abort on (BUSY)
Aug 23 10:25:55 tilburybackup chat[9825]: abort on (NO CARRIER)
Aug 23 10:25:55 tilburybackup chat[9825]: abort on (VOICE)
Aug 23 10:25:55 tilburybackup chat[9825]: abort on (NO DIALTONE)
Aug 23 10:25:55 tilburybackup chat[9825]: abort on (NO DIAL TONE)
Aug 23 10:25:55 tilburybackup chat[9825]: abort on (NO ANSWER)
Aug 23 10:25:55 tilburybackup chat[9825]: send (ATZ^M)
Aug 23 10:25:55 tilburybackup chat[9825]: expect (OK)
Aug 23 10:25:55 tilburybackup chat[9825]: ATZ^M^M
Aug 23 10:25:55 tilburybackup chat[9825]: OK
Aug 23 10:25:55 tilburybackup chat[9825]:  -- got it
Aug 23 10:25:55 tilburybackup chat[9825]: send (ATDT3806600^M)
Aug 23 10:25:55 tilburybackup chat[9825]: expect (CONNECT)
Aug 23 10:25:55 tilburybackup chat[9825]: ^M
Aug 23 10:26:11 tilburybackup pppd[9804]: rcvd [LCP EchoReq id=0x4 magic=0x96835d5b]
Aug 23 10:26:11 tilburybackup pppd[9804]: sent [LCP EchoRep id=0x4 magic=0x72c56787]
Aug 23 10:26:11 tilburybackup pppd[9804]: sent [LCP EchoReq id=0x4 magic=0x72c56787]
Aug 23 10:26:11 tilburybackup pppd[9804]: rcvd [LCP EchoRep id=0x4 magic=0x96835d5b]
Aug 23 10:26:16 tilburybackup chat[9825]: ATDT3806600^M^M
Aug 23 10:26:16 tilburybackup chat[9825]: CONNECT
Aug 23 10:26:16 tilburybackup chat[9825]:  -- got it
Aug 23 10:26:16 tilburybackup chat[9825]: send (\d)
Aug 23 10:26:17 tilburybackup pppd[329]: Serial connection established.
Aug 23 10:26:17 tilburybackup pppd[329]: using channel 1179
Aug 23 10:26:17 tilburybackup pppd[329]: Couldn't create new ppp unit: Inappropriate ioctl for device
Aug 23 10:26:18 tilburybackup pppd[329]: Hangup (SIGHUP)

tilburybackup:/etc/ppp# egrep -v '#|^ *$' /etc/ppp/options
asyncmap 0
auth
crtscts
lock
hide-password
modem
proxyarp
lcp-echo-interval 30
lcp-echo-failure 4
noipx
persist
maxfail 0

ttyS04 at port 0xcc00 (irq = 5) is a 16550A

00:0b.0 Serial controller: US Robotics/3Com 56K FaxModem Model 5610 (rev 01) (prog-if 02 [16550])
        Subsystem: US Robotics/3Com USR 56k Internal FAX Modem (Model 2977)
        Control: I/O+ Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Interrupt: pin A routed to IRQ 5
        Region 0: I/O ports at cc00 [size=8]
        Capabilities: [dc] Power Management version 2
                Flags: PMEClk- DSI- D1- D2+ AuxCurrent=0mA PME(D0+,D1-,D2+,D3hot+,D3cold+)
                Status: D0 PME-Enable- DSel=0 DScale=2 PME-

Any ideas?

Mike


^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2002-08-19 21:29 Bloch, Jack
  2002-08-20  6:47 ` your mail Philipp Matthias Hahn
  0 siblings, 1 reply; 348+ messages in thread
From: Bloch, Jack @ 2002-08-19 21:29 UTC (permalink / raw)
  To: linux-kernel

Are there any plans to do an SCTP (RFC 2960) implementation for Linux?
Please CC me directly on any responses.

Thanks in advance.

Jack Bloch 
Siemens ICN
phone                (561) 923-6550
e-mail                jack.bloch@icn.siemens.com


^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2002-08-16  7:51 Misha Alex
  2002-08-16  9:52 ` your mail Willy Tarreau
  0 siblings, 1 reply; 348+ messages in thread
From: Misha Alex @ 2002-08-16  7:51 UTC (permalink / raw)
  To: linux-kernel



Hi,
   1)How do convert C,H,S into bytes.
     How can one read in linux if we know the C,H,S.

      Also i tried the linear addressing linear = c*H*S + h*S +s -1 .But 
linear or linear*512 never gave me the exact byte offset to seek.

I am working in linux and using a hexeditor to seek .How many exact bytes 
should i seek to find out the extended partition.I read the MBR and found 
the exteneded partiton.
00 01 01 00 02 fe 3f 01 3f 00 00 00 43 7d 00 00
80 00 01 02 0b fe bf 7e 82 7d 00 00 3d 26 9c 00
00 00 81 7f 0f fe ff ff bf a3 9c 00 f1 49 c3 01
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00


See the third column it is 0f(extended windows).The cylinder is 639(7f81 h)
and sector is 1 .I don't know where to exactly read for the next partiton.
The byte offset for finding out the next partitions.

If i open hda3(Mind you hda3 is an extended partition on hda) with a
hexeditor i get

00 01 81 7f 83 fe ff 7d 3f 00 00 00 00 82 3e 00
00 00 c1 7e 05 fe ff ff 3f 82 3e 00 7e 04 7d 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

.Now the first partition is of type 83 which is linux and the next
extended partition is of type 05(extended) and cylinder894 and sec1.



*************************************
How do i find the next chain of extended partitions.I mean how do i convert 
cylinder 894 ,sec1 and head 0 into absolute bytes so that i can hexdump the 
next partition table for finding out ?
************************************

Thank you,
Misha

_________________________________________________________________
Send and receive Hotmail on your mobile device: http://mobile.msn.com


^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2002-07-06 15:59 Hacksaw
  2002-07-07 19:32 ` your mail Min Li
  0 siblings, 1 reply; 348+ messages in thread
From: Hacksaw @ 2002-07-06 15:59 UTC (permalink / raw)
  To: Min Li; +Cc: linux-kernel

Hello Min:

I suggest your questions would be better asked on the kernle newbies list:
http://mail.nl.linux.org/kernelnewbies/

and/or on the RedHat install List:

https://listman.redhat.com/mailman/listinfo/redhat-install-list.

The kernel list is strictly for talk about developing the kernel. Also, please 
read the linux kernel mailing list FAQ: http://www.tux.org/lkml/
-- 
Powered by beta particles
http://www.hacksaw.org -- http://www.privatecircus.com -- KB1FVD



^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2002-07-05  8:47 Christian Berger
  2002-07-05 13:34 ` your mail Gerhard Mack
  0 siblings, 1 reply; 348+ messages in thread
From: Christian Berger @ 2002-07-05  8:47 UTC (permalink / raw)
  To: linux-kernel

unsubscribe linux-kernel



^ permalink raw reply	[flat|nested] 348+ messages in thread
[parent not found: <000d01c22361$62c9d6f0$0100a8c0@digital>]
* (no subject)
@ 2002-06-24  5:49 pah
  2002-06-24  7:34 ` your mail Zwane Mwaikambo
  0 siblings, 1 reply; 348+ messages in thread
From: pah @ 2002-06-24  5:49 UTC (permalink / raw)
  To: linux-kernel

Hello,

	I've just found a bug (an unsignificant bug) in the panic() function!
	There's a possible buffer overflow if the formated string exceeds
1024 characters (I think that the problem is in all kernel releases).
	The problem is in the use of vsprintf() insted of vsnprintf()!

	I know that this doesn't compromise any exploitation by an uid
different than zero, but should be fixed in the case of panic()'s arguments
exceeds the buffer limit (probably by an lkm or something like that) and
cause (probably) a system crash.

	Here is the exploitation by an lkm:


/************** LKM ***********/

/*
 * panic()'s buffer overflow test
 *
 * By: Pedro Hortas
 * E-Mail: pah@promiscua.org
 *
 */

#define __KERNEL__
#define MODULE

#define _LOOSE_KERNEL_NAMES

#include <linux/module.h>
#include <linux/kernel.h>

int init_module(void) {
        char foo[2048];
        int i;

        for (i = 0; i < sizeof(foo); i++)
                foo[i] = '\x90';
        foo[i - 1] = 0;
        panic("Overflowing panic()'s buffer: %s\n", foo);

        return 0;
}

int cleanup_module(void) {
        return 0;
}

/************* END OF LKM ************/


	And here is the patch to fix the problem:


/************* PATCH **************/

diff -urP linux/kernel/panic.c linux-patched/kernel/panic.c
--- linux/kernel/panic.c        Sun Sep 30 20:26:08 2001
+++ linux-patched/kernel/panic.c        Mon Jun 24 06:18:12 2002
@@ -51,7 +51,7 @@

        bust_spinlocks(1);
        va_start(args, fmt);
-       vsprintf(buf, fmt, args);
+       vsnprintf(buf, sizeof(buf), fmt, args);
        va_end(args);
        printk(KERN_EMERG "Kernel panic: %s\n",buf);
        if (in_interrupt())

/************** END OF PATCH *************/



	Pedro Hortas
	pah@promiscua.org

^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2002-05-16 12:40 Sanket Rathi
  2002-05-16 13:38 ` your mail Alan Cox
  0 siblings, 1 reply; 348+ messages in thread
From: Sanket Rathi @ 2002-05-16 12:40 UTC (permalink / raw)
  To: linux-kernel



I just want to know how can we restrict the maximum virtual memory and
maximum physical memory on ia64 platform.
Is there any settings in kernel so that we can change that and recompile
kernel. Actually we have a device which can only access 44 bits so we cant
I just want to know how can we restrict the maximum virtual memory and
maximum physical memory on ia64 platform.
Is there any settings in kernel so that we can change that and recompile
kernel. Actually we have a device which can only access 44 bits so we cant
have 64 bit address. I mean is it possible to discard some bits which are
not significant.

Tell me something related to this or any link which i can refer

Thanks in advance

--- Sanket Rathi

--------------------------



^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2002-05-03 14:19 Keith Owens
  2002-05-03 14:37 ` your mail tomas szepe
  0 siblings, 1 reply; 348+ messages in thread
From: Keith Owens @ 2002-05-03 14:19 UTC (permalink / raw)
  To: kbuild-devel; +Cc: linux-kernel

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Content-Type: text/plain; charset=us-ascii

Release 2.4 of kernel build for kernel 2.5 (kbuild 2.5) is available.
http://sourceforge.net/projects/kbuild/, package kbuild-2.5, download
release 2.4.

kbuild-2.5-core-13-1.
  Changes from core-9.

    Update documentation for asm-offsets.h.

    Remove the requirement that arch/$(ARCH)/Makefile.defs.*config had
    to be in the base tree.  Now a new architecture can be a completely
    separate drop in tree.

    Really force CONFIG_MODVERSIONS=n.  Modversions will not be
    supported until after kbuild 2.5 is in the main kernel.

    Change phase 4 message, it does a lot of integrity checks as well
    as generating the global makefile.  Will that shut up people who
    think that we don't need integrity checks?  Probably not :(.

    Correct bug in symlink message.

kbuild-2.5-common-2.5.13-1.
  Changes from common-2.5.12-1.

    Upgrade to kernel 2.5.13.
   
kbuild-2.5-i386-2.5.13-1.
  Changes from i386-2.5.12-1.

    Upgrade to kernel 2.5.13.

    Correct CC/CC_real in arch/$(ARCH)/Makefile.defs.*config.


You should be able to use kbuild-2.5-sparc64-2.5.12-1 with this
release.  ia64 is probably out of date by now and is not recommended
for use with 2.5.13.  I will do the kbuild 2.5 update for ia64 after we
get a new ia64 kernel patch.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.4 (GNU/Linux)
Comment: Exmh version 2.1.1 10/15/1999

iD8DBQE80pxci4UHNye0ZOoRAvYBAJ9eaE5JxM3vH3pmzI8ho6q3VsrRlACbBspY
u7SNlyBjmhgTD4YnSxw+Jas=
=Ek9t
-----END PGP SIGNATURE-----


^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2002-04-24  7:55 Huo Zhigang
  2002-04-24  7:51 ` your mail Zwane Mwaikambo
  2002-04-24  8:27 ` Alan Cox
  0 siblings, 2 replies; 348+ messages in thread
From: Huo Zhigang @ 2002-04-24  7:55 UTC (permalink / raw)
  To: linux-kernel

  Hi, all.
  My cluster go wrong these days. So many times when I "/sbin/reboot" a node, the following message will be displayed on the console.

>INIT: Switching to runlevel: 6
>INIT: Send processes the TERM signal
>Unable to handle kernel NULL pointer dereference
  
  What's wrong with my machines?  They are all running linux-2.2.18(SMP-supported) with a kernel module which is a driver of Myricom NIC M3S-PCI64C-2 written by my group.
  Thank you in advance 8-)
  
            Zhigang Huo
            zghuo@ncic.ac.cn


^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2002-04-21 21:16 Ivan G.
  2002-04-21 23:02 ` your mail Jeff Garzik
  0 siblings, 1 reply; 348+ messages in thread
From: Ivan G. @ 2002-04-21 21:16 UTC (permalink / raw)
  To: Urban Widmark; +Cc: LKML

Urban,

About the suggestion to make via_rhine_error handle more interrupts,

enum intr_status_bits {
        IntrRxDone=0x0001, IntrRxErr=0x0004, IntrRxEmpty=0x0020,
        IntrTxDone=0x0002, IntrTxAbort=0x0008, IntrTxUnderrun=0x0010,
        IntrPCIErr=0x0040,
        IntrStatsMax=0x0080, IntrRxEarly=0x0100, IntrMIIChange=0x0200,
        IntrRxOverflow=0x0400, IntrRxDropped=0x0800, IntrRxNoBuf=0x1000,
        IntrTxAborted=0x2000, IntrLinkChange=0x4000,
        IntrRxWakeUp=0x8000,
        IntrNormalSummary=0x0003, IntrAbnormalSummary=0xC260,
};

RxEarly, RxOverflow, RxNoBuf are not handled
(which brings up another question - how should they be handled 
and where?? It doesn't seem to me that those should end up in error,
sending CmdTxDemand. )

RxErr, RxWakeUp, RxDropped, RxEmpty call via_rhine_rx
TxAbort, TxUnderrun,PCIErr, StatsMax, MIIChange call via_rhine_error
TxAborted calls via_rgine_tx
The others don't look like errors.


Martin Eriksson,
The reason my message said PCI Error and not unhandled
is because it specifies a specific interrupt - IntrPCIErr.
(basically the onle one that's left unhandled that can call via_rhine_error)




^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2002-03-13 19:21 Romain Liévin
  2002-03-13 19:43 ` your mail Alan Cox
  2002-03-14  7:08 ` Zwane Mwaikambo
  0 siblings, 2 replies; 348+ messages in thread
From: Romain Liévin @ 2002-03-13 19:21 UTC (permalink / raw)
  To: Kernel List; +Cc: Linus Torvalds, Alan Cox, Tim Waugh

This is a new driver which uses parport for handling a parallel link cable 
designed to connect a Texas Instruments graphing calculators to a 
computer/workstation.
It has been tested on x86 for almost 2 years and on Alpha & Sparc too with 
various calculators.

BTW, a such driver was requested on SlashDot in 1999.
I also have 2 similar drivers I will submit: one for the serial cable, the 
other for the USB cable.

==============================[ cut here ]==============================
--- linux.orig/MAINTAINERS      Wed Mar 13 18:30:35 2002
+++ linux/MAINTAINERS   Wed Mar 13 19:07:55 2002
@@ -1502,6 +1502,13 @@
 M:     hch@infradead.org
 S:     Maintained
 
+TI PARALLEL LINK CABLE DRIVER
+P:     Romain Lievin
+M:     roms@lpg.ticalc.org
+P:     Julien Blache
+M:     jb@technologeek.org
+S:     Maintained
+
 TLAN NETWORK DRIVER
 P:     Torben Mathiasen
 M:     torben.mathiasen@compaq.com
--- linux.orig/drivers/char/tipar.c     Wed Mar 13 19:19:10 2002
+++ linux/drivers/char/tipar.c  Wed Mar 13 20:12:37 2002
@@ -0,0 +1,541 @@
+/* Hey EMACS -*- linux-c -*-
+ *
+ * tipar - low level driver for handling a parallel link cable
+ * designed for Texas Instruments graphing calculators.
+ *
+ * Copyright (C) 2000-2002, Romain Lievin <roms@lpg.ticalc.org>
+ * under the terms of the GNU General Public License.
+ */
+
+#define VERSION "1.11"
+
+/* This driver should, in theory, work with any parallel port that has an
+ * appropriate low-level driver; all I/O is done through the parport
+ * abstraction layer.
+ *
+ * If this driver is built into the kernel, you can configure it using the
+ * kernel command-line.  For example:
+ *
+ *      tipar=timeout,delay       (set timeout and delay)
+ *
+ * If the driver is loaded as a module, similar functionality is available
+ * using module parameters.  The equivalent of the above commands would be:
+ *
+ *      # insmod tipar.o tipar=15,10
+ */
+
+/* COMPATIBILITY WITH OLD KERNELS
+ *
+ * Usually, parallel cables were bound to ports at
+ * particular I/O addresses, as follows:
+ *
+ *      tipar0             0x378
+ *      tipar1             0x278
+ *      tipar2             0x3bc
+ *
+ *
+ * This driver, by default, binds tipar devices according to parport and
+ * the minor number.
+ *
+ */
+
+#include <linux/kernel.h>
+#include <linux/module.h>
+#include <linux/delay.h>
+#include <linux/config.h>
+#include <linux/version.h>
+#include <linux/init.h>
+#include <asm/uaccess.h>
+#include <linux/ioport.h>
+#include <linux/errno.h>
+#include <linux/sched.h>
+#include <linux/fs.h>
+#include <asm/io.h>
+#include <linux/poll.h>
+#include <linux/devfs_fs_kernel.h>
+#include <linux/parport.h> /* Our code depend on parport */
+
+/*
+ * TI definitions
+ */
+#include <linux/ticable.h>
+
+/*
+ * Deal with CONFIG_MODVERSIONS
+ */
+#if 0 /* Pb with MODVERSIONS */
+#if CONFIG_MODVERSIONS==1
+#define MODVERSIONS
+#include <linux/modversions.h>
+#endif
+#endif
+
+/* ----- global variables --------------------------------------------- */
+
+struct tipar_struct {
+       struct pardevice *dev;                  /* Parport device entry */
+};
+
+#define PP_NO 3
+struct tipar_struct  table[PP_NO];
+
+static int delay   = IO_DELAY;      /* inter-bit delay in microseconds */
+static int timeout = TIMAXTIME;     /* timeout in tenth of seconds     */
+
+static devfs_handle_t devfs_handle = NULL;
+static unsigned int tp_count = 0;   /* tipar_count */
+
+/* --- macros for parport access -------------------------------------- */
+
+#define r_dtr(x)        (parport_read_data(table[(x)].dev->port))
+#define r_str(x)        (parport_read_status(table[(x)].dev->port))
+#define w_ctr(x,y)      (parport_write_control(table[(x)].dev->port, (y)))
+#define w_dtr(x,y)      (parport_write_data(table[(x)].dev->port, (y)))
+
+/* --- setting states on the D-bus with the right timing: ------------- */
+
+static inline void outbyte(int value, int minor)
+{
+       w_dtr(minor, value);
+}
+
+static inline int inbyte(int minor)
+{
+       return (r_str(minor) & 0x30);
+}
+
+static inline void init_ti_parallel(int minor)
+{
+       outbyte(3, minor);
+}
+
+/* ----- global defines ----------------------------------------------- */
+
+#define START(x) { max=jiffies+HZ/(timeout/10); }
+#define WAIT(x) { if(!time_before(jiffies, (x))) return -1; schedule(); }
+
+/* ----- D-bus bit-banging functions ---------------------------------- */
+
+/* D-bus protocol:
+                    1                 0                      0
+       _______        ______|______    __________|________    __________
+Red  :        ________      |      ____          |        ____
+       _        ____________|________      ______|__________       _____
+White:  ________            |        ______      |          _______
+*/
+
+/* Try to transmit a byte on the specified port (-1 if error). */
+static int put_ti_parallel(int minor, unsigned char data)
+{
+       int bit, i;
+       unsigned long max;
+  
+       for (bit=0; bit<8; bit++) {
+               if (data & 1) {
+                       outbyte(2, minor);
+                       START(max); 
+                       do {
+                               WAIT(max);
+                       } while (inbyte(minor) & 0x10);
+                       
+                       outbyte(3, minor);
+                       START(max);
+                       do {
+                               WAIT(max);
+                       } while (!(inbyte(minor) & 0x10));
+               } else {
+                       outbyte(1, minor);
+                       START(max);
+                       do {
+                               WAIT(max);
+                       } while (inbyte(minor) & 0x20);
+                       
+                       outbyte(3, minor);
+                       START(max);
+                       do {
+                               WAIT(max);
+                       } while (!(inbyte(minor) & 0x20));
+               }
+               data >>= 1;
+               for(i=0; i < delay; i++) {
+                       inbyte(minor);
+               }
+               schedule();
+       }
+       
+       return 0;
+}
+
+/* Receive a byte on the specified port or -1 if error. */
+static int get_ti_parallel(int minor)
+{
+       int bit,i;
+       unsigned char v, data=0;
+       unsigned long max;
+
+       for (bit=0; bit<8; bit++) {
+               START(max); 
+               do {
+                       WAIT(max);
+               } while ((v=inbyte(minor) & 0x30) == 0x30);
+      
+               if (v == 0x10) { 
+                       data=(data>>1) | 0x80;
+                       outbyte(1, minor);
+                       START(max);
+                       do {
+                               WAIT(max);
+                       } while (!(inbyte(minor) & 0x20));
+                       outbyte(3, minor);
+               } else {
+                       data=data>>1;
+                       outbyte(2, minor);
+                       START(max);
+                       do {
+                               WAIT(max);
+                       } while (!(inbyte(minor) & 0x10));
+                       outbyte(3, minor);
+               }
+               for(i=0; i<delay; i++) {
+                       inbyte(minor);
+               }
+               schedule();
+       }
+       return (int)data;
+}
+
+/* Return non zero if both lines are at logical one */
+static int check_ti_parallel(int minor)
+{
+       return ((inbyte(minor) & 0x30) == 0x30);
+}
+
+/* Try to detect a parallel link cable on the specified port */
+static int probe_ti_parallel(int minor)
+{
+       int i, j;
+       int seq[]={ 0x00, 0x20, 0x10, 0x30 };
+       unsigned char data = 0;
+       
+       for(i=3; i>=0; i--) {
+               outbyte(3, minor);
+               outbyte(i, minor);
+               for(j=0; j<delay; j++) data = inbyte(minor);
+               /*printk("Probing -> %i: 0x%02x 0x%02x\n", i, data & 0x30,
seq[i]);*/
+               if( (data & 0x30) != seq[i]) {
+                       outbyte(3, minor);
+                       return -1;
+               }
+       } 
+       outbyte(3, minor);
+       return 0;
+}
+
+/* ----- kernel module functions--------------------------------------- */
+
+static int tipar_open(struct inode *inode, struct file *file)
+{
+       unsigned int minor = minor(inode->i_rdev) - TIPAR_MINOR_0;
+
+       if (minor >= PP_NO)
+               return -ENXIO;  
+       
+       init_ti_parallel(minor);
+
+       MOD_INC_USE_COUNT;
+       
+       return 0;
+}
+
+static int tipar_close(struct inode *inode, struct file *file)
+{
+       MOD_DEC_USE_COUNT;
+       
+       return 0;
+}
+
+static ssize_t tipar_write(struct file *file,
+                          const char *buf, size_t count, loff_t *ppos)
+{
+       unsigned int minor = minor(file->f_dentry->d_inode->i_rdev) - 
+               TIPAR_MINOR_0;
+       ssize_t n;
+  
+       if (minor >= PP_NO)
+               return -ENXIO;
+
+       if (table[minor].dev == NULL) 
+               return -ENXIO;
+
+       parport_claim_or_block (table[minor].dev);
+       
+       for(n=0; n<count; n++) {
+               unsigned char b;
+               
+               if(get_user(b, buf + n)) {
+                       n = -EFAULT;
+                       goto out;
+               }
+
+               if(put_ti_parallel(minor, b) == -1) {
+                       init_ti_parallel(minor);
+                       n = -ETIMEDOUT;
+                       goto out;
+               }
+       }
+
+ out:
+       parport_release (table[minor].dev);
+       return n;
+}
+
+static ssize_t tipar_read(struct file *file, char *buf, 
+                         size_t count, loff_t *ppos)
+{
+       int b=0;
+       unsigned int minor=minor(file->f_dentry->d_inode->i_rdev) - 
+               TIPAR_MINOR_0;
+       ssize_t retval = 0;
+
+       if(count == 0)
+               return 0;
+
+       if(ppos != &file->f_pos)
+               return -ESPIPE;
+
+       parport_claim_or_block(table[minor].dev);
+  
+       do {
+               b = get_ti_parallel(minor);
+               if(b == -1) {
+                       init_ti_parallel(minor);
+                       retval = -ETIMEDOUT;
+                       goto out;
+               }
+               else
+                       break;
+      
+               /* Non-blocking mode: try again ! */
+               if (file->f_flags & O_NONBLOCK) {
+                       retval = -EAGAIN;
+                       goto out;
+               }
+               
+               /* Signal pending, try again ! */
+               if (signal_pending(current)) {
+                       retval = -ERESTARTSYS;
+                       goto out;
+               }
+
+               schedule();
+       } while (1);
+
+       retval = put_user(b, (unsigned char *)buf);
+       if(!retval)
+               retval = 1;
+       else
+               retval = -EFAULT;
+
+ out:
+       parport_release(table[minor].dev);
+       return retval;
+}
+
+static unsigned int tipar_poll(struct file *file, poll_table * wait)
+{
+       unsigned int mask=0;
+       return mask;
+}
+
+static int tipar_ioctl(struct inode *inode, struct file *file,
+                      unsigned int cmd, unsigned long arg)
+{
+       unsigned int minor = minor(inode->i_rdev) - TIPAR_MINOR_0;
+       int retval = 0;
+
+       if (minor >= PP_NO) 
+               return -ENODEV;
+
+       switch (cmd) {
+       case 0:
+               break;
+       case TIPAR_DELAY:
+               delay = arg;
+               return 0;
+       case TIPAR_TIMEOUT:
+               timeout = arg;
+               return 0;
+       case O_NONBLOCK:
+               file->f_flags |= O_NONBLOCK;
+               return 0;
+       default:
+               retval = -EINVAL;
+               break;
+       }
+
+       return retval;
+}
+
+static long long tipar_lseek(struct file * file, long long offset, int origin)
+{
+       return -ESPIPE;
+}
+
+
+/* ----- kernel module registering ------------------------------------ */
+
+static struct file_operations tipar_fops = {
+       owner:   THIS_MODULE,
+       llseek:  tipar_lseek,
+       read:    tipar_read,
+       write:   tipar_write,
+       poll:    tipar_poll,
+       ioctl:   tipar_ioctl,
+       open:    tipar_open,
+       release: tipar_close,
+};
+
+/* --- initialisation code ------------------------------------- */
+
+#ifndef MODULE
+/*      You must set these - there is no sane way to probe for this cable.
+ *      You can use tipar=timeout,delay to set these now. */
+static int __init tipar_setup (char *str)
+{
+       int ints[2];
+
+        str = get_options (str, ARRAY_SIZE(ints), ints);
+
+        if (ints[0] > 0) {
+                timeout = ints[1];
+                if(ints[0] > 1) {
+                        delay = ints[2];
+               }
+        }
+        return 1;
+}
+#endif
+
+/*
+ * Register our module into parport.
+ * Pass also 2 callbacks functions to parport: a pre-emptive function and an
+ * interrupt handler function (unused).
+ * Display a message such "tipar0: using parport0 (polling)".
+ */
+static int tipar_register(int nr, struct parport *port)
+{
+       char name[8];
+       
+       /* Register our module into parport */
+       table[nr].dev = parport_register_device(port, "tipar",
+                                               NULL, NULL, NULL, 0,
+                                               (void *) &table[nr]);
+       
+       if (table[nr].dev == NULL)
+               return 1;
+ 
+       /* Use devfs, tree: /dev/ticables/par/[0..2] */
+       sprintf(name, "%d", nr);
+       devfs_register(devfs_handle, name,
+                       DEVFS_FL_AUTO_DEVNUM, TIPAR_MAJOR, nr,
+                       S_IFCHR | S_IRUGO | S_IWUGO,
+                       &tipar_fops, NULL);
+
+       /* Display informations */
+       printk(KERN_INFO "tipar%d: using %s (%s).\n", nr, port->name,
+              (port->irq == PARPORT_IRQ_NONE) ? "polling" :
"interrupt-driven");
+
+       if(probe_ti_parallel(nr) != -1)
+               printk("tipar%d: link cable found !\n", nr);
+       else
+               printk("tipar%d: link cable not found (do not plug cable to
calc).\n", nr);
+
+       return 0;
+}
+
+static void tipar_attach (struct parport *port)
+{
+       if (tp_count == PP_NO) {
+               printk("tipar: ignoring parallel port (max. %d)\n", 
+                      PP_NO);
+               return;
+       }
+       if (!tipar_register(tp_count, port))
+               tp_count++;
+}
+
+static void tipar_detach (struct parport *port)
+{
+       /* Will be written at some point in the future */
+}
+
+static struct parport_driver tipar_driver = {
+       "tipar",
+       tipar_attach,
+       tipar_detach,
+       NULL
+};
+
+int tipar_init(void)
+{
+       unsigned int i;
+       
+       /* Initialize structure */
+       for (i = 0; i < PP_NO; i++) {
+               table[i].dev = NULL;
+       }
+
+       /* Register parport device */  
+       if (devfs_register_chrdev (TIPAR_MAJOR, "tipar", &tipar_fops)) {
+               printk("tipar: unable to get major %d\n", TIPAR_MAJOR);
+               return -EIO;
+       }
+
+       /* Use devfs with tree: /dev/ticables/par/[0..2] */
+       devfs_handle = devfs_mk_dir (NULL, "ticables/par", NULL);
+
+       if (parport_register_driver (&tipar_driver)) {
+               printk ("tipar: unable to register with parport\n");
+               return -EIO;
+       }
+
+       return 0;
+}  
+
+int __init tipar_init_module(void)
+{
+       printk("tipar: parallel link cable driver, version %s\n", VERSION);
+       return tipar_init();
+}
+
+void __exit tipar_cleanup_module(void)
+{
+       unsigned int offset;
+
+       /* Unregistering module */
+       parport_unregister_driver (&tipar_driver);
+
+       devfs_unregister (devfs_handle);
+       devfs_unregister_chrdev(TIPAR_MAJOR, "tipar");  
+
+       for (offset = 0; offset < PP_NO; offset++) {
+               if (table[offset].dev == NULL)
+                       continue;
+               parport_unregister_device(table[offset].dev);
+       }
+}
+
+__setup("tipar=", tipar_setup);
+module_init(tipar_init_module);
+module_exit(tipar_cleanup_module);
+
+MODULE_AUTHOR("Author/Maintainer: Romain Lievin <roms@lpg.ticalc.org>");
+MODULE_DESCRIPTION("Device driver for TI/PC parallel link cables");
+MODULE_LICENSE("GPL");
+
+EXPORT_NO_SYMBOLS;
+
+MODULE_PARM(timeout, "i");
+MODULE_PARM_DESC(timeout, "Timeout, default=1.5 seconds");
+MODULE_PARM(delay, "i");
+MODULE_PARM_DESC(delay, "Inter-bit delay, default=10 microseconds");
--- linux.orig/include/linux/ticable.h  Wed Mar 13 19:42:30 2002
+++ linux/include/linux/ticable.h       Wed Mar 13 19:09:57 2002
@@ -0,0 +1,41 @@
+/* Hey EMACS -*- linux-c -*-
+ *
+ * tipar/tiser/tiglusb - low level driver for handling link cables
+ * designed for Texas Instruments graphing calculators.
+ *
+ * Copyright (C) 2000-2002, Romain Lievin <roms@lpg.ticalc.org>
+ * under the terms of the GNU General Public License.
+ */
+
+#ifndef TICABLE_H 
+#define TICABLE_H 1
+
+/* Internal default constants for the kernel module */
+#define TIMAXTIME 10      /* 1 seconds                         */
+#define IO_DELAY  10      /* 10 micro-seconds  */
+
+/* Major & minor number for character devices */
+#define TIPAR_MAJOR   61
+#define TIPAR_MINOR_0  1
+#define TIPAR_MINOR_1  2
+#define TIPAR_MINOR_2  3
+
+#define TISER_MAJOR   62
+#define TISER_MINOR_0  1
+#define TISER_MINOR_1  2
+#define TISER_MINOR_2  3
+#define TISER_MINOR_3  4
+
+/*
+ * Request values for the 'ioctl' function.
+ * Simply pass the appropriate value as arg of the ioctl call.
+ * These values do not conflict with other ones but they have to be
+ * allocated... (/usr/src/linux/Documentation/ioctl-number.txt).
+ */
+#define TIPAR_DELAY     _IOW('p', 0xa8, int) /* set delay   */
+#define TIPAR_TIMEOUT   _IOW('p', 0xa9, int) /* set timeout */
+
+#define TISER_DELAY     _IOW('p', 0xa0, int) /* set delay   */
+#define TISER_TIMEOUT   _IOW('p', 0xa1, int) /* set timeout */
+
+#endif /* TICABLE_H */
--- linux.orig/drivers/char/Config.help Fri Mar  8 03:18:28 2002
+++ linux/drivers/char/Config.help      Wed Mar 13 19:08:42 2002
@@ -595,6 +595,27 @@
 
   If unsure, say N.
 
+CONFIG_TI_PAR
+  If you own a Texas Instruments graphing calculator and use a
+  parallel link cable, then you might be interested in this driver.
+
+  If you enable this driver, you will be able to communicate with
+  your calculator through a set of device nodes under /dev. The
+  main advantage of this driver is that you don't have to be root
+  to use this precise link cable (depending on the permissions on
+  the device nodes, though).
+
+  This code is also available as a module ( = code which can be
+  inserted in and removed from the running kernel whenever you want).
+  The module will be called tipar.o. If you want to compile it as a
+  module, say M here and read Documentation/modules.txt.
+
+  If you don't know what a parallel link cable is or what a Texas
+  Instruments graphing calculator is, then you probably don't need this
+  driver.
+
+  If unsure, say N.
+
 CONFIG_BUSMOUSE
   Say Y here if your machine has a bus mouse as opposed to a serial
   mouse. Most people have a regular serial MouseSystem or
--- linux.orig/drivers/char/Config.in   Fri Mar  8 03:18:17 2002
+++ linux/drivers/char/Config.in        Wed Mar 13 19:09:13 2002
@@ -103,6 +103,7 @@
       bool '  Support for console on line printer' CONFIG_LP_CONSOLE
    fi
    dep_tristate 'Support for user-space parallel port device drivers'
CONFIG_PPDEV $CONFIG_PARPORT
+   dep_tristate 'Texas Instruments parallel link cable support' CONFIG_TI_PAR
$CONFIG_PARPORT
 fi
 
 source drivers/i2c/Config.in
--- linux.orig/drivers/char/Makefile    Fri Mar  8 03:18:27 2002
+++ linux/drivers/char/Makefile Wed Mar 13 19:09:28 2002
@@ -16,7 +16,7 @@
 
 O_TARGET := char.o
 
-obj-y   += mem.o tty_io.o n_tty.o tty_ioctl.o raw.o pty.o misc.o random.o
+obj-y   += mem.o tty_io.o n_tty.o tty_ioctl.o raw.o pty.o misc.o random.o
tipar.o
 
 # All of the (potential) objects that export symbols.
 # This list comes from 'grep -l EXPORT_SYMBOL *.[hc]'.

Romain.

---
Romain Liévin (aka roms)
http://lpg.ticalc.org/prj_tilp, prj_usb, prj_tidev, prj_gtktiemu
mail: roms@lpg.ticalc.org

^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2002-02-28 13:58 shura
  2002-03-01 15:30 ` your mail Jan-Marek Glogowski
  0 siblings, 1 reply; 348+ messages in thread
From: shura @ 2002-02-28 13:58 UTC (permalink / raw)
  To: linux-kernel

I'm setting up a new machine with a pair of IDE drives connected to
HPT 370 controller. I defined a RAID-1 array using the HPT370 bios
setting utility.
Description - hard:
motherboard Abit ST6-RAID, HPT370, 2 identical hard disks as
primary/secondary master on ide3/ide4
- bios:
Primary Master:   Mirror (Raid 1) for Array #0 UDMA 5 78150 BOOT
Primary Slave:    No drive
Secondary Master: Mirror (Raid 1) for Array #0 UDMA 5 78150 HIDDEEN
Secondary Slave:  No drive
- os:
Linux RedHat 7.1 & kernel 2.4.17
with compilation option
CONFIG_BLK_DEV_ATARAID_HPT=y
Lilo:
...
root=/dev/hde10
...

During system booting i see following
...
ataraid/d0: ataraid/d0p1 ataraid/d0p2 ataraid/d0p3 ataraid/d0p4 <>
Highpoint HPT370 Softwareraid driver for linux version 0.01
Drive 0 is 76319 Mb
Drive 6 is 76319 Mb
Raid array consists of 2 drivers
...
Kernel panic: VFS: Unable to mount root fs on 21:0a
...

And system stop

Booting with option root=/dev/atarad/d0p1 ro
(or root=/dev/ataraid/d0p10 ro)
and etc - no effect

Any hints?


^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2002-02-25  1:41 Rusty Russell
  2002-02-25  1:58 ` your mail Alexander Viro
  2002-02-25 13:16 ` Alan Cox
  0 siblings, 2 replies; 348+ messages in thread
From: Rusty Russell @ 2002-02-25  1:41 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: mingo, Matthew Kirkwood, Benjamin LaHaise, David Axmark,
	William Lee Irwin III, linux-kernel

Subject: Re: [PATCH] Lightweight userspace semaphores... 
In-reply-to: Your message of "Sun, 24 Feb 2002 17:23:59 -0800."
             <Pine.LNX.4.33.0202241719330.1420-100000@home.transmeta.com> 

In message <Pine.LNX.4.33.0202241719330.1420-100000@home.transmeta.com> you wri
te:
> 
> 
> On Mon, 25 Feb 2002, Rusty Russell wrote:
> >
> > Bugger.  How about:
> >
> > 	sys_sem_area(void *pagestart, size_t len)
> > 	sys_unsem_area(void *pagestart, size_t len)
> >
> > Is that sufficient?  Is sys_unsem_area required at all?
> 
> The above is sufficient, but I would personally actually prefer an
> interface more like
> 
> 	fd = sem_initialize();
> 	mmap(fd, ...)
> 	..
> 	munmap(..)
> 
> which gives you a handle for the semaphore.

No no no!  Implemented exactly that (and posted to l-k IIRC), and it's
*horrible* to use.

> Note that getting a file descriptor is really quite useful - it means that
> you can pass the file descriptor around through unix domain sockets, for
> example, and allow sharing of the semaphore across unrelated processes
> that way.

First, fd passing sucks: you can't leave an fd somewhere and wait for
someone to pick it up, and they vanish when you exit.  Secondly, you
have some arbitrary limit on the number of semaphores.  Thirdly,
someone has to own them.

Consider tdb, the Trivial Database.  There is no "master locking
daemon".  There is no way for the first opener (who then has to create
the semaphores in your model) to pass them to other openers: this is a
library.

With this interface, I can use them on the stack with clone().

Most importantly, I can place the semaphores in a file and have them
persistant.

lock(1), unlock(1) => fast semaphores in shell scripts!
Rusty.
--
  Anyone who quotes me in their sig is an idiot. -- Rusty Russell.

^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2002-01-30 18:21 Nickolaos Fotopoulos
  2002-01-30 18:57 ` your mail Matti Aarnio
  2002-01-31  1:50 ` Drew P. Vogel
  0 siblings, 2 replies; 348+ messages in thread
From: Nickolaos Fotopoulos @ 2002-01-30 18:21 UTC (permalink / raw)
  To: Linux kernel list (E-mail)

I'm new to this list.  Does it get spammed often, like this guy
(grumph@pakistanmail.com) is doing?  It is allready becoming quite anouying!
This is by far the busiest list I have ever subscribed to, and there does
not seem to be any sort of spam blocker working here.  I thought Majodomo
had stuff like this built in?  If not maybe a list moderator could address
this.
				Nick Fotopoulos

^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2002-01-09 17:49 Michael Zhu
  2002-01-09 18:17 ` your mail Jens Axboe
  0 siblings, 1 reply; 348+ messages in thread
From: Michael Zhu @ 2002-01-09 17:49 UTC (permalink / raw)
  To: root; +Cc: linux-kernel

> 
> This may be a troll. How would you boot? Who
decrypts during the
> boot?
> 

You mean that the loop device couldn't en/decrypt the
whole data on the disk? That mean the loop device
could implement the block level en/decryption.

Michael

______________________________________________________________________ 
Web-hosting solutions for home and business! http://website.yahoo.ca

^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2001-12-17 16:07 Sebastian Dröge
  2001-12-17 16:22 ` your mail Dave Jones
  2001-12-17 16:52 ` Sebastian Dröge
  0 siblings, 2 replies; 348+ messages in thread
From: Sebastian Dröge @ 2001-12-17 16:07 UTC (permalink / raw)
  To: davej; +Cc: linux-kernel


[-- Attachment #1.1: Type: text/plain, Size: 697 bytes --]

Hi,
Here's a more or less critical problem with 2.5.1-dj1 :(
This is a Pentium II 350 with 256 MB RAM and Intel BX chipset
It can't find any ISA-PnP cards (I only have an old SB16 ISA-PnP ;) ) in my pc

> Limiting direct PCI/PCI transfers.
> isapnp: Scanning for PnP cards...
> isapnp: No Plug & Play device found

And it has big problems with usb.
Only the root hub is detected but nothing else...

> hub.c: Cannot enable port 1 of hub 1, disabling port.
> hub.c: Maybe the USB cable is bad?
The cable is okay...
2.5.1 works perfectly... but only without dj1 :(

Attached you find my .config, lspci -vvv and dmesg output

I'll test 2.4.17-rc1 in a few minutes and will report what happens ;)

Bye

[-- Attachment #1.2: dmesg.out --]
[-- Type: application/octet-stream, Size: 6472 bytes --]

Linux version 2.5.1-dj1 (root@slomosnail) (gcc version 2.95.3 20010315 (release)) #1 Mon Dez 17 15:56:04 CET 2001
BIOS-provided physical RAM map:
 BIOS-e820: 0000000000000000 - 00000000000a0000 (usable)
 BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
 BIOS-e820: 0000000000100000 - 0000000010000000 (usable)
 BIOS-e820: 00000000ffff0000 - 0000000100000000 (reserved)
CPU: Before vendor init, caps: 0183f9ff 00000000 00000000, vendor = 0
CPU: L1 I cache: 16K, L1 D cache: 16K
CPU: L2 cache: 512K
CPU: After vendor init, caps: 0183f9ff 00000000 00000000 00000000
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#0.
CPU:     After generic, caps: 0183f9ff 00000000 00000000 00000000
CPU:             Common caps: 0183f9ff 00000000 00000000 00000000
On node 0 totalpages: 65536
zone(0): 4096 pages.
zone(1): 61440 pages.
zone(2): 0 pages.
Local APIC disabled by BIOS -- reenabling.
Found and enabled local APIC!
Kernel command line: BOOT_IMAGE=linux-devel ro root=341 hdc=scsi hdd=scsi
ide_setup: hdc=scsi
ide_setup: hdd=scsi
Initializing CPU#0
Detected 350.803 MHz processor.
Console: colour VGA+ 80x25
Calibrating delay loop... 699.59 BogoMIPS
Memory: 255468k/262144k available (1378k kernel code, 6292k reserved, 346k data, 220k init, 0k highmem)
Dentry-cache hash table entries: 32768 (order: 6, 262144 bytes)
Inode-cache hash table entries: 16384 (order: 5, 131072 bytes)
Mount-cache hash table entries: 4096 (order: 3, 32768 bytes)
Buffer-cache hash table entries: 16384 (order: 4, 65536 bytes)
Page-cache hash table entries: 65536 (order: 6, 262144 bytes)
CPU: Intel Pentium II (Deschutes) stepping 02
Enabling fast FPU save and restore... done.
Checking 'hlt' instruction... OK.
POSIX conformance testing by UNIFIX
enabled ExtINT on CPU#0
ESR value before enabling vector: 00000040
ESR value after enabling vector: 00000000
Using local APIC timer interrupts.
calibrating APIC timer ...
..... CPU clock speed is 350.7948 MHz.
..... host bus clock speed is 100.2270 MHz.
cpu: 0, clocks: 1002270, slice: 501135
CPU0<T0:1002256,T1:501120,D:1,S:501135,C:1002270>
mtrr: v1.40 (20010327) Richard Gooch (rgooch@atnf.csiro.au)
mtrr: detected mtrr type: Intel
PCI: Using configuration type 1
PCI: Probing PCI hardware
PCI: Using IRQ router PIIX [8086/7110] at 00:07.0
Limiting direct PCI/PCI transfers.
isapnp: Scanning for PnP cards...
isapnp: No Plug & Play device found
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
apm: BIOS version 1.2 Flags 0x07 (Driver version 1.15)
Starting kswapd
BIO: pool of 256 setup, 14Kb (56 bytes/bio)
biovec: init pool 0, 1 entries, 12 bytes
biovec: init pool 1, 4 entries, 48 bytes
biovec: init pool 2, 16 entries, 192 bytes
biovec: init pool 3, 64 entries, 768 bytes
biovec: init pool 4, 128 entries, 1536 bytes
biovec: init pool 5, 256 entries, 3072 bytes
pty: 256 Unix98 ptys configured
Real Time Clock Driver v1.10e
block: 256 slots per queue, batch=32
Uniform Multi-Platform E-IDE driver Revision: 6.32
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
PIIX4: IDE controller on PCI slot 00:07.1
PIIX4: chipset revision 1
PIIX4: not 100% native mode: will probe irqs later
    ide0: BM-DMA at 0xf000-0xf007, BIOS settings: hda:DMA, hdb:DMA
    ide1: BM-DMA at 0xf008-0xf00f, BIOS settings: hdc:DMA, hdd:DMA
keyboard: Timeout - AT keyboard not present?(ed)
keyboard: Timeout - AT keyboard not present?(f4)
hda: IBM-DTTA-351010, ATA DISK drive
hdb: WDC WD800BB-00BSA0, ATA DISK drive
hdc: CD-W512EB, ATAPI CD/DVD-ROM drive
hdd: CD-532E-B, ATAPI CD/DVD-ROM drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15
blk: queue c03140c4, I/O limit 4095Mb (mask 0xffffffff)
hda: 19807200 sectors (10141 MB) w/466KiB Cache, CHS=1232/255/63, UDMA(33)
blk: queue c0314224, I/O limit 4095Mb (mask 0xffffffff)
hdb: 156301488 sectors (80026 MB) w/2048KiB Cache, CHS=155061/16/63, UDMA(33)
Partition check:
 hda: hda1 hda2 hda4
 hdb: hdb1 hdb2
dmfe: Davicom DM9xxx net driver, version 1.36.3 (2001-11-06)
PCI: Found IRQ 12 for device 00:10.0
eth0: Davicom DM9102 at pci00:10.0, 00:00:ab:a1:27:8c, irq 12.
Linux agpgart interface v0.99 (c) Jeff Hartmann
agpgart: Maximum main memory to use for agp memory: 204M
agpgart: Detected Intel 440BX chipset
agpgart: AGP aperture is 64M @ 0xe8000000
SCSI subsystem driver Revision: 1.00
scsi0 : SCSI host adapter emulation for IDE ATAPI devices
  Vendor: TEAC      Model: CD-W512EB         Rev: 2.0E
  Type:   CD-ROM                             ANSI SCSI revision: 02
  Vendor: TEAC      Model: CD-532E-B         Rev: 3.0B
  Type:   CD-ROM                             ANSI SCSI revision: 02
Attached scsi CD-ROM sr0 at scsi0, channel 0, id 0, lun 0
Attached scsi CD-ROM sr1 at scsi0, channel 0, id 1, lun 0
sr0: scsi3-mmc drive: 32x/32x writer cd/rw xa/form2 cdda tray
Uniform CD-ROM driver Revision: 3.12
sr1: scsi3-mmc drive: 32x/32x cd/rw xa/form2 cdda tray
Soundblaster audio driver Copyright (C) by Hannu Savolainen 1993-1996
sb: No ISAPnP cards found, trying standard ones...
sb: I/O, IRQ, and DMA are mandatory
usb.c: registered new driver usbfs
usb.c: registered new driver hub
uhci.c: USB Universal Host Controller Interface driver v1.1
PCI: Found IRQ 10 for device 00:07.2
uhci.c: USB UHCI at I/O 0xe000, IRQ 10
usb.c: new USB bus registered, assigned bus number 1
hub.c: USB hub found
hub.c: 2 ports detected
usb.c: registered new driver hid
hid-core.c: v1.8 Andreas Gal, Vojtech Pavlik <vojtech@suse.cz>
hid-core.c: USB HID support drivers
mice: PS/2 mouse device common for all mice
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP, IGMP
IP: routing cache hash table of 2048 buckets, 16Kbytes
TCP: Hash tables configured (established 16384 bind 16384)
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
reiserfs: checking transaction log (device 03:41) ...
Using r5 hash to sort names
reiserfs: using 3.5.x disk format
ReiserFS version 3.6.25
VFS: Mounted root (reiserfs filesystem) readonly.
Freeing unused kernel memory: 220k freed
Adding Swap: 273096k swap-space (priority -1)
hub.c: Cannot enable port 1 of hub 1, disabling port.
hub.c: Maybe the USB cable is bad?
reiserfs: checking transaction log (device 03:42) ...
Using r5 hash to sort names
reiserfs: using 3.5.x disk format
ReiserFS version 3.6.25
blk: queue c03140c4, I/O limit 4095Mb (mask 0xffffffff)
blk: queue c0314224, I/O limit 4095Mb (mask 0xffffffff)

[-- Attachment #1.3: lspci.out --]
[-- Type: application/octet-stream, Size: 3864 bytes --]

00:00.0 Host bridge: Intel Corp. 440BX/ZX - 82443BX/ZX Host bridge (rev 02)
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort+ >SERR- <PERR-
	Latency: 64
	Region 0: Memory at e8000000 (32-bit, prefetchable) [size=64M]
	Capabilities: [a0] AGP version 1.0
		Status: RQ=31 SBA+ 64bit- FW- Rate=x1,x2
		Command: RQ=0 SBA- AGP+ 64bit- FW- Rate=x2

00:01.0 PCI bridge: Intel Corp. 440BX/ZX - 82443BX/ZX AGP bridge (rev 02) (prog-if 00 [Normal decode])
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
	Status: Cap- 66Mhz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 64
	Bus: primary=00, secondary=01, subordinate=01, sec-latency=64
	I/O behind bridge: 0000d000-0000dfff
	Memory behind bridge: ec000000-edffffff
	Prefetchable memory behind bridge: e0000000-e7ffffff
	BridgeCtl: Parity- SERR- NoISA- VGA+ MAbort- >Reset- FastB2B+

00:07.0 ISA bridge: Intel Corp. 82371AB PIIX4 ISA (rev 02)
	Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 0

00:07.1 IDE interface: Intel Corp. 82371AB PIIX4 IDE (rev 01) (prog-if 80 [Master])
	Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 64
	Region 4: I/O ports at f000 [size=16]

00:07.2 USB Controller: Intel Corp. 82371AB PIIX4 USB (rev 01) (prog-if 00 [UHCI])
	Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 64
	Interrupt: pin D routed to IRQ 10
	Region 4: I/O ports at e000 [size=32]

00:07.3 Bridge: Intel Corp. 82371AB PIIX4 ACPI (rev 02)
	Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Interrupt: pin ? routed to IRQ 9

00:10.0 Ethernet controller: Davicom Semiconductor, Inc. Ethernet 100/10 MBit (rev 10)
	Subsystem: Davicom Semiconductor, Inc. Ethernet 100/10 MBit
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 64 (5000ns min, 10000ns max)
	Interrupt: pin A routed to IRQ 12
	Region 0: I/O ports at e400 [size=128]
	Region 1: Memory at ef000000 (32-bit, non-prefetchable) [size=128]
	Expansion ROM at ee000000 [disabled] [size=256K]
	Capabilities: [50] Power Management version 1
		Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot+,D3cold+)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-

01:00.0 VGA compatible controller: nVidia Corporation NV11 (GeForce2 MX) (rev a1) (prog-if 00 [VGA])
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 248 (1250ns min, 250ns max)
	Interrupt: pin A routed to IRQ 11
	Region 0: Memory at ec000000 (32-bit, non-prefetchable) [size=16M]
	Region 1: Memory at e0000000 (32-bit, prefetchable) [size=128M]
	Expansion ROM at ed000000 [disabled] [size=64K]
	Capabilities: [60] Power Management version 2
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-
	Capabilities: [44] AGP version 2.0
		Status: RQ=31 SBA- 64bit- FW+ Rate=x1,x2
		Command: RQ=31 SBA- AGP+ 64bit- FW- Rate=x2


[-- Attachment #1.4: .config --]
[-- Type: application/octet-stream, Size: 21433 bytes --]

#
# Automatically generated make config: don't edit
#
CONFIG_X86=y
CONFIG_ISA=y
# CONFIG_SBUS is not set
CONFIG_UID16=y

#
# Code maturity level options
#
CONFIG_EXPERIMENTAL=y

#
# Loadable module support
#
CONFIG_MODULES=y
CONFIG_MODVERSIONS=y
CONFIG_KMOD=y

#
# Processor type and features
#
# CONFIG_M386 is not set
# CONFIG_M486 is not set
# CONFIG_M586 is not set
# CONFIG_M586TSC is not set
# CONFIG_M586MMX is not set
CONFIG_M686=y
# CONFIG_MPENTIUMIII is not set
# CONFIG_MPENTIUM4 is not set
# CONFIG_MK6 is not set
# CONFIG_MK7 is not set
# CONFIG_MCRUSOE is not set
# CONFIG_MWINCHIPC6 is not set
# CONFIG_MWINCHIP2 is not set
# CONFIG_MWINCHIP3D is not set
# CONFIG_MCYRIXIII is not set
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_INVLPG=y
CONFIG_X86_CMPXCHG=y
CONFIG_X86_XADD=y
CONFIG_X86_BSWAP=y
CONFIG_X86_POPAD_OK=y
# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_X86_L1_CACHE_SHIFT=5
CONFIG_X86_TSC=y
CONFIG_X86_GOOD_APIC=y
CONFIG_X86_PGE=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_X86_PPRO_FENCE=y
# CONFIG_TOSHIBA is not set
# CONFIG_I8K is not set
# CONFIG_MICROCODE is not set
CONFIG_X86_MSR=y
# CONFIG_X86_CPUID is not set
CONFIG_NOHIGHMEM=y
# CONFIG_HIGHMEM4G is not set
# CONFIG_HIGHMEM64G is not set
# CONFIG_MATH_EMULATION is not set
CONFIG_MTRR=y
# CONFIG_SMP is not set
CONFIG_X86_UP_APIC=y
# CONFIG_X86_UP_IOAPIC is not set
CONFIG_X86_LOCAL_APIC=y

#
# General setup
#
CONFIG_NET=y
CONFIG_PCI=y
# CONFIG_PCI_GOBIOS is not set
CONFIG_PCI_GODIRECT=y
# CONFIG_PCI_GOANY is not set
CONFIG_PCI_DIRECT=y
CONFIG_PCI_NAMES=y
# CONFIG_EISA is not set
# CONFIG_MCA is not set
# CONFIG_HOTPLUG is not set
# CONFIG_PCMCIA is not set
# CONFIG_HOTPLUG_PCI is not set
CONFIG_SYSVIPC=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_SYSCTL=y
CONFIG_KCORE_ELF=y
# CONFIG_KCORE_AOUT is not set
# CONFIG_BINFMT_AOUT is not set
CONFIG_BINFMT_ELF=y
# CONFIG_BINFMT_MISC is not set
CONFIG_PM=y
# CONFIG_ACPI is not set
CONFIG_APM=y
CONFIG_APM_IGNORE_USER_SUSPEND=y
CONFIG_APM_DO_ENABLE=y
CONFIG_APM_CPU_IDLE=y
CONFIG_APM_DISPLAY_BLANK=y
# CONFIG_APM_RTC_IS_GMT is not set
# CONFIG_APM_ALLOW_INTS is not set
CONFIG_APM_REAL_MODE_POWER_OFF=y

#
# Memory Technology Devices (MTD)
#
# CONFIG_MTD is not set

#
# Parallel port support
#
# CONFIG_PARPORT is not set

#
# Plug and Play configuration
#
CONFIG_PNP=y
CONFIG_ISAPNP=y

#
# Block devices
#
CONFIG_BLK_DEV_FD=m
# CONFIG_BLK_DEV_XD is not set
# CONFIG_PARIDE is not set
# CONFIG_BLK_CPQ_DA is not set
# CONFIG_BLK_CPQ_CISS_DA is not set
# CONFIG_BLK_DEV_DAC960 is not set
CONFIG_BLK_DEV_LOOP=m
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_RAM is not set
# CONFIG_BLK_DEV_INITRD is not set

#
# Multi-device support (RAID and LVM)
#
# CONFIG_MD is not set
# CONFIG_BLK_DEV_MD is not set
# CONFIG_MD_LINEAR is not set
# CONFIG_MD_RAID0 is not set
# CONFIG_MD_RAID1 is not set
# CONFIG_MD_RAID5 is not set
# CONFIG_MD_MULTIPATH is not set
# CONFIG_BLK_DEV_LVM is not set

#
# Networking options
#
CONFIG_PACKET=y
CONFIG_PACKET_MMAP=y
# CONFIG_NETLINK_DEV is not set
# CONFIG_NETFILTER is not set
CONFIG_FILTER=y
CONFIG_UNIX=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
# CONFIG_IP_ADVANCED_ROUTER is not set
# CONFIG_IP_PNP is not set
# CONFIG_NET_IPIP is not set
# CONFIG_NET_IPGRE is not set
# CONFIG_IP_MROUTE is not set
# CONFIG_ARPD is not set
CONFIG_INET_ECN=y
CONFIG_SYN_COOKIES=y
# CONFIG_IPV6 is not set
# CONFIG_KHTTPD is not set
# CONFIG_ATM is not set
# CONFIG_VLAN_8021Q is not set

#
#  
#
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
# CONFIG_DECNET is not set
# CONFIG_BRIDGE is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_LLC is not set
# CONFIG_NET_DIVERT is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
# CONFIG_NET_FASTROUTE is not set
# CONFIG_NET_HW_FLOWCONTROL is not set

#
# QoS and/or fair queueing
#
# CONFIG_NET_SCHED is not set

#
# Telephony Support
#
# CONFIG_PHONE is not set
# CONFIG_PHONE_IXJ is not set
# CONFIG_PHONE_IXJ_PCMCIA is not set

#
# ATA/IDE/MFM/RLL support
#
CONFIG_IDE=y

#
# IDE, ATA and ATAPI Block devices
#
CONFIG_BLK_DEV_IDE=y

#
# Please see Documentation/ide.txt for help/info on IDE drives
#
# CONFIG_BLK_DEV_HD_IDE is not set
# CONFIG_BLK_DEV_HD is not set
CONFIG_BLK_DEV_IDEDISK=y
CONFIG_IDEDISK_MULTI_MODE=y
# CONFIG_BLK_DEV_IDEDISK_VENDOR is not set
# CONFIG_BLK_DEV_IDEDISK_FUJITSU is not set
# CONFIG_BLK_DEV_IDEDISK_IBM is not set
# CONFIG_BLK_DEV_IDEDISK_MAXTOR is not set
# CONFIG_BLK_DEV_IDEDISK_QUANTUM is not set
# CONFIG_BLK_DEV_IDEDISK_SEAGATE is not set
# CONFIG_BLK_DEV_IDEDISK_WD is not set
# CONFIG_BLK_DEV_COMMERIAL is not set
# CONFIG_BLK_DEV_TIVO is not set
# CONFIG_BLK_DEV_IDECS is not set
# CONFIG_BLK_DEV_IDECD is not set
# CONFIG_BLK_DEV_IDETAPE is not set
# CONFIG_BLK_DEV_IDEFLOPPY is not set
CONFIG_BLK_DEV_IDESCSI=y

#
# IDE chipset support/bugfixes
#
# CONFIG_BLK_DEV_CMD640 is not set
# CONFIG_BLK_DEV_CMD640_ENHANCED is not set
# CONFIG_BLK_DEV_ISAPNP is not set
# CONFIG_BLK_DEV_RZ1000 is not set
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_IDEPCI_SHARE_IRQ=y
CONFIG_BLK_DEV_IDEDMA_PCI=y
CONFIG_BLK_DEV_ADMA=y
# CONFIG_BLK_DEV_OFFBOARD is not set
CONFIG_IDEDMA_PCI_AUTO=y
CONFIG_BLK_DEV_IDEDMA=y
# CONFIG_IDEDMA_PCI_WIP is not set
# CONFIG_IDEDMA_NEW_DRIVE_LISTINGS is not set
# CONFIG_BLK_DEV_AEC62XX is not set
# CONFIG_AEC62XX_TUNING is not set
# CONFIG_BLK_DEV_ALI15X3 is not set
# CONFIG_WDC_ALI15X3 is not set
# CONFIG_BLK_DEV_AMD74XX is not set
# CONFIG_AMD74XX_OVERRIDE is not set
# CONFIG_BLK_DEV_CMD64X is not set
# CONFIG_BLK_DEV_CY82C693 is not set
# CONFIG_BLK_DEV_CS5530 is not set
# CONFIG_BLK_DEV_HPT34X is not set
# CONFIG_HPT34X_AUTODMA is not set
# CONFIG_BLK_DEV_HPT366 is not set
CONFIG_BLK_DEV_PIIX=y
CONFIG_PIIX_TUNING=y
# CONFIG_BLK_DEV_NS87415 is not set
# CONFIG_BLK_DEV_OPTI621 is not set
# CONFIG_BLK_DEV_PDC202XX is not set
# CONFIG_PDC202XX_BURST is not set
# CONFIG_PDC202XX_FORCE is not set
# CONFIG_BLK_DEV_SVWKS is not set
# CONFIG_BLK_DEV_SIS5513 is not set
# CONFIG_BLK_DEV_SLC90E66 is not set
# CONFIG_BLK_DEV_TRM290 is not set
# CONFIG_BLK_DEV_VIA82CXXX is not set
# CONFIG_IDE_CHIPSETS is not set
CONFIG_IDEDMA_AUTO=y
CONFIG_IDEDMA_IVB=y
# CONFIG_DMA_NONPCI is not set
CONFIG_BLK_DEV_IDE_MODES=y
# CONFIG_BLK_DEV_ATARAID is not set
# CONFIG_BLK_DEV_ATARAID_PDC is not set
# CONFIG_BLK_DEV_ATARAID_HPT is not set

#
# SCSI support
#
CONFIG_SCSI=y

#
# SCSI support type (disk, tape, CD-ROM)
#
# CONFIG_BLK_DEV_SD is not set
# CONFIG_CHR_DEV_ST is not set
# CONFIG_CHR_DEV_OSST is not set
CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_SR_EXTRA_DEVS=2
CONFIG_CHR_DEV_SG=y

#
# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
#
# CONFIG_SCSI_MULTI_LUN is not set
# CONFIG_SCSI_CONSTANTS is not set
# CONFIG_SCSI_LOGGING is not set

#
# SCSI low-level drivers
#
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
# CONFIG_SCSI_7000FASST is not set
# CONFIG_SCSI_ACARD is not set
# CONFIG_SCSI_AHA152X is not set
# CONFIG_SCSI_AHA1542 is not set
# CONFIG_SCSI_AHA1740 is not set
# CONFIG_SCSI_AACRAID is not set
# CONFIG_SCSI_AIC7XXX is not set
# CONFIG_SCSI_AIC7XXX_OLD is not set
# CONFIG_SCSI_DPT_I2O is not set
# CONFIG_SCSI_ADVANSYS is not set
# CONFIG_SCSI_IN2000 is not set
# CONFIG_SCSI_AM53C974 is not set
# CONFIG_SCSI_MEGARAID is not set
# CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_SCSI_CPQFCTS is not set
# CONFIG_SCSI_DMX3191D is not set
# CONFIG_SCSI_DTC3280 is not set
# CONFIG_SCSI_EATA is not set
# CONFIG_SCSI_EATA_DMA is not set
# CONFIG_SCSI_EATA_PIO is not set
# CONFIG_SCSI_FUTURE_DOMAIN is not set
# CONFIG_SCSI_GDTH is not set
# CONFIG_SCSI_GENERIC_NCR5380 is not set
# CONFIG_SCSI_IPS is not set
# CONFIG_SCSI_INITIO is not set
# CONFIG_SCSI_INIA100 is not set
# CONFIG_SCSI_NCR53C406A is not set
# CONFIG_SCSI_NCR53C7xx is not set
# CONFIG_SCSI_SYM53C8XX_2 is not set
# CONFIG_SCSI_NCR53C8XX is not set
# CONFIG_SCSI_SYM53C8XX is not set
# CONFIG_SCSI_PAS16 is not set
# CONFIG_SCSI_PCI2000 is not set
# CONFIG_SCSI_PCI2220I is not set
# CONFIG_SCSI_PSI240I is not set
# CONFIG_SCSI_QLOGIC_FAS is not set
# CONFIG_SCSI_QLOGIC_ISP is not set
# CONFIG_SCSI_QLOGIC_FC is not set
# CONFIG_SCSI_QLOGIC_1280 is not set
# CONFIG_SCSI_SEAGATE is not set
# CONFIG_SCSI_SIM710 is not set
# CONFIG_SCSI_SYM53C416 is not set
# CONFIG_SCSI_DC390T is not set
# CONFIG_SCSI_T128 is not set
# CONFIG_SCSI_U14_34F is not set
# CONFIG_SCSI_ULTRASTOR is not set
# CONFIG_SCSI_DEBUG is not set

#
# Fusion MPT device support
#
# CONFIG_FUSION is not set
# CONFIG_FUSION_BOOT is not set
# CONFIG_FUSION_ISENSE is not set
# CONFIG_FUSION_CTL is not set
# CONFIG_FUSION_LAN is not set

#
# IEEE 1394 (FireWire) support (EXPERIMENTAL)
#
# CONFIG_IEEE1394 is not set

#
# I2O device support
#
# CONFIG_I2O is not set
# CONFIG_I2O_PCI is not set
# CONFIG_I2O_BLOCK is not set
# CONFIG_I2O_LAN is not set
# CONFIG_I2O_SCSI is not set
# CONFIG_I2O_PROC is not set

#
# Network device support
#
CONFIG_NETDEVICES=y

#
# ARCnet devices
#
# CONFIG_ARCNET is not set
CONFIG_DUMMY=m
# CONFIG_BONDING is not set
# CONFIG_EQUALIZER is not set
# CONFIG_TUN is not set
# CONFIG_ETHERTAP is not set
# CONFIG_NET_SB1000 is not set

#
# Ethernet (10 or 100Mbit)
#
CONFIG_NET_ETHERNET=y
# CONFIG_SUNLANCE is not set
# CONFIG_HAPPYMEAL is not set
# CONFIG_SUNBMAC is not set
# CONFIG_SUNQE is not set
# CONFIG_SUNLANCE is not set
# CONFIG_SUNGEM is not set
# CONFIG_NET_VENDOR_3COM is not set
# CONFIG_LANCE is not set
# CONFIG_NET_VENDOR_SMC is not set
# CONFIG_NET_VENDOR_RACAL is not set
# CONFIG_AT1700 is not set
# CONFIG_DEPCA is not set
# CONFIG_HP100 is not set
# CONFIG_NET_ISA is not set
CONFIG_NET_PCI=y
# CONFIG_PCNET32 is not set
# CONFIG_ADAPTEC_STARFIRE is not set
# CONFIG_AC3200 is not set
# CONFIG_APRICOT is not set
# CONFIG_CS89x0 is not set
# CONFIG_DE2104X is not set
# CONFIG_TULIP is not set
# CONFIG_DE4X5 is not set
# CONFIG_DGRS is not set
CONFIG_DM9102=y
# CONFIG_EEPRO100 is not set
# CONFIG_LNE390 is not set
# CONFIG_FEALNX is not set
# CONFIG_NATSEMI is not set
# CONFIG_NE2K_PCI is not set
# CONFIG_NE3210 is not set
# CONFIG_ES3210 is not set
# CONFIG_8139CP is not set
# CONFIG_8139TOO is not set
# CONFIG_8139TOO_PIO is not set
# CONFIG_8139TOO_TUNE_TWISTER is not set
# CONFIG_8139TOO_8129 is not set
# CONFIG_SIS900 is not set
# CONFIG_EPIC100 is not set
# CONFIG_SUNDANCE is not set
# CONFIG_TLAN is not set
# CONFIG_VIA_RHINE is not set
# CONFIG_VIA_RHINE_MMIO is not set
# CONFIG_WINBOND_840 is not set
# CONFIG_NET_POCKET is not set

#
# Ethernet (1000 Mbit)
#
# CONFIG_ACENIC is not set
# CONFIG_DL2K is not set
# CONFIG_MYRI_SBUS is not set
# CONFIG_NS83820 is not set
# CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set
# CONFIG_SK98LIN is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
# CONFIG_PLIP is not set
# CONFIG_PPP is not set
# CONFIG_SLIP is not set

#
# Wireless LAN (non-hamradio)
#
# CONFIG_NET_RADIO is not set

#
# Token Ring devices
#
# CONFIG_TR is not set
# CONFIG_NET_FC is not set
# CONFIG_RCPCI is not set
# CONFIG_SHAPER is not set

#
# Wan interfaces
#
# CONFIG_WAN is not set

#
# Amateur Radio support
#
# CONFIG_HAMRADIO is not set

#
# IrDA (infrared) support
#
# CONFIG_IRDA is not set

#
# ISDN subsystem
#
# CONFIG_ISDN is not set

#
# Old CD-ROM drivers (not SCSI, not IDE)
#
# CONFIG_CD_NO_IDESCSI is not set

#
# Input core support
#
CONFIG_INPUT=y
CONFIG_INPUT_KEYBDEV=y
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
# CONFIG_INPUT_JOYDEV is not set
# CONFIG_INPUT_EVDEV is not set

#
# Character devices
#
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
# CONFIG_SERIAL is not set
# CONFIG_SERIAL_EXTENDED is not set
# CONFIG_SERIAL_NONSTANDARD is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256

#
# I2C support
#
# CONFIG_I2C is not set

#
# Mice
#
# CONFIG_BUSMOUSE is not set
CONFIG_MOUSE=y
CONFIG_PSMOUSE=y
# CONFIG_82C710_MOUSE is not set
# CONFIG_PC110_PAD is not set

#
# Joysticks
#
# CONFIG_INPUT_GAMEPORT is not set
# CONFIG_INPUT_NS558 is not set
# CONFIG_INPUT_LIGHTNING is not set
# CONFIG_INPUT_PCIGAME is not set
# CONFIG_INPUT_CS461X is not set
# CONFIG_INPUT_EMU10K1 is not set
# CONFIG_INPUT_SERIO is not set
# CONFIG_INPUT_SERPORT is not set

#
# Joysticks
#
# CONFIG_INPUT_ANALOG is not set
# CONFIG_INPUT_A3D is not set
# CONFIG_INPUT_ADI is not set
# CONFIG_INPUT_COBRA is not set
# CONFIG_INPUT_GF2K is not set
# CONFIG_INPUT_GRIP is not set
# CONFIG_INPUT_INTERACT is not set
# CONFIG_INPUT_TMDC is not set
# CONFIG_INPUT_SIDEWINDER is not set
# CONFIG_INPUT_IFORCE_USB is not set
# CONFIG_INPUT_IFORCE_232 is not set
# CONFIG_INPUT_WARRIOR is not set
# CONFIG_INPUT_MAGELLAN is not set
# CONFIG_INPUT_SPACEORB is not set
# CONFIG_INPUT_SPACEBALL is not set
# CONFIG_INPUT_STINGER is not set
# CONFIG_INPUT_DB9 is not set
# CONFIG_INPUT_GAMECON is not set
# CONFIG_INPUT_TURBOGRAFX is not set
# CONFIG_QIC02_TAPE is not set

#
# Watchdog Cards
#
# CONFIG_WATCHDOG is not set
# CONFIG_INTEL_RNG is not set
CONFIG_NVRAM=m
CONFIG_RTC=y
# CONFIG_DTLK is not set
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set
# CONFIG_SONYPI is not set

#
# Ftape, the floppy tape device driver
#
# CONFIG_FTAPE is not set
CONFIG_AGP=y
CONFIG_AGP_INTEL=y
# CONFIG_AGP_I810 is not set
# CONFIG_AGP_VIA is not set
# CONFIG_AGP_AMD is not set
# CONFIG_AGP_SIS is not set
# CONFIG_AGP_ALI is not set
# CONFIG_AGP_SWORKS is not set
# CONFIG_DRM is not set
# CONFIG_MWAVE is not set

#
# Multimedia devices
#
# CONFIG_VIDEO_DEV is not set

#
# File systems
#
# CONFIG_QUOTA is not set
# CONFIG_AUTOFS_FS is not set
# CONFIG_AUTOFS4_FS is not set
CONFIG_REISERFS_FS=y
# CONFIG_REISERFS_CHECK is not set
# CONFIG_REISERFS_PROC_INFO is not set
# CONFIG_ADFS_FS is not set
# CONFIG_ADFS_FS_RW is not set
# CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EXT3_FS is not set
# CONFIG_JBD is not set
# CONFIG_JBD_DEBUG is not set
CONFIG_FAT_FS=m
CONFIG_MSDOS_FS=m
# CONFIG_UMSDOS_FS is not set
CONFIG_VFAT_FS=m
# CONFIG_EFS_FS is not set
# CONFIG_JFFS_FS is not set
# CONFIG_JFFS2_FS is not set
# CONFIG_CRAMFS is not set
# CONFIG_TMPFS is not set
# CONFIG_RAMFS is not set
CONFIG_ISO9660_FS=m
CONFIG_JOLIET=y
CONFIG_ZISOFS=y
# CONFIG_MINIX_FS is not set
# CONFIG_VXFS_FS is not set
# CONFIG_NTFS_FS is not set
# CONFIG_NTFS_RW is not set
# CONFIG_HPFS_FS is not set
CONFIG_PROC_FS=y
# CONFIG_DEVFS_FS is not set
# CONFIG_DEVFS_MOUNT is not set
# CONFIG_DEVFS_DEBUG is not set
CONFIG_DEVPTS_FS=y
# CONFIG_QNX4FS_FS is not set
# CONFIG_QNX4FS_RW is not set
# CONFIG_ROMFS_FS is not set
CONFIG_EXT2_FS=y
# CONFIG_SYSV_FS is not set
# CONFIG_UDF_FS is not set
# CONFIG_UDF_RW is not set
# CONFIG_UFS_FS is not set
# CONFIG_UFS_FS_WRITE is not set

#
# Network File Systems
#
# CONFIG_CODA_FS is not set
# CONFIG_INTERMEZZO_FS is not set
CONFIG_NFS_FS=y
CONFIG_NFS_V3=y
# CONFIG_ROOT_NFS is not set
CONFIG_NFSD=y
CONFIG_NFSD_V3=y
CONFIG_SUNRPC=y
CONFIG_LOCKD=y
CONFIG_LOCKD_V4=y
CONFIG_SMB_FS=m
# CONFIG_SMB_NLS_DEFAULT is not set
# CONFIG_NCP_FS is not set
# CONFIG_NCPFS_PACKET_SIGNING is not set
# CONFIG_NCPFS_IOCTL_LOCKING is not set
# CONFIG_NCPFS_STRONG is not set
# CONFIG_NCPFS_NFS_NS is not set
# CONFIG_NCPFS_OS2_NS is not set
# CONFIG_NCPFS_SMALLDOS is not set
# CONFIG_NCPFS_NLS is not set
# CONFIG_NCPFS_EXTRAS is not set
CONFIG_ZISOFS_FS=m
CONFIG_ZLIB_FS_INFLATE=m

#
# Partition Types
#
# CONFIG_PARTITION_ADVANCED is not set
CONFIG_MSDOS_PARTITION=y
CONFIG_SMB_NLS=y
CONFIG_NLS=y

#
# Native Language Support
#
CONFIG_NLS_DEFAULT="iso8859-1"
CONFIG_NLS_CODEPAGE_437=m
# CONFIG_NLS_CODEPAGE_737 is not set
# CONFIG_NLS_CODEPAGE_775 is not set
CONFIG_NLS_CODEPAGE_850=m
# CONFIG_NLS_CODEPAGE_852 is not set
# CONFIG_NLS_CODEPAGE_855 is not set
# CONFIG_NLS_CODEPAGE_857 is not set
# CONFIG_NLS_CODEPAGE_860 is not set
# CONFIG_NLS_CODEPAGE_861 is not set
# CONFIG_NLS_CODEPAGE_862 is not set
# CONFIG_NLS_CODEPAGE_863 is not set
# CONFIG_NLS_CODEPAGE_864 is not set
# CONFIG_NLS_CODEPAGE_865 is not set
# CONFIG_NLS_CODEPAGE_866 is not set
# CONFIG_NLS_CODEPAGE_869 is not set
# CONFIG_NLS_CODEPAGE_936 is not set
# CONFIG_NLS_CODEPAGE_950 is not set
# CONFIG_NLS_CODEPAGE_932 is not set
# CONFIG_NLS_CODEPAGE_949 is not set
# CONFIG_NLS_CODEPAGE_874 is not set
# CONFIG_NLS_ISO8859_8 is not set
# CONFIG_NLS_CODEPAGE_1251 is not set
CONFIG_NLS_ISO8859_1=y
# CONFIG_NLS_ISO8859_2 is not set
# CONFIG_NLS_ISO8859_3 is not set
# CONFIG_NLS_ISO8859_4 is not set
# CONFIG_NLS_ISO8859_5 is not set
# CONFIG_NLS_ISO8859_6 is not set
# CONFIG_NLS_ISO8859_7 is not set
# CONFIG_NLS_ISO8859_9 is not set
# CONFIG_NLS_ISO8859_13 is not set
# CONFIG_NLS_ISO8859_14 is not set
CONFIG_NLS_ISO8859_15=m
# CONFIG_NLS_KOI8_R is not set
# CONFIG_NLS_KOI8_U is not set
CONFIG_NLS_UTF8=m

#
# Console drivers
#
CONFIG_VGA_CONSOLE=y
# CONFIG_VIDEO_SELECT is not set
# CONFIG_MDA_CONSOLE is not set

#
# Frame-buffer support
#
# CONFIG_FB is not set

#
# Sound
#
CONFIG_SOUND=y
# CONFIG_SOUND_BT878 is not set
# CONFIG_SOUND_CMPCI is not set
# CONFIG_SOUND_EMU10K1 is not set
# CONFIG_MIDI_EMU10K1 is not set
# CONFIG_SOUND_FUSION is not set
# CONFIG_SOUND_CS4281 is not set
# CONFIG_SOUND_ES1370 is not set
# CONFIG_SOUND_ES1371 is not set
# CONFIG_SOUND_ESSSOLO1 is not set
# CONFIG_SOUND_MAESTRO is not set
# CONFIG_SOUND_MAESTRO3 is not set
# CONFIG_SOUND_ICH is not set
# CONFIG_SOUND_RME96XX is not set
# CONFIG_SOUND_SONICVIBES is not set
# CONFIG_SOUND_TRIDENT is not set
# CONFIG_SOUND_MSNDCLAS is not set
# CONFIG_SOUND_MSNDPIN is not set
# CONFIG_SOUND_VIA82CXXX is not set
# CONFIG_MIDI_VIA82CXXX is not set
CONFIG_SOUND_OSS=y
# CONFIG_SOUND_TRACEINIT is not set
# CONFIG_SOUND_DMAP is not set
# CONFIG_SOUND_AD1816 is not set
# CONFIG_SOUND_SGALAXY is not set
# CONFIG_SOUND_ADLIB is not set
# CONFIG_SOUND_ACI_MIXER is not set
# CONFIG_SOUND_CS4232 is not set
# CONFIG_SOUND_SSCAPE is not set
# CONFIG_SOUND_GUS is not set
# CONFIG_SOUND_VMIDI is not set
# CONFIG_SOUND_TRIX is not set
# CONFIG_SOUND_MSS is not set
# CONFIG_SOUND_MPU401 is not set
# CONFIG_SOUND_NM256 is not set
# CONFIG_SOUND_MAD16 is not set
# CONFIG_SOUND_PAS is not set
# CONFIG_PAS_JOYSTICK is not set
# CONFIG_SOUND_PSS is not set
CONFIG_SOUND_SB=y
# CONFIG_SOUND_AWE32_SYNTH is not set
# CONFIG_SOUND_WAVEFRONT is not set
# CONFIG_SOUND_MAUI is not set
# CONFIG_SOUND_YM3812 is not set
# CONFIG_SOUND_OPL3SA1 is not set
# CONFIG_SOUND_OPL3SA2 is not set
# CONFIG_SOUND_YMFPCI is not set
# CONFIG_SOUND_YMFPCI_LEGACY is not set
# CONFIG_SOUND_UART6850 is not set
# CONFIG_SOUND_AEDSP16 is not set
# CONFIG_SOUND_TVMIXER is not set

#
# USB support
#
CONFIG_USB=y
# CONFIG_USB_DEBUG is not set

#
# Miscellaneous USB options
#
CONFIG_USB_DEVICEFS=y
# CONFIG_USB_BANDWIDTH is not set
# CONFIG_USB_LONG_TIMEOUT is not set

#
# USB Controllers
#
CONFIG_USB_UHCI_ALT=y
# CONFIG_USB_OHCI is not set

#
# USB Device Class drivers
#
# CONFIG_USB_AUDIO is not set
# CONFIG_USB_BLUETOOTH is not set
# CONFIG_USB_STORAGE is not set
# CONFIG_USB_STORAGE_DEBUG is not set
# CONFIG_USB_STORAGE_DATAFAB is not set
# CONFIG_USB_STORAGE_FREECOM is not set
# CONFIG_USB_STORAGE_ISD200 is not set
# CONFIG_USB_STORAGE_DPCM is not set
# CONFIG_USB_STORAGE_HP8200e is not set
# CONFIG_USB_STORAGE_SDDR09 is not set
# CONFIG_USB_STORAGE_JUMPSHOT is not set
# CONFIG_USB_ACM is not set
# CONFIG_USB_PRINTER is not set

#
# USB Human Interface Devices (HID)
#
CONFIG_USB_HID=y
# CONFIG_USB_HIDDEV is not set
# CONFIG_USB_WACOM is not set

#
# USB Imaging devices
#
# CONFIG_USB_DC2XX is not set
# CONFIG_USB_MDC800 is not set
# CONFIG_USB_SCANNER is not set
# CONFIG_USB_MICROTEK is not set
# CONFIG_USB_HPUSBSCSI is not set

#
# USB Multimedia devices
#

#
#   Video4Linux support is needed for USB Multimedia device support
#

#
# USB Network adaptors
#
# CONFIG_USB_PEGASUS is not set
# CONFIG_USB_KAWETH is not set
# CONFIG_USB_CATC is not set
# CONFIG_USB_CDCETHER is not set
# CONFIG_USB_USBNET is not set

#
# USB port drivers
#
# CONFIG_USB_USS720 is not set

#
# USB Serial Converter support
#
# CONFIG_USB_SERIAL is not set
# CONFIG_USB_SERIAL_GENERIC is not set
# CONFIG_USB_SERIAL_BELKIN is not set
# CONFIG_USB_SERIAL_WHITEHEAT is not set
# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
# CONFIG_USB_SERIAL_EMPEG is not set
# CONFIG_USB_SERIAL_FTDI_SIO is not set
# CONFIG_USB_SERIAL_VISOR is not set
# CONFIG_USB_SERIAL_IR is not set
# CONFIG_USB_SERIAL_EDGEPORT is not set
# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set
# CONFIG_USB_SERIAL_KEYSPAN is not set
# CONFIG_USB_SERIAL_KEYSPAN_USA28 is not set
# CONFIG_USB_SERIAL_KEYSPAN_USA28X is not set
# CONFIG_USB_SERIAL_KEYSPAN_USA28XA is not set
# CONFIG_USB_SERIAL_KEYSPAN_USA28XB is not set
# CONFIG_USB_SERIAL_KEYSPAN_USA19 is not set
# CONFIG_USB_SERIAL_KEYSPAN_USA18X is not set
# CONFIG_USB_SERIAL_KEYSPAN_USA19W is not set
# CONFIG_USB_SERIAL_KEYSPAN_USA49W is not set
# CONFIG_USB_SERIAL_MCT_U232 is not set
# CONFIG_USB_SERIAL_PL2303 is not set
# CONFIG_USB_SERIAL_CYBERJACK is not set
# CONFIG_USB_SERIAL_XIRCOM is not set
# CONFIG_USB_SERIAL_OMNINET is not set

#
# USB Miscellaneous drivers
#
# CONFIG_USB_RIO500 is not set

#
# Bluetooth support
#
# CONFIG_BLUEZ is not set

#
# Kernel hacking
#
CONFIG_DEBUG_KERNEL=y
# CONFIG_DEBUG_HIGHMEM is not set
# CONFIG_DEBUG_SLAB is not set
# CONFIG_DEBUG_IOVIRT is not set
CONFIG_MAGIC_SYSRQ=y
# CONFIG_DEBUG_SPINLOCK is not set
# CONFIG_DEBUG_BUGVERBOSE is not set

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 348+ messages in thread
[parent not found: <20011214041151.91557.qmail@web14904.mail.yahoo.com>]
* (no subject)
@ 2001-12-07  4:17 Keith Owens
  2001-12-07  5:10 ` your mail Linus Torvalds
  0 siblings, 1 reply; 348+ messages in thread
From: Keith Owens @ 2001-12-07  4:17 UTC (permalink / raw)
  To: kbuild-devel; +Cc: linux-kernel, torvalds

Linus, the time has come to convert the 2.5 kernel to kbuild 2.5.  I
want to do this in separate steps to make it easier for architectures
that have not been converted yet.

2.5.1           Semi-stable kernel, after bio is working.

2.5.2-pre1      Add the kbuild 2.5 and CML2 code, still using
                Makefile-2.5, supporting both CML1 and CML2.
                i386, sparc, sparc64 can use either kbuild 2.4 or 2.5,
                2.5 is recommended.
                ia64 can only use kbuild 2.5.
                Other architectures continue to use kbuild 2.4.
                Wait 24 hours for any major problems then -

2.5.2-pre2      Remove kbuild 2.4 code, rename Makefile-2.5 to Makefile.
		Still supporting both CML1 and CML2.
                i386, ia64, sparc, sparc64 can compile using kbuild 2.5.
                Other architectures cannot compile until they convert
                to kbuild 2.5.  The kbuild group can help with the
                conversion but without access to a machine we cannot
                test other architectures.  Until the other archs have
                been converted, they can stay on 2.5.2-pre1.
                Wait 24 hours for any major problems then -

2.5.2-pre3      Remove CML1 support.

Doing the change in steps provides a platform where both kbuild 2.4 and
2.5 work and both CML1 and CML2 are available.  This allows other
architectures to parallel test the old and new kbuild and CML during
their conversion, I found that ability was very useful during
conversion.

Linus, is this acceptable?  When do you want the kbuild 2.5 and CML2
patches?


^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2001-10-15  6:25 Dinesh  Gandhewar
  2001-10-15  6:31 ` your mail Tim Hockin
  0 siblings, 1 reply; 348+ messages in thread
From: Dinesh  Gandhewar @ 2001-10-15  6:25 UTC (permalink / raw)
  To: mlist-linux-kernel


Hello,
What is the effect of following statement at the end of function definition?
*(int *)0 = 0;	
Thanking you,
Dinesh 


^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2001-10-02 15:29 Dinesh  Gandhewar
  2001-10-02 15:30 ` your mail Alan Cox
                   ` (2 more replies)
  0 siblings, 3 replies; 348+ messages in thread
From: Dinesh  Gandhewar @ 2001-10-02 15:29 UTC (permalink / raw)
  To: mlist-linux-kernel


Hello,
I have written a linux kernel module. The linux version is 2.2.14. 
In this module I have declared an array of size 2048. If I use this array, the execution of this module function causes kernel to reboot. If I kmalloc() this array then execution of this module function doesnot cause any problem.
Can you explain this behaviour?
Thnaks,
Dinesh 
 


^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2001-07-24  0:38 新 月
  2001-07-24 12:47 ` your mail Richard B. Johnson
  0 siblings, 1 reply; 348+ messages in thread
From: 新 月 @ 2001-07-24  0:38 UTC (permalink / raw)
  To: linux-kernel

Hi:
	how does the kernel know which filesystem should be
mounted as root filesytem?



^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2001-06-13  1:55 Colonel
  2001-06-13  9:32 ` your mail Luigi Genoni
  2001-06-18 13:55 ` Jan Hudec
  0 siblings, 2 replies; 348+ messages in thread
From: Colonel @ 2001-06-13  1:55 UTC (permalink / raw)
  To: linux-kernel

From: Colonel <klink@clouddancer.com>
To: linux-kernel@vger.kernel.org
Subject: ISA Soundblaster problem
Reply-to: klink@clouddancer.com


The Maintainers list does not contain anyone for 2.4 Soundblaster
modules, so perhaps some one on the mailing list is aware of a
solution.  My ISA Soundblaster 16waveffects worked fine in kernel 2.2
with XMMS.  But I have never been successful in a varity of 2.4
kernels, the latest being 2.4.5-ac12.  This is what I know:

[DMESG]
isapnp: Scanning for PnP cards...
isapnp: Calling quirk for 01:00
isapnp: SB audio device quirk - increasing port range
isapnp: Card 'Creative SB16 PnP'
isapnp: 1 Plug & Play card detected total

}modprobe sb  
/lib/modules/2.4.5-ac12/kernel/drivers/sound/sb.o: init_module: No such device
/lib/modules/2.4.5-ac12/kernel/drivers/sound/sb.o: Hint: insmod errors can be caused by incorrect module parameters, including invalid IO or IRQ parameters
/lib/modules/2.4.5-ac12/kernel/drivers/sound/sb.o: insmod /lib/modules/2.4.5-ac12/kernel/drivers/sound/sb.o failed
/lib/modules/2.4.5-ac12/kernel/drivers/sound/sb.o: insmod sb failed


[/etc/modules.conf]
options sb io=0x220 irq=5 dma=1 dma16=5 mpu_io=0x330


[DMESG}
Soundblaster audio driver Copyright (C) by Hannu Savolainen 1993-1996
sb: No ISAPnP cards found, trying standard ones...
sb: dsp reset failed.


So it seems that PnP finds the card, but the connections (or even the
forced values) to the sb module fail.  Back when this was a single
processor machine, but still running 2.4 kernel, a windoze
installation found the SB at the listed interface parameters.


Anyone have a solution?

Same problem without modules.conf settings, valid version of mod
utilities, a web search did not help,...



TIA


please CC:  klink@clouddancer.com, not currently on the mailing list.

^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2001-05-31 16:53 Ramil.Santamaria
  2001-05-31 20:37 ` your mail Andrzej Krzysztofowicz
  0 siblings, 1 reply; 348+ messages in thread
From: Ramil.Santamaria @ 2001-05-31 16:53 UTC (permalink / raw)
  To: linux-kernel; +Cc: kErNeL-kRaCkEr

Minor issue with bootsect.s.

The single instance of the lds assembly instruction includes the comment of
!  ds:si is source
...
seg fs
lds  si,(bx)        !     ds:si is source
...
Is this comment not in reverse order (i.e should be lds
dest,src)................


Ramil J.Santamaria
Toshiba America Information Systems
ramil.santamaria@tais.toshiba.com


^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2001-05-21 19:43 Thomas Palm
  2001-05-21 20:12 ` your mail Lorenzo Marcantonio
  0 siblings, 1 reply; 348+ messages in thread
From: Thomas Palm @ 2001-05-21 19:43 UTC (permalink / raw)
  To: linux-kernel

-> moved from comp.os.linux.hardware:

Hi,

I still have problems with the VIA Apollo southbridge (Kernel 2.4.2 (Redhat
7.1) and Kernel 2.4.4).

In rare circumstances,
there ist still file-corruption. I use an ASUS A7V133 (Revision 1.05,
including Sound + Raid). My tests:

- copying 4 GB of CD-ISO-Files from Promise Secondary Master to Promise
Secondary Slave. After that "diff -r srcdir destdir". Test was
succesfull, no differs, even after 15 executions

-  (same test with small files)
copying 4GB of small files (50 to 500 KB) from Promise Secondary Master
to Promise Secondary Slave.
1st run of "diff -r srcdir destdir" -> no differs
2nd run of "diff -r srcdir destdir" -> 2 files differ
3rd run of "diff -r srcdir destdir" -> 1 file differs
4th run of "diff -r srcdir destdir" -> 1 file differs
5th run of "diff -r srcdir destdir" -> no differs

- I d did the same tests on the Promise Primary, same results. Also on
the the VIA Secondary but my feeling is that there are even more
corruptions.

I stripped the machine to the bone, PCI-VGA only, same results.

I cannot say for sure, but before I stripped my adaptec SCSI-Card, there
may even been "differs" after copying from SCSI-Disk to SCSI-Disk. Off
course I thought other parts of my Hardware was flacky (e.g. RAM...),
but I swapped everything: RAM from different manufacturers, IDE-Cables,
CPU (Duron 900 -> Duron 850), VGA-Card, I tried the most conservative
Setting in the A7V-Bios, Bios-Update 1003 -> 1004 -> 1004 beta3,
UDMA6->UDMA2 all to no avail.

Any hints?
 <TP>

Post a follow-up to this message

Message 2 in thread 
Von:Bobby D. Bryant (bdbryant@mail.utexas.edu)
Betrifft:Re: VIA Apollo Southbridge again 
Newsgroups:comp.os.linux.hardware
Datum:2001-05-20 09:45:08 PST 
 



Thomas Palm wrote:

> I still have problems with the VIA Apollo southbridge (Kernel 2.4.2
(Redhat 7.1) and Kernel 2.4.4).

There are known to be bugs in the VIA chipsets, but you might want to report
this to
linux-kernel@vger.kernel.org anyway.

Bobby Bryant
Austin, Texas




-- 
Machen Sie Ihr Hobby zu Geld bei unserem Partner 1&1!
http://profiseller.de/info/index.php3?ac=OM.PS.PS003K00596T0409a

--
GMX - Die Kommunikationsplattform im Internet.
http://www.gmx.net


^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2001-05-16 15:05 siva prasad
  2001-05-17  0:11 ` your mail Erik Mouw
  0 siblings, 1 reply; 348+ messages in thread
From: siva prasad @ 2001-05-16 15:05 UTC (permalink / raw)
  To: linux-kernel

Sorry for the newbie question..

Is it true that the ipc calls like
msgget(),shmget()...
are  not really system calls?

Cos in the file "asm/unistd.h" where the
system calls are listed as __NR_xxx we dont find
the appropriate listing for the ipc calls.
What I guessed was that all the ipc calls are
clubbed under the 'int ipc()' system call and this
is well listed in the "asm/unistd.h" 

Could some one explain why the ipc is implemented 
this way rather that implementing them as individual 
system calls as in UNIX.

Or is it the same way in UNIX




__________________________________________________
Do You Yahoo!?
Yahoo! Auctions - buy the things you want at great prices
http://auctions.yahoo.com/

^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2001-05-08 19:48 Richard B. Johnson
  2001-05-08 20:06 ` your mail Jens Axboe
  2001-05-08 20:46 ` Alan Cox
  0 siblings, 2 replies; 348+ messages in thread
From: Richard B. Johnson @ 2001-05-08 19:48 UTC (permalink / raw)
  To: Linux kernel


To driver wizards:

I have a driver which needs to wait for some hardware.
Basically, it needs to have some code added to the run-queue
so it can get some CPU time even though it's not being called.

It needs to get some CPU time which can be "turned on" or
"turned off" as a result of an interrupt or some external
input from  an ioctl().

So I thought that the "tasklet" would be ideal. However, the
scheduler "thinks" that a tasklet is an interrupt, so any
attempt to sleep in the tasklet results in a kernel panic,
"ieee scheduling in an interrupt..., BUG sched.c line 688".

Next, I added code to try queue_task(). This has the same problem.

Basically the procedure needs to do:

procedure()
{
    if(some_event)
        schedule_timeout(n);               /* Needs to sleep */
    else if(something_else)
        do_something();
   queue_task(procedure, &tq_immediate);   /* Needs to queue itself again */
}

Since I'm running against a time-line, I temporarily  gave the module
some CPU time through an ioctl(), i.e., a separate task that does nothing
except repeatably execute ioctl(GIVE_CPU, NULL); This shows that the
driver actually works. It's a GPIB driver so it needs to get the
CPU to find out if it's addressed to listen, etc. These events don't
produce interrupts.

So, what am I supposed to do to add a piece of driver code to the
run queue so it gets scheduled occasionally?

Cheers,
Dick Johnson

Penguin : Linux version 2.4.1 on an i686 machine (799.53 BogoMips).

"Memory is like gasoline. You use it up when you are running. Of
course you get it all back when you reboot..."; Actual explanation
obtained from the Micro$oft help desk.



^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2001-05-07 11:38 Chandrashekar Nagaraj
  2001-05-07 12:09 ` your mail Erik Mouw
  0 siblings, 1 reply; 348+ messages in thread
From: Chandrashekar Nagaraj @ 2001-05-07 11:38 UTC (permalink / raw)
  To: linux-kernel

hi,
	i want to know how to read tab without a terminating character,
ie., if i use getchar() i have to enter '\n' after tab to read tab,
same is the case with read system call and scanf. 

bye,
chandra.

^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2001-05-02 22:34 Duc Vianney
  2001-05-03  0:10 ` your mail Linus Torvalds
  0 siblings, 1 reply; 348+ messages in thread
From: Duc Vianney @ 2001-05-02 22:34 UTC (permalink / raw)
  To: torvalds, castortz, Bill Hartner, staelin, Larry McVoy
  Cc: lse-tech, linux-kernel, lmbench-users

Has anyone seen performance degradations between 2.2.19 and 2.4.x
when running lmbench? I ran the lmbench benchmark on Linux kernels
2.2.19, 2.4.0, and 2.4.1 and observed performance degradation to be
most noticed in signal handling, pipe latency, file deletion, and
process creation. Are you aware of any kernel changes introduced in
2.4.x that might cause this performance degradation?

The following data are in microseconds, lower is better. Each data point
represents the average of at least four runs.

Tests                     Linux 2.2.19   Linux 2.4.0   Linux 2.4.1
Signal handler overhead      1.64           3.77          3.82
Pipe latency                 4.58           5.28          5.55
File deletion - 10K         11.48          15.30         15.71
Process fork               114.76         140.45        141.98
Process fork+execve        763.57         834.40        840.39

Notes:
1. The benchmark is lmbench-2beta1.
2. The hardware under test is a 700MHz PIII Xeon.
3. The operating system under test is Red Hat 6.2, running Linux kernels 2.2.19,
2.4.0 and 2.4.1, with 4GB memory support.


The following is the summary report generated by the lmbench benchmark.


                 L M B E N C H  2 . 0   S U M M A R Y
                 ------------------------------------
           (Alpha software, do not distribute)

Basic system parameters
----------------------------------------------------
Host                 OS Description              Mhz

--------- ------------- ----------------------- ----
biglinux-  Linux 2.2.19       i686-pc-linux-gnu  700
biglinux-  Linux 2.2.19       i686-pc-linux-gnu  700
biglinux-  Linux 2.2.19       i686-pc-linux-gnu  700
biglinux-  Linux 2.2.19       i686-pc-linux-gnu  700
biglinux-   Linux 2.4.0       i686-pc-linux-gnu  700
biglinux-   Linux 2.4.0       i686-pc-linux-gnu  700
biglinux-   Linux 2.4.0       i686-pc-linux-gnu  700
biglinux-   Linux 2.4.0       i686-pc-linux-gnu  700
biglinux-   Linux 2.4.0       i686-pc-linux-gnu  700
biglinux-   Linux 2.4.1       i686-pc-linux-gnu  700
biglinux-   Linux 2.4.1       i686-pc-linux-gnu  700
biglinux-   Linux 2.4.1       i686-pc-linux-gnu  700
biglinux-   Linux 2.4.1       i686-pc-linux-gnu  700

Processor, Processes - times in microseconds - smaller is better
----------------------------------------------------------------
Host                 OS  Mhz null null      open selct sig  sig  fork exec sh
                             call  I/O stat clos TCP   inst hndl proc proc proc
--------- ------------- ---- ---- ---- ---- ---- ----- ---- ---- ---- ---- ----
biglinux-  Linux 2.2.19  700 0.43 0.61 3.89 4.84    20 1.27 1.64  109  761 2988
biglinux-  Linux 2.2.19  700 0.43 0.62 3.91 4.89    20 1.27 1.64  108  760 2981
biglinux-  Linux 2.2.19  700 0.43 0.62 3.88 4.93    20 1.27 1.64  108  764 2986
biglinux-  Linux 2.2.19  700 0.43 0.62 3.79 4.73    22 1.27 1.64  132  767 3011
biglinux-   Linux 2.4.0  700 0.40 0.63 3.37 4.45    19 1.21 3.75  139  831 3219
biglinux-   Linux 2.4.0  700 0.40 0.60 3.39 4.46    19 1.24 3.75  139  831 3269
biglinux-   Linux 2.4.0  700 0.43 0.63 3.39 4.46    21 1.24 3.82  142  841 3255
biglinux-   Linux 2.4.0  700 0.43 0.62 3.37 4.49    21 1.24 3.75  140  835 3244
biglinux-   Linux 2.4.0  700 0.43 0.62 3.37 4.47    19 1.24 3.75  140  832 3263
biglinux-   Linux 2.4.1  700 0.40 0.61 3.37 4.35    19 1.21 3.80  141  836 3262
biglinux-   Linux 2.4.1  700 0.40 0.61 3.39 4.42    21 1.21 3.85  142  841 3316
biglinux-   Linux 2.4.1  700 0.40 0.59 3.42 4.38    21 1.21 3.81  141  841 3306
biglinux-   Linux 2.4.1  700 0.40 0.61 3.39 4.39    20 1.21 3.81  142  841 3225

Context switching - times in microseconds - smaller is better
-------------------------------------------------------------
Host                 OS 2p/0K 2p/16K 2p/64K 8p/16K 8p/64K 16p/16K 16p/64K
                        ctxsw  ctxsw  ctxsw ctxsw  ctxsw   ctxsw   ctxsw
--------- ------------- ----- ------ ------ ------ ------ ------- -------
biglinux-  Linux 2.2.19 0.850 5.0800     21 6.7500     23 8.98000      97
biglinux-  Linux 2.2.19 0.860 7.1700     21 6.9200     22      10     138
biglinux-  Linux 2.2.19 0.890 6.5100     21 6.5600    136      14     155
biglinux-  Linux 2.2.19 0.960 6.4200     21 6.7000     22 7.16000      88
biglinux-   Linux 2.4.0 1.040 6.5300     21 6.5800     29      19     185
biglinux-   Linux 2.4.0 1.170 6.6200     21 6.7000     22 6.72000     102
biglinux-   Linux 2.4.0 1.050 6.6100     21 6.5900     22 6.68000     101
biglinux-   Linux 2.4.0 1.070 6.5700     21 6.7200     22 6.79000     102
biglinux-   Linux 2.4.0 1.100 6.5300     21 6.5900     22      13     107
biglinux-   Linux 2.4.1 1.050 6.4400     21 7.2000     23 6.88000     102
biglinux-   Linux 2.4.1 1.140 6.6900     21 6.7100     22 6.92000     103
biglinux-   Linux 2.4.1 1.130 6.7200     22 6.9300     22 6.85000     110
biglinux-   Linux 2.4.1 1.180 6.5000     21 7.1000     22 7.11000     109

*Local* Communication latencies in microseconds - smaller is better
-------------------------------------------------------------------
Host                 OS 2p/0K  Pipe AF     UDP  RPC/   TCP  RPC/ TCP
                        ctxsw       UNIX         UDP         TCP conn
--------- ------------- ----- ----- ---- ----- ----- ----- ----- ----
biglinux-  Linux 2.2.19 0.850 4.583 8.55    15          25         83
biglinux-  Linux 2.2.19 0.860 4.605 8.96    15          25         85
biglinux-  Linux 2.2.19 0.890 4.545 8.79    15          25         83
biglinux-  Linux 2.2.19 0.960 4.581 8.85    15          25         86
biglinux-   Linux 2.4.0 1.040 5.193 8.74    15          22       9.0M
biglinux-   Linux 2.4.0 1.170 5.274 8.80    15          22       9.0M
biglinux-   Linux 2.4.0 1.050 5.378 9.02    15          23        23M
biglinux-   Linux 2.4.0 1.070 5.288 8.99    15          22       3.0M
biglinux-   Linux 2.4.0 1.100 5.273 8.81    15          23        29M
biglinux-   Linux 2.4.1 1.050 5.291 8.41    15          23       3.0M
biglinux-   Linux 2.4.1 1.140 5.419 8.56    15          23       9.0M
biglinux-   Linux 2.4.1 1.130 5.574 8.81    15          23        29M
biglinux-   Linux 2.4.1 1.180 5.646 9.01    15          24       9.0M

File & VM system latencies in microseconds - smaller is better
--------------------------------------------------------------
Host                 OS   0K File      10K File      Mmap    Prot    Page
                        Create Delete Create Delete  Latency Fault   Fault
--------- ------------- ------ ------ ------ ------  ------- -----   -----
biglinux-  Linux 2.2.19 8.8928 0.5667     17 1.1416 24.57400 0.887     528
biglinux-  Linux 2.2.19 8.8976 0.5710     17 1.1458 23.76700 0.887     518
biglinux-  Linux 2.2.19 8.9103 0.5625     17 1.1297 23.83100 0.887     518
biglinux-  Linux 2.2.19 8.8881 0.5617     17 1.1739 23.80700 0.888     519
biglinux-   Linux 2.4.0 9.4500 0.5682     19 1.5225     1097 0.847 3.00000
biglinux-   Linux 2.4.0 9.4589 0.5707     19 1.5247     1129 0.850 3.00000
biglinux-   Linux 2.4.0 9.4545 0.5724     19 1.5279     1108 0.887 3.00000
biglinux-   Linux 2.4.0 9.4661 0.5762     19 1.5340     1104 0.854 3.00000
biglinux-   Linux 2.4.0 9.4563 0.5781     19 1.5398     1140 0.850 3.00000
biglinux-   Linux 2.4.1 9.5905 0.5969     17 1.5588     1138 0.837 3.00000
biglinux-   Linux 2.4.1 9.6089 0.6082     17 1.5774     1140 0.862 3.00000
biglinux-   Linux 2.4.1 9.5914 0.5986     17 1.5677     1156 0.835 3.00000
biglinux-   Linux 2.4.1 9.6015 0.6109     17 1.5816     1151 0.861 3.00000

*Local* Communication bandwidths in MB/s - bigger is better
-----------------------------------------------------------
Host                OS  Pipe AF    TCP  File   Mmap  Bcopy  Bcopy  Mem   Mem
                             UNIX      reread reread (libc) (hand) read write
--------- ------------- ---- ---- ---- ------ ------ ------ ------ ---- -----
biglinux-  Linux 2.2.19  684  458  256    219    258    131    129  258   199
biglinux-  Linux 2.2.19  684  458  254    191    258    133    130  258   198
biglinux-  Linux 2.2.19  685  457  195    219    258    135    129  258   199
biglinux-  Linux 2.2.19  694  454  248    219    258    133    129  258   198
biglinux-   Linux 2.4.0  651  369  470    146    257    128    129  257   197
biglinux-   Linux 2.4.0  641  371  478    209    257    119    129  257   197
biglinux-   Linux 2.4.0  647  372  481    209    257    127    128  257   197
biglinux-   Linux 2.4.0  634  369  479    209    257    130    129  257   197
biglinux-   Linux 2.4.0  641  351  483    210    257    127    129  257   197
biglinux-   Linux 2.4.1  650  379  476    209    257    128    129  257   197
biglinux-   Linux 2.4.1  622  367  472    209    257    120    128  257   197
biglinux-   Linux 2.4.1  615  367  471    209    257    129    129  257   197
biglinux-   Linux 2.4.1  624  384  463    209    257    126    129  257   197

Memory latencies in nanoseconds - smaller is better
    (WARNING - may not be correct, check graphs)
---------------------------------------------------
Host                 OS   Mhz  L1 $   L2 $    Main mem    Guesses
--------- -------------  ---- ----- ------    --------    -------
biglinux-  Linux 2.2.19   700 4.286     24    201
biglinux-  Linux 2.2.19   700 4.286     12    201
biglinux-  Linux 2.2.19   700 4.286     12    201
biglinux-  Linux 2.2.19   700 4.286     12    201
biglinux-   Linux 2.4.0   700 4.286     12    201
biglinux-   Linux 2.4.0   700 4.287     12    201
biglinux-   Linux 2.4.0   700 4.286     12    201
biglinux-   Linux 2.4.0   700 4.287     12    201
biglinux-   Linux 2.4.0   700 4.286     12    201
biglinux-   Linux 2.4.1   700 4.286     12    201
biglinux-   Linux 2.4.1   700 4.287     12    201
biglinux-   Linux 2.4.1   700 4.286     12    201
biglinux-   Linux 2.4.1   700 4.287     12    201


Cheers .... Duc.


^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2001-04-26 19:37 Alexandru Barloiu Nicolae
  2001-04-26 19:51 ` your mail Erik Mouw
                   ` (2 more replies)
  0 siblings, 3 replies; 348+ messages in thread
From: Alexandru Barloiu Nicolae @ 2001-04-26 19:37 UTC (permalink / raw)
  To: linux-kernel

is ftp.kernel.org down or is just my connections fault ?

axl


______________________________________________________
support slackware anyway posible paypal@slackware.com anyone ?
   http://www.slackware.com/forum/read.php?f=5&i=7887&t=7887



^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2001-04-02 19:20 Jakob Kemi
  2001-04-09 13:23 ` your mail Tim Waugh
  0 siblings, 1 reply; 348+ messages in thread
From: Jakob Kemi @ 2001-04-02 19:20 UTC (permalink / raw)
  To: linux-kernel

Hi all.

Ok, maybe this isn't the right list for this question. In 2.2.x the
parport_probe module extracted the ieee1284 device id correctly and added to the
proc fs. However this doesn't seem to work for me in 2.4.x
I only have one device to test it on and since I know there have been some
difficulties regarding the device string's length bytes etc I post my device_id string here
the first two bytes says that length is 96 and the following is the string 
"MFG:Winbond;MDL:SA5459B;CLS:DIGCAM;DES:Winbond's DIGCAM driver can not be found in the system;"

I have tested to build, parport, parport_pc and ieee1284 both as modules and static into the kernel.
Is there some option I need to enable. As far as I understand the CONFIG_PARPORT_1284 should be enough??

Bye
	Jakob



^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2001-03-24  0:04 dhar
  2001-03-24  1:09 ` your mail Tim Wright
  0 siblings, 1 reply; 348+ messages in thread
From: dhar @ 2001-03-24  0:04 UTC (permalink / raw)
  To: linux-smp; +Cc: linux-kernel

Hi,

I am not a member of either of these lists and would appreciate if you could send your replies to me personally.

Now the problem:

I have an IBM Netfinity X330 server. Dual Processor (PIII 800). I compiled kernel 2.2.14 with SMP support. NFS was however compiled as a module. 

Now the problem is as follows:

Most of the times the machine just works fine. 
But whenever there is heavy disk write activity it just hangs/crashes. Also this is when the SMP kernel is used. If I use the normal kernel then there is no problem. 

Could any one tell me what has to be done to prevent this from happening? 

Any help in this regard will be very much appreciated.

Once again, kindly reply to me personally as I am not a member of either of these lists.
 
Regards
Dhar 


^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2001-03-11 17:06 Martin Bruchanov
  2001-03-12  5:03 ` your mail Greg KH
  0 siblings, 1 reply; 348+ messages in thread
From: Martin Bruchanov @ 2001-03-11 17:06 UTC (permalink / raw)
  To: linux-kernel


Bug report from Martin Bruchanov (bruxy@kgb.cz, bruchm@racom.cz)

############################################################################
[1.] One line summary of the problem:    
USB doesn't work properly with SMP kernel on dual-mainboard or with APIC.

############################################################################
[2.] Full description of the problem/report:
usb_control/bulk_msg: timeout
usb.c: USB device not accepting new address=18 (error=-110)
usb_control/bulk_msg: timeout
usb.c: USB device not accepting new address=20 (error=-110)
This message was echoed, when i plug-in SMP device Wacom Graphire or
keyboard to USB plug. I test it with three identicals kernel, only
difference was in "Processor type and features".
There was USB non-functional  with Symmetric multi-processing support
was US on fistr kernel.
Second kernel without SMP correctly detect the USB device and without
APIC.
Third kernel with APIC and IO-APIC support on uniprocessors was not
detect USB device.

############################################################################
[3.] Keywords (i.e., modules, networking, kernel):
modules, USB

############################################################################
[4.] Kernel version (from /proc/version):
2.4.2

############################################################################
[5.] Output of Oops.. message (if applicable) with symbolic information 
     resolved (see Documentation/oops-tracing.txt)

############################################################################
[6.] A small shell script or example program which triggers the
     problem (if possible)
############################################################################
[7.] Environment
############################################################################
[7.1.] Software (add the output of the ver_linux script here)
############################################################################
[7.2.] Processor information (from /proc/cpuinfo):
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 8
model name      : Pentium III (Coppermine)
stepping        : 3
cpu MHz         : 859.113
cache size      : 256 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 2
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
mca cmov
pat pse36 mmx fxsr sse
bogomips        : 1710.48

processor       : 1
vendor_id       : GenuineIntel
cpu family      : 6
model           : 8
model name      : Pentium III (Coppermine)
stepping        : 3
cpu MHz         : 859.113
cache size      : 256 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 3
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
mca cmov
pat pse36 mmx fxsr sse
bogomips        : 1717.04

############################################################################
[7.3.] Module information (from /proc/modules):
evdev                   3712   0 (unused)
mousedev                4288   0 (unused)
wacom                   3344   0 (unused)
input                   3680   0 [evdev mousedev wacom]
usb-uhci               23248   0 (unused)
usbcore                53776   2 [wacom usb-uhci]


############################################################################
[7.4.] Loaded driver and hardware information (/proc/ioports, /proc/iomem)
0000-001f : dma1
0020-003f : pic1
0040-005f : timer
0060-006f : keyboard
0070-007f : rtc
0080-008f : dma page reg
00a0-00bf : pic2
00c0-00df : dma2
00f0-00ff : fpu
0170-0177 : ide1
01f0-01f7 : ide0
02f8-02ff : serial(auto)
0376-0376 : ide1
0378-037a : parport0
037b-037f : parport0
03c0-03df : vga+
03f6-03f6 : ide0
03f8-03ff : serial(auto)
0cf8-0cff : PCI conf1
4000-40ff : VIA Technologies, Inc. VT82C686 [Apollo Super ACPI]
5000-500f : VIA Technologies, Inc. VT82C686 [Apollo Super ACPI]
6000-607f : VIA Technologies, Inc. VT82C686 [Apollo Super ACPI]
9000-900f : VIA Technologies, Inc. Bus Master IDE
9400-941f : VIA Technologies, Inc. UHCI USB
  9400-941f : usb-uhci
9800-981f : VIA Technologies, Inc. UHCI USB (#2)
  9800-981f : usb-uhci
9c00-9cff : VIA Technologies, Inc. AC97 Audio Controller
a000-a003 : VIA Technologies, Inc. AC97 Audio Controller
a400-a403 : VIA Technologies, Inc. AC97 Audio Controller
ac00-ac07 : Promise Technology, Inc. 20265
b000-b003 : Promise Technology, Inc. 20265
b400-b407 : Promise Technology, Inc. 20265
b800-b803 : Promise Technology, Inc. 20265
bc00-bc3f : Promise Technology, Inc. 20265
c000-c0ff : Realtek Semiconductor Co., Ltd. RTL-8139
  c000-c0ff : eth0

############################################################################
[7.5.] PCI information ('lspci -vvv' as root)

00:00.0 Host bridge: VIA Technologies, Inc. VT82C691 [Apollo PRO] (rev c4)
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort+ >SERR- <PERR-
	Latency: 0
	Region 0: Memory at d8000000 (32-bit, prefetchable) [size=64M]
	Capabilities: [a0] AGP version 2.0
		Status: RQ=31 SBA+ 64bit- FW+ Rate=x1,x2
		Command: RQ=0 SBA- AGP- 64bit- FW- Rate=<none>
	Capabilities: [c0] Power Management version 2
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:01.0 PCI bridge: VIA Technologies, Inc. VT82C598 [Apollo MVP3 AGP] (prog-if 00 [Normal decode])
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap+ 66Mhz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort+ >SERR- <PERR-
	Latency: 0
	Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
	I/O behind bridge: 0000f000-00000fff
	Memory behind bridge: dc000000-ddffffff
	Prefetchable memory behind bridge: d0000000-d7ffffff
	BridgeCtl: Parity- SERR- NoISA+ VGA+ MAbort- >Reset- FastB2B-
	Capabilities: [80] Power Management version 2
		Flags: PMEClk- DSI- D1+ D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:07.0 ISA bridge: VIA Technologies, Inc. VT82C686 [Apollo Super] (rev 22)
	Subsystem: VIA Technologies, Inc. VT82C686/A PCI to ISA Bridge
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping+ SERR- FastB2B-
	Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 0

00:07.1 IDE interface: VIA Technologies, Inc. VT82C586 IDE [Apollo] (rev 10) (prog-if 8a [Master SecP PriP])
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 32
	Region 4: I/O ports at 9000 [size=16]
	Capabilities: [c0] Power Management version 2
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:07.2 USB Controller: VIA Technologies, Inc. VT82C586B USB (rev 10) (prog-if 00 [UHCI])
	Subsystem: Unknown device 0925:1234
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 32, cache line size 08
	Interrupt: pin D routed to IRQ 19
	Region 4: I/O ports at 9400 [size=32]
	Capabilities: [80] Power Management version 2
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:07.3 USB Controller: VIA Technologies, Inc. VT82C586B USB (rev 10) (prog-if 00 [UHCI])
	Subsystem: Unknown device 0925:1234
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 32, cache line size 08
	Interrupt: pin D routed to IRQ 19
	Region 4: I/O ports at 9800 [size=32]
	Capabilities: [80] Power Management version 2
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:07.4 Host bridge: VIA Technologies, Inc. VT82C686 [Apollo Super ACPI] (rev 30)
	Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Capabilities: [68] Power Management version 2
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:07.5 Multimedia audio controller: VIA Technologies, Inc. VT82C686 [Apollo Super AC97/Audio] (rev 20)
	Subsystem: VIA Technologies, Inc. VT82C686 [Apollo Super AC97/Audio]
	Control: I/O+ Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Interrupt: pin C routed to IRQ 18
	Region 0: I/O ports at 9c00 [size=256]
	Region 1: I/O ports at a000 [size=4]
	Region 2: I/O ports at a400 [size=4]
	Capabilities: [c0] Power Management version 2
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:0c.0 RAID bus controller: Promise Technology, Inc.: Unknown device 0d30 (rev 02)
	Subsystem: Promise Technology, Inc.: Unknown device 4d39
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 32
	Interrupt: pin A routed to IRQ 18
	Region 0: I/O ports at ac00 [size=8]
	Region 1: I/O ports at b000 [size=4]
	Region 2: I/O ports at b400 [size=8]
	Region 3: I/O ports at b800 [size=4]
	Region 4: I/O ports at bc00 [size=64]
	Region 5: Memory at df000000 (32-bit, non-prefetchable) [size=128K]
	Expansion ROM at <unassigned> [disabled] [size=64K]
	Capabilities: [58] Power Management version 1
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:0d.0 FireWire (IEEE 1394): Texas Instruments: Unknown device 8020 (prog-if 10 [OHCI])
	Subsystem: Texas Instruments: Unknown device 8020
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 32 (750ns min, 1000ns max), cache line size 08
	Interrupt: pin A routed to IRQ 19
	Region 0: Memory at df024000 (32-bit, non-prefetchable) [size=2K]
	Region 1: Memory at df020000 (32-bit, non-prefetchable) [size=16K]
	Capabilities: [44] Power Management version 1
		Flags: PMEClk- DSI- D1- D2+ AuxCurrent=0mA PME(D0-,D1-,D2+,D3hot+,D3cold-)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:0e.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139 (rev 10)
	Subsystem: Realtek Semiconductor Co., Ltd. RT8139
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 32 (8000ns min, 16000ns max)
	Interrupt: pin A routed to IRQ 16
	Region 0: I/O ports at c000 [size=256]
	Region 1: Memory at df025000 (32-bit, non-prefetchable) [size=256]
	Expansion ROM at <unassigned> [disabled] [size=64K]
	Capabilities: [50] Power Management version 2
		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1+,D2+,D3hot+,D3cold-)
		Status: D0 PME-Enable+ DSel=0 DScale=0 PME-

01:00.0 VGA compatible controller: nVidia Corporation GeForce 256 (rev 10) (prog-if 00 [VGA])
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 32 (1250ns min, 250ns max)
	Interrupt: pin A routed to IRQ 16
	Region 0: Memory at dc000000 (32-bit, non-prefetchable) [size=16M]
	Region 1: Memory at d0000000 (32-bit, prefetchable) [size=128M]
	Expansion ROM at <unassigned> [disabled] [size=64K]
	Capabilities: [60] Power Management version 1
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-
	Capabilities: [44] AGP version 2.0
		Status: RQ=31 SBA- 64bit- FW+ Rate=x1,x2
		Command: RQ=0 SBA- AGP- 64bit- FW- Rate=<none>

############################################################################
[7.6.] SCSI information (from /proc/scsi/scsi)

############################################################################
[7.7.] Other information that might be relevant to the problem
       (please look in /proc and include all information that you
       think to be relevant):

Kernel with SMP /proc/bus/usb/devices:
T:  Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  3 Spd=12  MxCh= 2
B:  Alloc=  0/900 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 1.00 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0000 ProdID=0000 Rev= 0.00
S:  Product=USB UHCI Root Hub
S:  SerialNumber=9800
C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr=  0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl=255ms
T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 2
B:  Alloc=  0/900 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 1.00 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0000 ProdID=0000 Rev= 0.00
S:  Product=USB UHCI Root Hub
S:  SerialNumber=9400
C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr=  0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl=255ms

Kernel with ACPI (without SMP):
T:  Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  3 Spd=12  MxCh= 2
B:  Alloc=  0/900 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 1.00 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0000 ProdID=0000 Rev= 0.00
S:  Product=USB UHCI Root Hub
S:  SerialNumber=9800
C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr=  0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl=255ms
T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 2
B:  Alloc=  0/900 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 1.00 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0000 ProdID=0000 Rev= 0.00
S:  Product=USB UHCI Root Hub
S:  SerialNumber=9400
C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr=  0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl=255ms

Kernel without SMP and ACPI:
T:  Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  3 Spd=12  MxCh= 2
B:  Alloc=  0/900 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 1.00 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0000 ProdID=0000 Rev= 0.00
S:  Product=USB UHCI Root Hub
S:  SerialNumber=9800
C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr=  0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl=255ms
T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 2
B:  Alloc=  0/900 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 1.00 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0000 ProdID=0000 Rev= 0.00
S:  Product=USB UHCI Root Hub
S:  SerialNumber=9400
C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr=  0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl=255ms
T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=1.5 MxCh= 0
D:  Ver= 1.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=056a ProdID=0010 Rev= 1.20
S:  Manufacturer=WACOM
S:  Product=ET-0405-UV1.2-0
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr= 40mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=02 Driver=wacom
E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl= 10ms


############################################################################
[X.] Other notes, patches, fixes, workarounds:


^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2001-03-06 23:55 Ying Chen
  2001-03-07  0:40 ` your mail Don Dugger
  0 siblings, 1 reply; 348+ messages in thread
From: Ying Chen @ 2001-03-06 23:55 UTC (permalink / raw)
  To: linux-kernel

Hi,

I have two questions on Linux pthread related issues. Would anyone be able 
to help?

1. Does any one have some suggestions (pointers) on good kernel Linux thread 
libraries?
2. We ran multi-threaded application using Linux pthread library on 2-way 
SMP and UP intel platforms (with both 2.2 and 2.4 kernels). We see 
significant increase in context switching when moving from UP to SMP, and 
high CPU usage with no performance gain in turns of actual work being done 
when moving to SMP, despite the fact the benchmark we are running is 
CPU-bound. The kernel profiler indicates that the a lot of kernel CPU ticks 
went to scheduling and signaling overheads. Has anyone seen something like 
this before with pthread applications running on SMP platforms? Any 
suggestions or pointers on this subject?

Thanks a lot!

Ying



_________________________________________________________________
Get your FREE download of MSN Explorer at http://explorer.msn.com


^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2001-01-19 13:37 Robert Kaiser
  2001-01-19 14:37 ` your mail Steve Hill
  0 siblings, 1 reply; 348+ messages in thread
From: Robert Kaiser @ 2001-01-19 13:37 UTC (permalink / raw)
  To: Steve Hill; +Cc: linux-kernel


On Thu Jan 18 16:30:30 2001 steve@navaho.co.uk wrote
> Has anyone had any luck getting a 2.4 kernel to run on Cobalt x86
> hardware?  It doesn't even seem to start (I get nothing on the screen from
>t he kernel, it just sits there and does nothing). :(

What processor does it use ? (386 or 486 perchance?)



----------------------------------------------------------------
Robert Kaiser                         email: rkaiser@sysgo.de
SYSGO RTS GmbH
Am Pfaffenstein 14                    phone: (49) 6136 9948-762
D-55270 Klein-Winternheim / Germany   fax:   (49) 6136 9948-10
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2001-01-10 18:24 Thiago Rondon
  2001-01-11  4:08 ` your mail David Hinds
  0 siblings, 1 reply; 348+ messages in thread
From: Thiago Rondon @ 2001-01-10 18:24 UTC (permalink / raw)
  To: dahinds; +Cc: Linux Kernel, Alan Cox


Check kmalloc().

-Thiago Rondon

--- linux-2.4.0-ac5/drivers/pcmcia/ds.c	Sat Sep  2 04:13:49 2000
+++ linux-2.4.0-ac5.maluco/drivers/pcmcia/ds.c	Wed Jan 10 16:20:53 2001
@@ -414,6 +414,8 @@
     /* Add binding to list for this socket */
     driver->use_count++;
     b = kmalloc(sizeof(socket_bind_t), GFP_KERNEL);
+    if (!b) 
+      return -ENOMEM;    
     b->driver = driver;
     b->function = bind_info->function;
     b->instance = NULL;


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

^ permalink raw reply	[flat|nested] 348+ messages in thread
* (no subject)
@ 2000-12-11 14:01 Heiko.Carstens
  2000-12-11 15:14 ` your mail Alan Cox
  0 siblings, 1 reply; 348+ messages in thread
From: Heiko.Carstens @ 2000-12-11 14:01 UTC (permalink / raw)
  To: linux-kernel





Recently I had some thoughts on how to realise CPU attachment and
detachment in a running Linux system (based on the 2.4 kernel).

CPU attachment and detachment would make sense on an S/390 when there
are several Linuxes running, each in its own logical partition. This
way a CPU could be taken from one partition and be given to another
partition (e.g. dependent on the current workload) on the fly without
the need to reboot anything.

Now the question is: how can this goal be achieved?

Attachment of a new CPU:

The idea is to synchronize all CPUs and then start the new CPU with a
sigp. To synchronize n CPUs one can create n kernel threads and give
them a high priority to make sure they will be executed soon (e.g. by
setting p->policy to SCHED_RR and p->rt_priority to a very high
value). As soon as all CPUs are in synchronized state (with
interrupts disabled) the new CPU can be started. But before this can
be done there are some other things left to do:
First of all a new cpu_idle task needs to be created for the new CPU.
Unfortunately there are several other parts in the kernel that need
to be updated when a new CPU will be attached to the running system.
For example the slabcache has a per-CPU cache for each of its caches.
This implies that with the arrival of a new CPU for each of these
caches a new per-CPU cache needs to be allocated. This is of course
only one issue in the common part of the kernel that needs to be
addressed.
Considering this maybe it would be a good idea that each part of the
kernel that has per-CPU data structures that need an update should
register a function which will be called before a new CPU will be
attached to the system.
Then the attachment of a new CPU should work the following way:
- synchronize all CPUs via kernel threads
- create a new idle task
- update all parts of the kernel that have per-CPU dependencies with
 the prior registered functions
- and finally start the new CPU (out of one of the kernel threads).


Detachment of a CPU:

Detaching a CPU should work nearly the same way:
- synchronize all CPUs via kernel threads
- stop the selected CPU (out of a kernel thread)
- update all parts of the kernel that have per-CPU dependencies with
 registered functions
- and finally remove the cpu_idle task of the released CPU (and the
 kernel thread which ran on the released CPU until the CPU was
 stopped).

Detaching a CPU is a bit more difficult than attaching a CPU because
one has to think for example of pending tasklets on the to be stopped
CPU. But these could simply be moved to another CPU.

The general question is: what do all of you think of the idea of an
interface where the parts of the kernel that have per-CPU
dependencies should register two functions (one for attaching a CPU
and one for detaching)?

Any comments on this would be appreciated..

Best regards,
Heiko


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

^ permalink raw reply	[flat|nested] 348+ messages in thread

end of thread, other threads:[~2023-10-16 13:24 UTC | newest]

Thread overview: 348+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-08-15 12:19 Dave Airlie
2004-08-15 12:34 ` your mail Christoph Hellwig
2004-08-15 23:40   ` Dave Airlie
2004-08-16  9:17     ` Christoph Hellwig
2004-08-16  9:30       ` Dave Airlie
2004-08-16  9:50         ` Christoph Hellwig
2004-08-16 10:29           ` Dave Airlie
2004-08-16 10:38             ` Christoph Hellwig
2004-08-16 11:02               ` Dave Airlie
2004-08-16 11:08                 ` Christoph Hellwig
2004-08-16 11:12                   ` Alan Cox
2004-08-16 11:47                   ` Dave Airlie
2004-08-16 11:12           ` Alan Cox
2004-08-16 12:20             ` Christoph Hellwig
2004-08-16 12:24               ` Dave Airlie
2004-08-16 12:37                 ` Christoph Hellwig
2004-08-16 23:33                   ` Dave Airlie
  -- strict thread matches above, loose matches on Subject: below --
2023-10-16 12:31 Gilbert Adikankwu
2023-10-16 12:34 ` your mail Julia Lawall
2023-10-16 12:42   ` Gilbert Adikankwu
2023-10-16 13:23     ` Julia Lawall
2023-05-10 19:01 [PATCH] maple_tree: Fix a few documentation issues, Thomas Gleixner
2023-05-15 19:27 ` your mail Liam R. Howlett
2023-05-15 21:16   ` Thomas Gleixner
2023-05-16 22:47   ` Thomas Gleixner
2023-05-23 13:46     ` Liam R. Howlett
     [not found] <CAP7CzPfLu6mm6f2fon-zez3PW6rDACEH6ihF2aG+1Dc7Zc2WuQ@mail.gmail.com>
2021-09-13  6:06 ` Willy Tarreau
2021-08-21  8:59 Kari Argillander
2021-08-22 13:13 ` your mail CGEL
2021-08-16  2:46 Kari Argillander
2021-08-16 12:27 ` your mail Christoph Hellwig
2021-04-07  1:27 [PATCH] drivers/gpu/drm/ttm/ttm_page_allo.c: adjust ttm pages refcount fix the bug: Feb 6 17:13:13 aaa-PC kernel: [ 466.271034] BUG: Bad page state in process blur_image pfn:7aee2 Feb 6 17:13:13 aaa-PC kernel: [ 466.271037] page:980000025fca4170 count:0 mapcount:0 mapping:980000025a0dca60 index:0x0 Feb 6 17:13:13 aaa-PC kernel: [ 466.271039] flags: 0x1e01fff000000() Feb 6 17:13:13 aaa-PC kernel: [ 466.271042] raw: 0001e01fff000000 0000000000000100 0000000000000200 980000025a0dca60 Feb 6 17:13:13 aaa-PC kernel: [ 466.271044] raw: 0000000000000000 0000000000000000 00000000ffffffff Feb 6 17:13:13 aaa-PC kernel: [ 466.271046] page dumped because: non-NULL mapping Feb 6 17:13:13 aaa-PC kernel: [ 466.271047] Modules linked in: bnep fuse bluetooth ecdh_generic sha256_generic cfg80211 rfkill vfat fat serio_raw uio_pdrv_genirq binfmt_misc ip_tables amdgpu chash radeon r8168 loongson gpu_sched Feb 6 17:13:13 aaa-PC kernel: [ 466.271059] CPU: 3 PID: 9554 Comm: blur_image Tainted: G B 4.19.0-loongson-3-desktop #3036 Feb 6 17:13:13 aaa-PC kernel: [ 466.271061] Hardware name: Haier Kunlun-LS3A4000-LS7A-desktop/Kunlun-LS3A4000-LS7A-desktop, BIOS Kunlun-V4.0.12V4.0 LS3A4000 03/19/2020 Feb 6 17:13:13 aaa-PC kernel: [ 466.271063] Stack : 000000000000007b 000000007400cce0 0000000000000000 0000000000000007 Feb 6 17:13:13 aaa-PC kernel: [ 466.271067] 0000000000000000 0000000000000000 0000000000002a82 ffffffff8202c910 Feb 6 17:13:13 aaa-PC kernel: [ 466.271070] 0000000000000000 0000000000002a82 0000000000000000 ffffffff81e20000 Feb 6 17:13:13 aaa-PC kernel: [ 466.271074] 0000000000000000 ffffffff8021301c ffffffff82040000 6e754b20534f4942 Feb 6 17:13:13 aaa-PC kernel: [ 466.271078] ffff000000000000 0000000000000000 000000007400cce0 0000000000000000 Feb 6 17:13:13 aaa-PC kernel: [ 466.271082] 9800000007155d40 ffffffff81cc5470 0000000000000005 6db6db6db6db0000 Feb 6 17:13:13 aaa-PC kernel: [ 466.271086] 0000000000000003 fffffffffffffffb 0000000000006000 98000002559f4000 Feb 6 17:13:13 aaa-PC kernel: [ 466.271090] 980000024a448000 980000024a44b7f0 9800000007155d50 ffffffff819f5158 Feb 6 17:13:13 aaa-PC kernel: [ 466.271094] 0000000000000000 0000000000000000 0000000000000000 0000000000000000 Feb 6 17:13:13 aaa-PC kernel: [ 466.271097] 9800000007155d40 ffffffff802310c4 ffffffff81e70000 ffffffff819f5158 Feb 6 17:13:13 aaa-PC kernel: [ 466.271101] ... Feb 6 17:13:13 aaa-PC kernel: [ 466.271103] Call Trace: Feb 6 17:13:13 aaa-PC kernel: [ 466.271107] [<ffffffff802310c4>] show_stack+0x44/0x1c0 Feb 6 17:13:13 aaa-PC kernel: [ 466.271110] [<ffffffff819f5158>] dump_stack+0x1d8/0x240 Feb 6 17:13:13 aaa-PC kernel: [ 466.271113] [<ffffffff80491c10>] bad_page+0x210/0x2c0 Feb 6 17:13:13 aaa-PC kernel: [ 466.271116] [<ffffffff804931c8>] free_pcppages_bulk+0x708/0x900 Feb 6 17:13:13 aaa-PC kernel: [ 46 6.271119] [<ffffffff804980cc>] free_unref_page_list+0x1cc/0x2c0 Feb 6 17:13:13 aaa-PC kernel: [ 466.271122] [<ffffffff804ad2c8>] release_pages+0x648/0x900 Feb 6 17:13:13 aaa-PC kernel: [ 466.271125] [<ffffffff804f3b48>] tlb_flush_mmu_free+0x88/0x100 Feb 6 17:13:13 aaa-PC kernel: [ 466.271128] [<ffffffff804f8a24>] zap_pte_range+0xa24/0x1480 Feb 6 17:13:13 aaa-PC kernel: [ 466.271132] [<ffffffff804f98b0>] unmap_page_range+0x1f0/0x500 Feb 6 17:13:13 aaa-PC kernel: [ 466.271135] [<ffffffff804fa054>] unmap_vmas+0x154/0x200 Feb 6 17:13:13 aaa-PC kernel: [ 466.271138] [<ffffffff8051190c>] exit_mmap+0x20c/0x380 Feb 6 17:13:13 aaa-PC kernel: [ 466.271142] [<ffffffff802bb9c8>] mmput+0x148/0x300 Feb 6 17:13:13 aaa-PC kernel: [ 466.271145] [<ffffffff802c80d8>] do_exit+0x6d8/0x1900 Feb 6 17:13:13 aaa-PC kernel: [ 466.271148] [<ffffffff802cb288>] do_group_exit+0x88/0x1c0 Feb 6 17:13:13 aaa-PC kernel: [ 466.271151] [<ffffffff802cb3d8>] sys_exit_group+0x18/0x40 Feb 6 17 :13:13 aaa-PC kernel: [ 466.271155] [<ffffffff8023f954>] syscall_common+0x34/0xa4 songqiang
2021-04-07  8:25 ` your mail Huang Rui
2021-04-07  9:25   ` Christian König
2021-04-01 21:16 Bhaumik Bhatt
2021-04-07  6:56 ` your mail Manivannan Sadhasivam
     [not found] <20210322213644.333112726@goodmis.org>
2021-03-22 21:40 ` Steven Rostedt
     [not found] <20210322212156.440428241@goodmis.org>
2021-03-22 21:36 ` Steven Rostedt
2020-12-02  1:10 [PATCH] lib/find_bit: Add find_prev_*_bit functions Yun Levi
2020-12-02  9:47 ` Andy Shevchenko
2020-12-02 10:04   ` Rasmus Villemoes
2020-12-02 11:50     ` Yun Levi
     [not found]       ` <CAAH8bW-jUeFVU-0OrJzK-MuGgKJgZv38RZugEQzFRJHSXFRRDA@mail.gmail.com>
2020-12-02 17:37         ` Andy Shevchenko
2020-12-02 18:27           ` Yun Levi
2020-12-02 18:51             ` your mail Andy Shevchenko
2020-12-02 18:56               ` Andy Shevchenko
2020-08-05 11:02 [PATCH v4] arm64: dts: qcom: Add support for Xiaomi Poco F1 (Beryllium) Amit Pundir
2020-08-06 22:31 ` Konrad Dybcio
2020-08-13  7:04   ` your mail Bjorn Andersson
2020-08-17 17:12     ` Amit Pundir
2020-08-30 18:58       ` Bjorn Andersson
2020-06-09 11:38 Gaurav Singh
2020-06-09 11:54 ` your mail Greg KH
2020-05-06  5:52 Jiaxun Yang
2020-05-07 11:00 ` your mail Thomas Bogendoerfer
     [not found] <20191026192359.27687-1-frank-w@public-files.de>
2019-10-26 19:30 ` Greg Kroah-Hartman
     [not found] <20190626145238.19708-1-bigeasy@linutronix.de>
2019-06-27 21:13 ` Tejun Heo
     [not found] <20190411060536.22409-1-npiggin@gmail.com>
2019-04-11 10:53 ` Peter Zijlstra
2019-04-12  3:23   ` Nicholas Piggin
     [not found] <20190323171738.GA26736@titus.pi.local>
2019-03-26  8:42 ` Dan Carpenter
     [not found] <20190319144116.400-1-mlevitsk@redhat.com>
2019-03-19 15:22 ` Keith Busch
2019-03-19 23:49   ` Chaitanya Kulkarni
2019-03-20 16:44     ` Maxim Levitsky
2019-03-20 16:30   ` Maxim Levitsky
2019-03-20 17:03     ` Keith Busch
2019-03-20 17:33       ` Maxim Levitsky
2019-04-08 10:04   ` Maxim Levitsky
2019-03-21 16:13 ` Stefan Hajnoczi
2019-03-21 17:07   ` Maxim Levitsky
2019-03-25 16:46     ` Stefan Hajnoczi
     [not found] <20190319022012.11051-1-thirtythreeforty@gmail.com>
2019-03-20  7:26 ` Greg Kroah-Hartman
     [not found] <20190225201635.4648-1-hannes@cmpxchg.org>
2019-02-26 23:49 ` Roman Gushchin
     [not found] <20180827145032.9522-1-hch@lst.de>
2018-08-31 20:23 ` Paul Burton
     [not found] <20180724222212.8742-1-tsotsos@gmail.com>
2018-07-25  7:39 ` Greg Kroah-Hartman
     [not found] <2018071901551081442221@163.com>
2018-07-18 20:04 ` Johan Hovold
     [not found] <201807160555.w6G5t9Dc075492@mse.aten.com.tw>
2018-07-16 10:03 ` Johan Hovold
2018-06-13 17:00 [PATCH v2] staging: rts5208: add check on NULL before dereference Andy Shevchenko
     [not found] ` <20180613173128.32384-1-vasilyev@ispras.ru>
2018-06-19  7:42   ` your mail Dan Carpenter
2017-12-07  9:26 Alexander Kappner
2017-12-07 10:38 ` your mail Greg Kroah-Hartman
2017-08-18 17:42 Rajneesh Bhardwaj
2017-08-18 17:53 ` your mail Rajneesh Bhardwaj
2017-06-04 11:59 Yury Norov
2017-06-14 20:16 ` your mail Yury Norov
2017-04-10 11:03 [PATCH -v2 0/9] mm: make movable onlining suck less Michal Hocko
2017-04-15 12:17 ` Michal Hocko
2017-04-17  5:47   ` your mail Joonsoo Kim
2017-04-17  8:15     ` Michal Hocko
2017-04-20  1:27       ` Joonsoo Kim
2017-04-20  7:28         ` Michal Hocko
2017-04-20  8:49           ` Michal Hocko
2017-04-20 11:56             ` Vlastimil Babka
2017-04-20 12:13               ` Michal Hocko
2017-04-21  4:38           ` Joonsoo Kim
2017-04-21  7:16             ` Michal Hocko
2017-04-24  1:44               ` Joonsoo Kim
2017-04-24  7:53                 ` Michal Hocko
2017-04-25  2:50                   ` Joonsoo Kim
2017-04-26  9:19                     ` Michal Hocko
2017-04-27  2:08                       ` Joonsoo Kim
2017-04-27 15:10                         ` Michal Hocko
2016-11-15 20:29 Christoph Lameter
2016-11-16 10:40 ` your mail Peter Zijlstra
2016-11-16 14:25   ` Steven Rostedt
2016-11-16 14:28     ` Peter Zijlstra
2016-09-20 22:21 Andrew Banman
2016-09-20 22:23 ` your mail andrew banman
2015-08-03  6:18 Shraddha Barke
2015-08-03  7:12 ` your mail Sudip Mukherjee
2015-08-03  7:24 ` Dan Carpenter
     [not found] <20150121201024.GA4548@obsidianresearch.com>
     [not found] ` <alpine.DEB.2.02.1501211520150.13480@linuxheads99>
2015-01-21 23:57   ` Jason Gunthorpe
2015-01-22 20:50     ` One Thousand Gnomes
2015-01-28 22:09     ` atull
2014-10-15  8:10 Christoph Lameter
2014-10-27 15:07 ` your mail Tejun Heo
2014-09-01 15:47 sunwxg
2014-09-01 17:01 ` your mail Dan Carpenter
     [not found] <1409556896-21523-2-git-send-email-xiaoguang_wang5188@qq.com>
2014-09-01  8:04 ` Dan Carpenter
2014-07-09  1:03 James Ban
2014-07-09  7:56 ` your mail Mark Brown
     [not found] <CAM0G4ztXWM5kw6dV4WRrTVJBMmeJDXuRnbeRBE603hM+7c=PCg@mail.gmail.com>
2014-02-25 15:01 ` Will Deacon
     [not found] <CAM0G4zvu1BHcOrSgBuobvb-+fVsNWXjXdzZdV51T70B9_ZC4XQ@mail.gmail.com>
2014-02-24 17:28 ` Will Deacon
2014-02-25 11:28   ` Varun Sethi
2014-01-23  9:06 Prabhakar Lad
2014-01-23 19:55 ` your mail Mark Brown
     [not found] <1388425244-10017-1-git-send-email-jdb@sitrep3.com>
2014-01-09 18:39 ` Greg KH
2014-01-09 18:49   ` Joe Borġ
2014-01-14 16:40     ` Steven Rostedt
     [not found] <CACaajQtCTW_PKA25q3-4o4XAV6sgZnyD+Skkw6mhUHpRBEgbjQ@mail.gmail.com>
2012-11-26 18:29 ` Greg KH
2012-10-10 15:06 Kent Yoder
2012-10-10 15:12 ` your mail Kent Yoder
2012-10-04 16:50 Andrea Arcangeli
2012-10-04 18:17 ` your mail Christoph Lameter
2012-08-03 17:43 Tejun Heo
2012-08-08 16:39 ` your mail Tejun Heo
2012-02-21 15:39 Yang Honggang
2012-02-21 11:34 ` your mail Hans J. Koch
2012-02-12  0:21 Richard Weinberger
2012-02-12  0:25 ` your mail Jesper Juhl
2012-02-12  1:02 ` Al Viro
2012-02-12 12:40   ` Jiri Slaby
2012-02-12 19:06     ` Al Viro
2012-02-13  9:40       ` Jiri Slaby
2012-02-12 19:11 ` Al Viro
2012-02-13  9:15   ` Jiri Slaby
     [not found] <20120110061735.9BD676BA98@mailhub.coreip.homeip.net>
2012-01-10  7:45 ` Dmitry Torokhov
2011-09-21 21:54 jim.cromie
2011-09-26 23:23 ` your mail Greg KH
2011-05-17 23:33 [PATCH] module: Use binary search in lookup_symbol() Tim Bird
2011-05-18 18:55 ` Alessio Igor Bogani
2011-05-18 19:22   ` your mail Greg KH
2011-05-18 20:35     ` Alessio Igor Bogani
2011-05-16  9:34 Keshava Munegowda
2011-05-16  9:44 ` your mail Felipe Balbi
2011-05-16 10:07   ` Munegowda, Keshava
2011-01-14  1:14 Omar Ramirez Luna
2011-01-14  4:36 ` your mail Greg KH
2011-01-03 16:38 castet.matthieu
2011-01-03 17:03 ` your mail Stanislaw Gruszka
2011-01-04  5:17   ` Tejun Heo
2010-06-13  6:16 Mike Gilks
2010-06-18 23:52 ` your mail Greg KH
2010-04-14 12:54 Alan Cox
2010-04-14 23:16 ` your mail Dmitry Torokhov
2010-04-15 23:41   ` Rafi Rubin
2010-04-16  4:21     ` Dmitry Torokhov
     [not found] <20100113004939.289333186@suse.com>
2010-01-13 14:57 ` scameron
2009-05-06 23:53 [RFC PATCH 3/3a] ptrace: add _ptrace_may_access() Oleg Nesterov
2009-05-07  0:21 ` Roland McGrath
2009-05-07  6:36   ` Oleg Nesterov
2009-05-07  8:20     ` Ingo Molnar
2009-05-07  8:31       ` Oleg Nesterov
2009-05-07  8:38         ` Ingo Molnar
2009-05-07  8:57           ` Chris Wright
2009-05-07  9:04             ` Ingo Molnar
2009-05-07  9:20               ` Chris Wright
2009-05-07  9:54                 ` James Morris
2009-05-07 10:20                   ` your mail Ingo Molnar
2009-05-08  3:27                     ` Casey Schaufler
2009-03-27 23:26 Eric Anholt
2009-03-28  0:02 ` your mail Linus Torvalds
     [not found] <8F90F944E50427428C60E12A34A309D21C401BA619@carmd-exchmb01.sierrawireless.local>
2009-03-13 16:54 ` Ralf Nyren
2009-03-11 10:47 Vitaly Mayatskikh
2009-03-11 14:59 ` your mail Linus Torvalds
2009-03-11 17:23   ` Vitaly Mayatskikh
2009-02-13  0:45 Youngwhan Kim
2009-02-13  3:40 ` your mail Johannes Weiner
2009-01-19  2:54 Gao, Yunpeng
2009-01-19  3:07 ` your mail Matthew Wilcox
2009-01-13  6:10 Steven Rostedt
2009-01-13 13:21 ` your mail Steven Rostedt
2009-01-11  3:41 Jose Luis Marchetti
2009-01-11  6:47 ` your mail Jesper Juhl
2008-05-24 20:05 Thomas Gleixner
2008-05-24 21:06 ` Daniel Walker
2008-05-20 12:34 Lukas Hejtmanek
2008-05-20 15:20 ` your mail Alan Stern
2007-10-17 18:28 nicholas.thompson1
2007-10-17 16:30 nicholas.thompson1
2007-10-17 16:36 ` your mail Jan Engelhardt
2007-10-17 17:50   ` Matti Aarnio
2007-09-24 20:44 Steven Rostedt
2007-09-24 20:50 ` your mail Steven Rostedt
2007-08-15 13:53 [PATCH 0/24] make atomic_read() behave consistently across all architectures Stefan Richter
2007-08-15 14:35 ` Satyam Sharma
2007-08-15 14:52   ` Herbert Xu
2007-08-15 16:09     ` Stefan Richter
2007-08-15 16:27       ` Paul E. McKenney
2007-08-15 18:31         ` Segher Boessenkool
2007-08-15 18:57           ` Paul E. McKenney
2007-08-15 19:54             ` Satyam Sharma
2007-08-15 20:47               ` Segher Boessenkool
2007-08-16  0:36                 ` Satyam Sharma
2007-08-16  0:32                   ` your mail Herbert Xu
2007-05-16 13:30 Bob Picco
2007-05-16 16:43 ` your mail Linas Vepstas
2007-05-16 17:11   ` Olof Johansson
2007-05-16 17:24     ` Bob Picco
2007-03-29 21:39 Gerard Braad Jr.
2007-03-29 21:42 ` your mail Jan Engelhardt
2007-03-29 21:46   ` David Miller
2007-03-29 21:48   ` Gerard Braad
2007-02-05 15:41 logic
2007-02-05 12:36 ` your mail Joerg Roedel
2007-02-05 14:01   ` Pekka Enberg
2007-02-06  9:41     ` Joerg Roedel
2005-11-25 22:06 root
2005-11-26  0:11 ` your mail Hugh Dickins
2005-06-16 23:08 trmcneal
2005-06-16 23:32 ` your mail Chris Wedgwood
2005-06-17  1:46   ` Tom McNeal
2005-02-03  0:17 Aleksey Gorelov
2005-02-03  1:12 ` your mail Matthew Dharm
2005-02-03 16:03 ` Alan Stern
2004-09-19 12:29 plt
2004-09-19 18:22 ` your mail Jesper Juhl
2004-08-16 15:42 Jon Smirl
2004-08-16 23:55 ` Dave Airlie
2004-05-24 23:15 Laughlin, Joseph V
2004-05-24 23:04 Laughlin, Joseph V
2004-05-24 23:13 ` Bernd Petrovitsch
2004-05-24 23:21 ` Chris Wright
2004-05-24 22:20 Laughlin, Joseph V
2004-05-24 22:30 ` your mail Herbert Poetzl
2004-05-24 22:34   ` Marc-Christian Petersen
2004-05-24 22:33 ` Chris Wright
2004-04-29  3:03 whitehorse
2004-04-29  3:21 ` your mail Jon
     [not found] <200404121623.42558.vda@port.imtp.ilyichevsk.odessa.ua>
2004-04-13 13:46 ` James Morris
2004-04-09 17:54 Martin Knoblauch
2004-04-09 18:12 ` your mail Joel Jaeggli
2004-03-15 22:49 Kevin Leung
2004-03-15 23:26 ` your mail Richard B. Johnson
2004-02-24 13:58 Jim Deas
2004-02-24 14:44 ` your mail Richard B. Johnson
2004-02-19 13:52 Joilnen Leite
2004-02-19 14:12 ` your mail Richard B. Johnson
2004-02-13 19:23 Bloch, Jack
2004-02-13 19:14 Bloch, Jack
2004-02-13 16:45 Bloch, Jack
2004-02-13 18:11 ` your mail Maciej Zenczykowski
2004-02-10 23:36 Bloch, Jack
2004-02-11  1:09 ` your mail Maciej Zenczykowski
2003-12-26 20:20 caszonyi
2003-12-26 22:27 ` your mail Linus Torvalds
2004-01-05 10:59   ` Gerd Knorr
2003-12-23 14:16 dublinux
2003-12-23 14:54 ` your mail Matti Aarnio
2003-12-23 17:36   ` Norberto Bensa
     [not found] <20031210120336.GU8039@holomorphy.com>
2003-12-10 13:17 ` Stephan von Krawczynski
2003-12-03 16:19 Bloch, Jack
2003-12-03 15:08 Bloch, Jack
2003-12-03 15:43 ` your mail Richard B. Johnson
2003-12-03 16:03 ` Linus Torvalds
2003-09-30  8:17 John Bradford
2003-09-30 13:31 ` your mail Dave Jones
2003-09-30 14:06   ` Jamie Lokier
2003-09-30 14:50     ` Dave Jones
2003-09-30 15:30       ` Jamie Lokier
2003-09-30 16:34       ` Adrian Bunk
2003-09-30 14:10   ` John Bradford
2003-09-30 14:58     ` Jamie Lokier
2003-09-30 15:11       ` Dave Jones
2003-08-28  2:25 warudkar
2003-08-27 16:02 ` your mail William Lee Irwin III
2003-08-25 16:45 Marcelo Tosatti
2003-08-25 16:59 ` Herbert Pötzl
2003-08-25 13:53 Marcelo Tosatti
2003-08-25 14:30 ` your mail Herbert Pötzl
2003-08-18  6:21 "Andrey Borzenkov" 
2003-08-18 20:42 ` your mail Greg KH
2003-08-14 21:57 kartikey bhatt
2003-08-15  3:31 ` your mail James Morris
     [not found] <200308031136.17768.lx@lxhp.in-berlin.de>
2003-08-03 18:30 ` Linus Torvalds
2003-05-14 18:41 dirf
2003-05-16 10:00 ` your mail Maciej Soltysiak
     [not found] <053C05D4.4D025D2E.0005F166@netscape.net>
2003-05-08  9:06 ` Gerd Knorr
2003-04-30 21:39 Mauricio Oliveira Carneiro
2003-05-01  0:05 ` your mail Greg KH
2003-04-25 17:35 Bloch, Jack
2003-04-25 19:43 ` your mail Francois Romieu
2003-04-05  0:38 Ed Vance
2003-04-05  4:51 ` Keith Owens
2003-04-04 22:10 Ed Vance
2003-04-04 23:19 ` William Scott Lockwood III
2003-04-04 23:21 ` Keith Owens
2003-04-03 16:22 Richard B. Johnson
2003-04-03 19:22 ` David S. Miller
2003-04-03 20:02   ` your mail Richard B. Johnson
2003-04-03 19:24     ` Alan Cox
2003-04-03 20:00     ` David S. Miller
2003-04-03 20:21       ` Richard B. Johnson
2003-04-03 20:15         ` David S. Miller
2003-04-04  0:31       ` William Scott Lockwood III
2003-04-04  0:40         ` David S. Miller
2003-04-04  0:47           ` William Scott Lockwood III
2003-04-04 12:57         ` Richard B. Johnson
2003-04-04 15:28           ` William Scott Lockwood III
2003-04-04 16:04             ` Richard B. Johnson
2003-04-04 16:04             ` Christoph Hellwig
2003-04-04 16:10             ` Jens Axboe
2003-04-04 20:37             ` Matti Aarnio
2003-04-03 20:40     ` Trever L. Adams
2003-01-31 18:46 saurabh  khanna
2003-02-03 12:53 ` your mail Alexander Kellett
2003-01-24  5:54 Anoop J.
2003-01-24  6:28 ` your mail David Lang
2003-01-24  8:51   ` Anoop J.
2003-01-24  8:48     ` David Lang
2003-01-24  9:49       ` Anoop J.
2003-01-24 19:14         ` David Lang
2003-01-24 19:40           ` Maciej W. Rozycki
2003-01-24  5:08 Anoop J.
2003-01-24  5:11 ` your mail David Lang
2003-01-24  6:06   ` John Alvord
2003-01-25  2:29     ` Jason Papadopoulos
2003-01-25  2:26       ` Larry McVoy
2003-01-25 17:47         ` Eric W. Biederman
2003-01-25 23:10           ` Larry McVoy
2003-01-26  8:12             ` David S. Miller
2003-01-12 13:28 Philip K.F. Hölzenspies
2003-01-13 16:37 ` your mail Pete Zaitcev
2002-11-11 19:22 David Mosberger
2002-11-12  1:39 ` your mail Rik van Riel
2002-10-31 18:13 Bloch, Jack
2002-10-31 15:39 Bloch, Jack
2002-10-31 18:00 ` your mail Tom Bradley
2002-10-30 12:45 Roberto Fichera
2002-10-30 14:04 ` your mail Richard B. Johnson
2002-10-17  7:41 Rusty Russell
2002-10-17 14:56 ` your mail Kai Germaschewski
2002-10-18  2:47   ` Rusty Russell
2002-10-18 21:50     ` Kai Germaschewski
2002-10-14  6:28 Maros RAJNOCH /HiaeR Silvanna/
2002-10-14 12:28 ` your mail Dave Jones
2002-10-02 19:58 Mark Peloquin
2002-10-02 20:19 ` your mail jbradford
2002-10-02 12:41 s.stoklossa
2002-10-02 12:51 ` your mail Sam Ravnborg
2002-09-21  5:32 Greg KH
2002-09-23 18:35 ` your mail Patrick Mochel
2002-09-14 12:39 Paolo Ciarrocchi
2002-09-14 17:05 ` your mail Rik van Riel
     [not found] <200208312335.g7VNZmk37659@sullivan.realtime.net>
2002-09-01  9:53 ` Krzysiek Taraszka
2002-08-30 18:43 Bloch, Jack
2002-08-30 18:55 ` your mail Matthew Dharm
2002-08-30 19:22 ` Andreas Dilger
2002-08-31  0:12 ` David Woodhouse
2002-08-27 18:22 Steffen Persvold
2002-08-27 19:27 ` your mail Willy Tarreau
2002-08-23 14:45 Mike Dresser
2002-08-23 15:12 ` your mail Bill Unruh
2002-08-23 15:26   ` Mike Dresser
2002-08-23 16:12     ` Bill Unruh
2002-08-23 20:33       ` Mike Dresser
2002-08-25  2:05       ` Mike Dresser
2002-08-19 21:29 Bloch, Jack
2002-08-20  6:47 ` your mail Philipp Matthias Hahn
2002-08-16  7:51 Misha Alex
2002-08-16  9:52 ` your mail Willy Tarreau
2002-07-06 15:59 Hacksaw
2002-07-07 19:32 ` your mail Min Li
2002-07-05  8:47 Christian Berger
2002-07-05 13:34 ` your mail Gerhard Mack
     [not found] <000d01c22361$62c9d6f0$0100a8c0@digital>
2002-07-04 20:45 ` Stephen Tweedie
2002-06-24  5:49 pah
2002-06-24  7:34 ` your mail Zwane Mwaikambo
2002-05-16 12:40 Sanket Rathi
2002-05-16 13:38 ` your mail Alan Cox
2002-05-16 15:54   ` Sanket Rathi
2002-05-16 18:05     ` Alan Cox
2002-05-20 18:07     ` David Mosberger
2002-05-03 14:19 Keith Owens
2002-05-03 14:37 ` your mail tomas szepe
2002-05-03 15:07   ` tomas szepe
2002-05-03 15:29   ` Keith Owens
2002-05-03 15:45     ` tomas szepe
2002-04-24  7:55 Huo Zhigang
2002-04-24  7:51 ` your mail Zwane Mwaikambo
2002-04-24  8:27 ` Alan Cox
2002-04-21 21:16 Ivan G.
2002-04-21 23:02 ` your mail Jeff Garzik
2002-03-13 19:21 Romain Liévin
2002-03-13 19:43 ` your mail Alan Cox
2002-03-13 20:28   ` Romain Liévin
2002-03-13 20:49     ` Richard B. Johnson
2002-03-13 22:27       ` Alan Cox
2002-03-13 22:35     ` Alan Cox
2002-03-14  7:08 ` Zwane Mwaikambo
2002-02-28 13:58 shura
2002-03-01 15:30 ` your mail Jan-Marek Glogowski
2002-02-25  1:41 Rusty Russell
2002-02-25  1:58 ` your mail Alexander Viro
2002-02-25  2:14   ` Rusty Russell
2002-02-25  3:18     ` Davide Libenzi
2002-02-25  4:02     ` Alexander Viro
2002-02-26  5:50       ` Rusty Russell
2002-02-25 13:16 ` Alan Cox
2002-01-30 18:21 Nickolaos Fotopoulos
2002-01-30 18:57 ` your mail Matti Aarnio
2002-01-31  1:50 ` Drew P. Vogel
2002-01-09 17:49 Michael Zhu
2002-01-09 18:17 ` your mail Jens Axboe
2001-12-17 16:07 Sebastian Dröge
2001-12-17 16:22 ` your mail Dave Jones
2001-12-17 16:52 ` Sebastian Dröge
2001-12-17 16:55   ` Arnaldo Carvalho de Melo
2001-12-17 17:23   ` Sebastian Dröge
2001-12-17 17:25     ` Dave Jones
2001-12-17 18:42     ` Sebastian Dröge
2001-12-17 18:43       ` Dave Jones
     [not found] <20011214041151.91557.qmail@web14904.mail.yahoo.com>
2001-12-14 16:46 ` Gérard Roudier
2001-12-14 20:09   ` Jens Axboe
2001-12-14 18:05     ` Gérard Roudier
2001-12-14 22:26       ` Peter Bornemann
2001-12-14 20:16         ` Gérard Roudier
2001-12-15  0:54           ` Peter Bornemann
2001-12-15  6:57             ` Gérard Roudier
2001-12-18  0:34   ` Kirk Alexander
2001-12-14 20:34 ` Jens Axboe
2001-12-15  0:56 ` Stephan von Krawczynski
2001-12-15  6:59   ` Gérard Roudier
2001-12-07  4:17 Keith Owens
2001-12-07  5:10 ` your mail Linus Torvalds
2001-12-27 18:09   ` Andre Hedrick
2001-12-27 18:55     ` Linus Torvalds
2001-12-27 19:41       ` Andrew Morton
2001-12-28 22:14       ` Martin Dalecki
2001-10-15  6:25 Dinesh  Gandhewar
2001-10-15  6:31 ` your mail Tim Hockin
2001-10-02 15:29 Dinesh  Gandhewar
2001-10-02 15:30 ` your mail Alan Cox
2001-10-02 15:49 ` Richard B. Johnson
2001-10-02 15:52 ` Michael H. Warfield
2001-07-24  0:38 新 月
2001-07-24 12:47 ` your mail Richard B. Johnson
2001-06-13  1:55 Colonel
2001-06-13  9:32 ` your mail Luigi Genoni
2001-06-18 13:55 ` Jan Hudec
2001-05-31 16:53 Ramil.Santamaria
2001-05-31 20:37 ` your mail Andrzej Krzysztofowicz
2001-05-31 23:04   ` H. Peter Anvin
2001-05-21 19:43 Thomas Palm
2001-05-21 20:12 ` your mail Lorenzo Marcantonio
2001-05-22 10:06   ` Thomas Palm
2001-05-16 15:05 siva prasad
2001-05-17  0:11 ` your mail Erik Mouw
2001-05-08 19:48 Richard B. Johnson
2001-05-08 20:06 ` your mail Jens Axboe
2001-05-08 20:15   ` Richard B. Johnson
2001-05-08 20:16     ` Jens Axboe
2001-05-09 13:59       ` Richard B. Johnson
2001-05-08 20:46 ` Alan Cox
2001-05-08 21:05   ` Richard B. Johnson
2001-05-07 11:38 Chandrashekar Nagaraj
2001-05-07 12:09 ` your mail Erik Mouw
2001-05-02 22:34 Duc Vianney
2001-05-03  0:10 ` your mail Linus Torvalds
2001-04-26 19:37 Alexandru Barloiu Nicolae
2001-04-26 19:51 ` your mail Erik Mouw
2001-04-26 19:54 ` Mohammad A. Haque
2001-04-26 19:59 ` Joel Jaeggli
2001-04-02 19:20 Jakob Kemi
2001-04-09 13:23 ` your mail Tim Waugh
2001-03-24  0:04 dhar
2001-03-24  1:09 ` your mail Tim Wright
2001-03-11 17:06 Martin Bruchanov
2001-03-12  5:03 ` your mail Greg KH
2001-03-14 17:46   ` Robert Read
2001-03-06 23:55 Ying Chen
2001-03-07  0:40 ` your mail Don Dugger
2001-01-19 13:37 Robert Kaiser
2001-01-19 14:37 ` your mail Steve Hill
2001-01-10 18:24 Thiago Rondon
2001-01-11  4:08 ` your mail David Hinds
2000-12-11 14:01 Heiko.Carstens
2000-12-11 15:14 ` your mail Alan Cox

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).